|
@@ -143,29 +143,47 @@ public class DistributeController {
|
|
|
* 固定推广者列表
|
|
* 固定推广者列表
|
|
|
*/
|
|
*/
|
|
|
@GetMapping
|
|
@GetMapping
|
|
|
- public Result<SearchResult<UserDistributeViews>> distributeList(HttpServletRequest request) {
|
|
|
|
|
|
|
+ public Result<SearchResult<UserDistributeViews>> distributeList(String nickname, String startTime, String endTime) {
|
|
|
long adminId = StpUtil.getLoginIdAsLong();
|
|
long adminId = StpUtil.getLoginIdAsLong();
|
|
|
MapBuilder builder = MapUtils.flatBuilder(request.getParameterMap());
|
|
MapBuilder builder = MapUtils.flatBuilder(request.getParameterMap());
|
|
|
//是否是商务人员
|
|
//是否是商务人员
|
|
|
if (userBusinessRateService.isBusiness(adminId)) {
|
|
if (userBusinessRateService.isBusiness(adminId)) {
|
|
|
builder.field(UserDistributeViews::getBusinessId, adminId);
|
|
builder.field(UserDistributeViews::getBusinessId, adminId);
|
|
|
}
|
|
}
|
|
|
- SearchResult<UserDistributeViews> search = beanSearcher.search(UserDistributeViews.class, builder.build());
|
|
|
|
|
|
|
+ if (StrUtil.isNotBlank(nickname)) {
|
|
|
|
|
+ List<Long> userIds = userMapper.selectListByNickname(nickname);
|
|
|
|
|
+ builder.field(UserDistributeViews::getUserId, userIds).op(Operator.InList);
|
|
|
|
|
+ }
|
|
|
|
|
+ String timeSql = StrUtil.EMPTY;
|
|
|
|
|
+ if (StrUtil.isNotBlank(startTime)) {
|
|
|
|
|
+ timeSql += String.format("and od.created_time >= '%s'", startTime);
|
|
|
|
|
+ }
|
|
|
|
|
+ if (StrUtil.isNotBlank(endTime)) {
|
|
|
|
|
+ timeSql += String.format("and od.created_time < '%s'", endTime);
|
|
|
|
|
+ }
|
|
|
|
|
+ if (StrUtil.isNotBlank(timeSql)) {
|
|
|
|
|
+ builder.put("time", timeSql);
|
|
|
|
|
+ //按时间筛选 固定推广人分销情况 倒序
|
|
|
|
|
+ builder.orderBy(UserDistributeViews::getDistributeOrdersMoney).desc();
|
|
|
|
|
+ }
|
|
|
|
|
+ SearchResult<UserDistributeViews> search = beanSearcher.search(UserDistributeViews.class,
|
|
|
|
|
+ builder.build());
|
|
|
DistributePointsExchangeMoney pointsMoneyRate = distributePointsExchangeMoneyMapper.selectOne(null);
|
|
DistributePointsExchangeMoney pointsMoneyRate = distributePointsExchangeMoneyMapper.selectOne(null);
|
|
|
- Optional.ofNullable(search.getDataList()).ifPresent(list -> list.forEach(view -> {
|
|
|
|
|
|
|
+ search.getDataList().forEach(view -> {
|
|
|
|
|
+ Optional.ofNullable(cmsUserMapper.selectById(view.getBusinessId())).ifPresent(business -> view.setBusinessName(business.getNickname()));
|
|
|
|
|
+ Optional.ofNullable(userMapper.selectById(view.getUserId())).ifPresent(user -> {
|
|
|
|
|
+ view.setNickname(user.getNickname());
|
|
|
|
|
+ view.setPoints(user.getPoints());
|
|
|
|
|
+ });
|
|
|
BigDecimal num = view.getPoints().divide(BigDecimal.valueOf(pointsMoneyRate.getPoints()), RoundingMode.DOWN);
|
|
BigDecimal num = view.getPoints().divide(BigDecimal.valueOf(pointsMoneyRate.getPoints()), RoundingMode.DOWN);
|
|
|
view.setAvailableMoney(pointsMoneyRate.getMoney().multiply(num));
|
|
view.setAvailableMoney(pointsMoneyRate.getMoney().multiply(num));
|
|
|
List<DistributeMoneyApply> moneyApplies = distributeMoneyApplyMapper.selectList(Wrappers.lambdaQuery(DistributeMoneyApply.class).eq(DistributeMoneyApply::getVerifyStatus, DistributeMoneyApply.Status.success).eq(DistributeMoneyApply::getUserId, view.getUserId()).select(DistributeMoneyApply::getMoney));
|
|
List<DistributeMoneyApply> moneyApplies = distributeMoneyApplyMapper.selectList(Wrappers.lambdaQuery(DistributeMoneyApply.class).eq(DistributeMoneyApply::getVerifyStatus, DistributeMoneyApply.Status.success).eq(DistributeMoneyApply::getUserId, view.getUserId()).select(DistributeMoneyApply::getMoney));
|
|
|
Optional<BigDecimal> money = moneyApplies.stream().map(apply -> apply.getMoney()).reduce(BigDecimal::add);
|
|
Optional<BigDecimal> money = moneyApplies.stream().map(apply -> apply.getMoney()).reduce(BigDecimal::add);
|
|
|
view.setGotMoney(money.isPresent() ? money.get() : BigDecimal.ZERO);
|
|
view.setGotMoney(money.isPresent() ? money.get() : BigDecimal.ZERO);
|
|
|
- Integer orders = userDistributeMapper.count(view.getUserId());
|
|
|
|
|
- view.setOrders(orders);
|
|
|
|
|
- BigDecimal hasPayMoney = userDistributeMapper.getHasPayOrdersBySharedId(view.getUserId(), Constant.noOrderAllStatus);
|
|
|
|
|
- BigDecimal hasPayCount = userDistributeMapper.countHasPayBySharedId(view.getUserId(), Constant.noOrderAllStatus);
|
|
|
|
|
- view.setDistributeOrdersMoney(hasPayMoney);
|
|
|
|
|
- view.setDistributeUserNum(userDistributeMapper.countUserNum(view.getUserId()));
|
|
|
|
|
|
|
+ Integer orders = view.getOrders();
|
|
|
|
|
+ BigDecimal hasPayCount = userDistributeMapper.countHasPayBySharedId(view.getUserId(), Constant.noOrderAllStatus, startTime, endTime);
|
|
|
view.setDistributeConsumerRate(orders == 0 ? BigDecimal.ZERO : hasPayCount.divide(BigDecimal.valueOf(view.getDistributeUserNum()), 2, RoundingMode.HALF_DOWN));
|
|
view.setDistributeConsumerRate(orders == 0 ? BigDecimal.ZERO : hasPayCount.divide(BigDecimal.valueOf(view.getDistributeUserNum()), 2, RoundingMode.HALF_DOWN));
|
|
|
- }));
|
|
|
|
|
|
|
+ });
|
|
|
return GatewayResponse.SUCCESS.newBuilder().toResult(search);
|
|
return GatewayResponse.SUCCESS.newBuilder().toResult(search);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
@@ -191,7 +209,7 @@ public class DistributeController {
|
|
|
* 获取推广者分销订单详情
|
|
* 获取推广者分销订单详情
|
|
|
*/
|
|
*/
|
|
|
@GetMapping("/get/distribute/order/detail")
|
|
@GetMapping("/get/distribute/order/detail")
|
|
|
- public Result<SearchResult<DistributeOrdersDetailView>> getDistributeOrderDetail(HttpServletRequest request) {
|
|
|
|
|
|
|
+ public Result<SearchResult<DistributeOrdersDetailView>> getDistributeOrderDetail() {
|
|
|
SearchResult<DistributeOrdersDetailView> search = beanSearcher.search(DistributeOrdersDetailView.class, MapUtils.flatBuilder(request.getParameterMap()).build());
|
|
SearchResult<DistributeOrdersDetailView> search = beanSearcher.search(DistributeOrdersDetailView.class, MapUtils.flatBuilder(request.getParameterMap()).build());
|
|
|
return GatewayResponse.SUCCESS.newBuilder().toResult(search);
|
|
return GatewayResponse.SUCCESS.newBuilder().toResult(search);
|
|
|
}
|
|
}
|
|
@@ -200,7 +218,7 @@ public class DistributeController {
|
|
|
* 新注册分销人数
|
|
* 新注册分销人数
|
|
|
*/
|
|
*/
|
|
|
@GetMapping("/get/register/distribute/user")
|
|
@GetMapping("/get/register/distribute/user")
|
|
|
- public Result<SearchResult<RegisterDistributeOrdersView>> getRegisterDistributeUserDetail(HttpServletRequest request) {
|
|
|
|
|
|
|
+ public Result<SearchResult<RegisterDistributeOrdersView>> getRegisterDistributeUserDetail() {
|
|
|
SearchResult<RegisterDistributeOrdersView> search = beanSearcher.search(RegisterDistributeOrdersView.class, MapUtils.flatBuilder(request.getParameterMap()).build());
|
|
SearchResult<RegisterDistributeOrdersView> search = beanSearcher.search(RegisterDistributeOrdersView.class, MapUtils.flatBuilder(request.getParameterMap()).build());
|
|
|
search.getDataList().forEach(data -> {
|
|
search.getDataList().forEach(data -> {
|
|
|
List<RegisterDistributeOrdersDetailView> ordersDetailViewList = beanSearcher.searchAll(RegisterDistributeOrdersDetailView.class, MapUtils.builder().field(RegisterDistributeOrdersDetailView::getUserId, data.getUserId()).op(Operator.Equal).build());
|
|
List<RegisterDistributeOrdersDetailView> ordersDetailViewList = beanSearcher.searchAll(RegisterDistributeOrdersDetailView.class, MapUtils.builder().field(RegisterDistributeOrdersDetailView::getUserId, data.getUserId()).op(Operator.Equal).build());
|
|
@@ -220,7 +238,7 @@ public class DistributeController {
|
|
|
* 获取新注册的分销用户订单数据
|
|
* 获取新注册的分销用户订单数据
|
|
|
*/
|
|
*/
|
|
|
@GetMapping("/get/register/distribute/user/order/detail")
|
|
@GetMapping("/get/register/distribute/user/order/detail")
|
|
|
- public Result<SearchResult<RegisterDistributeOrdersDetailView>> getRegisterDistributeOrderDetail(HttpServletRequest request) {
|
|
|
|
|
|
|
+ public Result<SearchResult<RegisterDistributeOrdersDetailView>> getRegisterDistributeOrderDetail() {
|
|
|
SearchResult<RegisterDistributeOrdersDetailView> search = beanSearcher.search(RegisterDistributeOrdersDetailView.class, MapUtils.flatBuilder(request.getParameterMap()).build());
|
|
SearchResult<RegisterDistributeOrdersDetailView> search = beanSearcher.search(RegisterDistributeOrdersDetailView.class, MapUtils.flatBuilder(request.getParameterMap()).build());
|
|
|
search.getDataList().forEach(data -> {
|
|
search.getDataList().forEach(data -> {
|
|
|
User user = userMapper.selectById(data.getUserId());
|
|
User user = userMapper.selectById(data.getUserId());
|
|
@@ -270,7 +288,7 @@ public class DistributeController {
|
|
|
*/
|
|
*/
|
|
|
@GetMapping("/get/applyMoney/list")
|
|
@GetMapping("/get/applyMoney/list")
|
|
|
@SaCheckPermission("distribute:applyView")
|
|
@SaCheckPermission("distribute:applyView")
|
|
|
- public Result<SearchResult<DistributeMoneyApplyView>> applyMoneyList(HttpServletRequest request) {
|
|
|
|
|
|
|
+ public Result<SearchResult<DistributeMoneyApplyView>> applyMoneyList() {
|
|
|
SearchResult<DistributeMoneyApplyView> search = beanSearcher.search(DistributeMoneyApplyView.class, MapUtils.flatBuilder(request.getParameterMap()).build());
|
|
SearchResult<DistributeMoneyApplyView> search = beanSearcher.search(DistributeMoneyApplyView.class, MapUtils.flatBuilder(request.getParameterMap()).build());
|
|
|
return GatewayResponse.SUCCESS.newBuilder().toResult(search);
|
|
return GatewayResponse.SUCCESS.newBuilder().toResult(search);
|
|
|
}
|
|
}
|