From b1e8fbbda55251f4d30ee05c49ffc6271f05c113 Mon Sep 17 00:00:00 2001 From: xuhy <3313886187@qq.com> Date: 星期三, 15 一月 2025 14:32:05 +0800 Subject: [PATCH] 修改 --- ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/AppUserController.java | 70 ++++++++++++++++++++++++++-------- 1 files changed, 53 insertions(+), 17 deletions(-) diff --git a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/AppUserController.java b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/AppUserController.java index e4ba05d..51a5b88 100644 --- a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/AppUserController.java +++ b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/AppUserController.java @@ -23,6 +23,7 @@ import com.ruoyi.common.core.domain.R; import com.ruoyi.common.core.utils.bean.BeanUtils; import com.ruoyi.common.core.web.page.PageInfo; +import com.ruoyi.common.redis.annotation.DistributedLock; import com.ruoyi.common.security.service.TokenService; import com.ruoyi.order.feignClient.OrderClient; import com.ruoyi.order.feignClient.RemoteOrderGoodsClient; @@ -137,6 +138,8 @@ @PostMapping("/editAppUserById") public R<Void> editAppUserById(@RequestBody AppUser appUser) { appUserService.updateById(appUser); + appUserService.update(new LambdaUpdateWrapper<AppUser>().eq(AppUser::getId, appUser.getId()) + .set(AppUser::getLastShopTime, appUser.getLastShopTime())); return R.ok(); } @@ -235,6 +238,14 @@ userCancellationLogService.save(userCancellationLog); user.setStatus(3); appUserService.updateById(user); + + List<AppUser> subUserList = appUserService.list(new LambdaQueryWrapper<AppUser>() + .eq(AppUser::getInviteUserId, userId)); + for (AppUser appUser : subUserList) { + Long inviteUserId = user.getInviteUserId(); + appUser.setInviteUserId(inviteUserId); + } + appUserService.updateBatchById(subUserList); return R.ok(); } @@ -319,13 +330,18 @@ user.setShopName(shop.getName()); } } - Long count1 = appUserService.lambdaQuery().eq(AppUser::getVipId, 1).eq(AppUser::getInviteUserId, userId).or().eq(AppUser::getTopInviteId,userId).count(); - Long count2 = appUserService.lambdaQuery().eq(AppUser::getVipId, 2).eq(AppUser::getInviteUserId, userId).or().eq(AppUser::getTopInviteId,userId).count(); - Long count3 = appUserService.lambdaQuery().eq(AppUser::getVipId, 3).eq(AppUser::getInviteUserId, userId).or().eq(AppUser::getTopInviteId,userId).count(); - Long count4 = appUserService.lambdaQuery().eq(AppUser::getVipId, 4).eq(AppUser::getInviteUserId, userId).or().eq(AppUser::getTopInviteId,userId).count(); - Long count5 = appUserService.lambdaQuery().eq(AppUser::getVipId, 5).eq(AppUser::getInviteUserId, userId).or().eq(AppUser::getTopInviteId,userId).count(); - Long count6 = appUserService.lambdaQuery().eq(AppUser::getVipId, 6).eq(AppUser::getInviteUserId, userId).or().eq(AppUser::getTopInviteId,userId).count(); - Long count7 = appUserService.lambdaQuery().eq(AppUser::getVipId, 7).eq(AppUser::getInviteUserId, userId).or().eq(AppUser::getTopInviteId,userId).count(); + List<AppUser> appUserList = appUserService.list(new LambdaQueryWrapper<AppUser>() + .ne(AppUser::getStatus, 3)); + ArrayList<Long> userIds = new ArrayList<>(); + userIds.add(userId); + getUserAncestorList(userIds, appUserList); +// Long count1 = appUserService.lambdaQuery().ne(AppUser::getStatus,3).eq(AppUser::getVipId, 1).eq(AppUser::getInviteUserId, userId).or().eq(AppUser::getTopInviteId,userId).count(); +// Long count2 = appUserService.lambdaQuery().ne(AppUser::getStatus,3).eq(AppUser::getVipId, 2).eq(AppUser::getInviteUserId, userId).or().eq(AppUser::getTopInviteId,userId).count(); +// Long count3 = appUserService.lambdaQuery().ne(AppUser::getStatus,3).eq(AppUser::getVipId, 3).eq(AppUser::getInviteUserId, userId).or().eq(AppUser::getTopInviteId,userId).count(); +// Long count4 = appUserService.lambdaQuery().ne(AppUser::getStatus,3).eq(AppUser::getVipId, 4).eq(AppUser::getInviteUserId, userId).or().eq(AppUser::getTopInviteId,userId).count(); +// Long count5 = appUserService.lambdaQuery().ne(AppUser::getStatus,3).eq(AppUser::getVipId, 5).eq(AppUser::getInviteUserId, userId).or().eq(AppUser::getTopInviteId,userId).count(); +// Long count6 = appUserService.lambdaQuery().ne(AppUser::getStatus,3).eq(AppUser::getVipId, 6).eq(AppUser::getInviteUserId, userId).or().eq(AppUser::getTopInviteId,userId).count(); +// Long count7 = appUserService.lambdaQuery().ne(AppUser::getStatus,3).eq(AppUser::getVipId, 7).eq(AppUser::getInviteUserId, userId).or().eq(AppUser::getTopInviteId,userId).count(); user.setCount1(count1); user.setCount2(count2); user.setCount3(count3); @@ -341,8 +357,27 @@ user.setIsSign(0); } return R.ok(user); - - + } + private Long count1 = 0L; + private Long count2 = 0L; + private Long count3 = 0L; + private Long count4 = 0L; + private Long count5 = 0L; + private Long count6 = 0L; + private Long count7 = 0L; + public void getUserAncestorList(List<Long> userIds, List<AppUser> list) { + List<AppUser> children = list.stream().filter(u -> userIds.contains(u.getInviteUserId()) || userIds.contains(u.getTopInviteId())).collect(Collectors.toList()); + if(!CollectionUtils.isEmpty(children)){ + count1 = count1 + children.stream().filter(e->e.getVipId() == 1).count(); + count2 = count2 + children.stream().filter(e->e.getVipId() == 2).count(); + count3 = count3 + children.stream().filter(e->e.getVipId() == 3).count(); + count4 = count4 + children.stream().filter(e->e.getVipId() == 4).count(); + count5 = count5 + children.stream().filter(e->e.getVipId() == 5).count(); + count6 = count6 + children.stream().filter(e->e.getVipId() == 6).count(); + count7 = count7 + children.stream().filter(e->e.getVipId() == 7).count(); + List<Long> userIdList = children.stream().map(AppUser::getId).collect(Collectors.toList()); + getUserAncestorList(userIdList, children); + } } @GetMapping("/index/change") @@ -461,8 +496,10 @@ //获取在该本店下单的用户ids Integer objectId = sysUser.getObjectId(); R<List<Order>> listR = remoteOrderGoodsClient.byShopId(objectId); - for (Order datum : listR.getData()) { - userIds.add(datum.getAppUserId()); + if (listR.getData()!=null){ + for (Order datum : listR.getData()) { + userIds.add(datum.getAppUserId()); + } } IPage<AppUser> appuserPage = appUserService.getAppuserPage1(pageCurr, pageSize, appUser, objectId, userIds); return R.ok(appuserPage); @@ -699,14 +736,11 @@ SysUser data = sysUserClient.getSysUser(userid).getData(); Integer shopId = null; Set<Long> userId = null; - Set<Long> userIdT = null; if(data.getRoleType() == 2){ shopId = data.getObjectId(); userId = orderClient.getAppUserByShoppingShop(shopId).getData(); } UserStatistics userStatistics = appUserMapper.getUserStatistics(shopId, userId); - UserStatistics userStatistics1 = appUserMapper.getUserStatistics(shopId, userIdT); - userStatistics.setShopUser(userStatistics1.getShopUser()); return R.ok(userStatistics); } @@ -756,7 +790,7 @@ getDatesBetween(cd.getStartTime(), cd.getEndTime()).forEach(date -> { for (int i = 1; i < 8; i++){ List<BalanceChangeRecord> list = balanceChangeRecordService.list(new LambdaQueryWrapper<BalanceChangeRecord>() - .eq(BalanceChangeRecord::getCreateTime, date) + .between(BalanceChangeRecord::getCreateTime, date, date.plusDays(1)) .eq(BalanceChangeRecord::getChangeType,4) .eq(BalanceChangeRecord::getVipId, i)); BigDecimal reduce = list.stream().map(BalanceChangeRecord::getChangeAmount).reduce(BigDecimal.ZERO, BigDecimal::add); @@ -896,7 +930,8 @@ .limit(daysBetween + 1) .collect(Collectors.toList()); } - + + /** * 上传图片 @@ -941,7 +976,8 @@ */ @PostMapping("/clearBindShop") public R clearBindShop(@RequestParam("shopId") Integer shopId){ - appUserService.update(new LambdaUpdateWrapper<AppUser>().eq(AppUser::getShopId, shopId).set(AppUser::getShopId, null)); + appUserService.update(new LambdaUpdateWrapper<AppUser>().eq(AppUser::getShopId, shopId).set(AppUser::getShopId, null) + .set(AppUser::getUserType,1)); return R.ok(); } } -- Gitblit v1.7.1