|
|
@@ -19,10 +19,7 @@ import com.kym.entity.admin.queryParams.CommonQueryParam;
|
|
|
import com.kym.entity.admin.vo.ActivityVo;
|
|
|
import com.kym.entity.admin.vo.CustomUserVo;
|
|
|
import com.kym.entity.common.PageBean;
|
|
|
-import com.kym.entity.miniapp.Account;
|
|
|
-import com.kym.entity.miniapp.Cars;
|
|
|
-import com.kym.entity.miniapp.User;
|
|
|
-import com.kym.entity.miniapp.UserRechargeRights;
|
|
|
+import com.kym.entity.miniapp.*;
|
|
|
import com.kym.entity.miniapp.queryParams.WxLoginParams;
|
|
|
import com.kym.entity.miniapp.vo.UserVo;
|
|
|
import com.kym.entity.wechat.WxPhoneNum;
|
|
|
@@ -30,10 +27,7 @@ import com.kym.mapper.miniapp.UserMapper;
|
|
|
import com.kym.service.admin.ActivityService;
|
|
|
import com.kym.service.admin.BannerService;
|
|
|
import com.kym.service.admin.RechargeRightsService;
|
|
|
-import com.kym.service.miniapp.AccountService;
|
|
|
-import com.kym.service.miniapp.CarsService;
|
|
|
-import com.kym.service.miniapp.UserRechargeRightsService;
|
|
|
-import com.kym.service.miniapp.UserService;
|
|
|
+import com.kym.service.miniapp.*;
|
|
|
import lombok.SneakyThrows;
|
|
|
import org.slf4j.Logger;
|
|
|
import org.slf4j.LoggerFactory;
|
|
|
@@ -61,15 +55,19 @@ public class UserServiceImpl extends MPJBaseServiceImpl<UserMapper, User> implem
|
|
|
private static final Logger LOGGER = LoggerFactory.getLogger(UserServiceImpl.class);
|
|
|
private final WxConfig wxConfig;
|
|
|
private final AccountService accountService;
|
|
|
+ private final RefundLogService refundLogService;
|
|
|
private final CarsService carsService;
|
|
|
private final UserRechargeRightsService userRechargeRightsService;
|
|
|
private final RechargeRightsService rechargeRightsService;
|
|
|
private final ActivityService activityService;
|
|
|
private final BannerService bannerService;
|
|
|
|
|
|
- public UserServiceImpl(WxConfig wxConfig, AccountService accountService, CarsService carsService, UserRechargeRightsService userRechargeRightsService, RechargeRightsService rechargeRightsService, ActivityService activityService, BannerService bannerService) {
|
|
|
+ public UserServiceImpl(WxConfig wxConfig, AccountService accountService, RefundLogService refundLogService,
|
|
|
+ CarsService carsService, UserRechargeRightsService userRechargeRightsService,
|
|
|
+ RechargeRightsService rechargeRightsService, ActivityService activityService, BannerService bannerService) {
|
|
|
this.wxConfig = wxConfig;
|
|
|
this.accountService = accountService;
|
|
|
+ this.refundLogService = refundLogService;
|
|
|
this.carsService = carsService;
|
|
|
this.userRechargeRightsService = userRechargeRightsService;
|
|
|
|
|
|
@@ -252,7 +250,23 @@ public class UserServiceImpl extends MPJBaseServiceImpl<UserMapper, User> implem
|
|
|
}
|
|
|
PageHelper.startPage(params.getPageNum(), params.getPageSize());
|
|
|
var result = baseMapper.listUser(userId);
|
|
|
- return new PageBean<>(result);
|
|
|
+ var page = new PageBean<>(result);
|
|
|
+ // 用户余额,退款次数,退款金额
|
|
|
+ var account = accountService.lambdaQuery().in(Account::getUserId, result.stream().map(CustomUserVo::getUserId).toList()).list();
|
|
|
+ var user2Balance = account.stream().collect(Collectors.groupingBy(Account::getUserId, Collectors.summingInt(Account::getBalance)));
|
|
|
+ var refund = refundLogService.lambdaQuery().in(RefundLog::getUserId, result.stream().map(CustomUserVo::getUserId).toList()).list();
|
|
|
+ // refund按照用户维度计算退款次数和退款总金额
|
|
|
+ var user2RefundAmount = refund.stream().collect(Collectors.groupingBy(RefundLog::getUserId, Collectors.summingInt(RefundLog::getRefund)));
|
|
|
+ var user2RefundTimes = refund.stream().collect(Collectors.groupingBy(RefundLog::getUserId, Collectors.counting()));
|
|
|
+
|
|
|
+ // 将用户余额,退款次数,退款金额放入result中
|
|
|
+ var res = result.stream().peek(vo-> {
|
|
|
+ vo.setBalance(user2Balance.getOrDefault(vo.getUserId(), 0));
|
|
|
+ vo.setRefundTimes(user2RefundTimes.getOrDefault(vo.getUserId(), 0L));
|
|
|
+ vo.setRefundAmount(user2RefundAmount.getOrDefault(vo.getUserId(), 0));
|
|
|
+ }).toList();
|
|
|
+ page.setList(res);
|
|
|
+ return page;
|
|
|
}
|
|
|
|
|
|
|