xuhy
2025-01-15 9153a858f1ae61fa29bb7a926e7d50359117cd69
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;
@@ -237,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();
    }
@@ -263,15 +272,54 @@
            user.setTopUser(byId);
        }
        //获取绑定下级列表
        List<AppUser> list = appUserService.lambdaQuery().eq(AppUser::getInviteUserId, user.getId()).list();
        List<AppUser> list = appUserService.lambdaQuery()
                .eq(AppUser::getInviteUserId, user.getId())
                .eq(AppUser::getDelFlag, 0)
                .ne(AppUser::getStatus, 3)
                .list();
        for (AppUser appUser : list) {
            Long count1 = appUserService.lambdaQuery().eq(AppUser::getVipId, 1).eq(AppUser::getInviteUserId, appUser.getId()).count();
            Long count2 = appUserService.lambdaQuery().eq(AppUser::getVipId, 2).eq(AppUser::getInviteUserId, appUser.getId()).count();
            Long count3 = appUserService.lambdaQuery().eq(AppUser::getVipId, 3).eq(AppUser::getInviteUserId, appUser.getId()).count();
            Long count4 = appUserService.lambdaQuery().eq(AppUser::getVipId, 4).eq(AppUser::getInviteUserId, appUser.getId()).count();
            Long count5 = appUserService.lambdaQuery().eq(AppUser::getVipId, 5).eq(AppUser::getInviteUserId, appUser.getId()).count();
            Long count6 = appUserService.lambdaQuery().eq(AppUser::getVipId, 6).eq(AppUser::getInviteUserId, appUser.getId()).count();
            Long count7 = appUserService.lambdaQuery().eq(AppUser::getVipId, 7).eq(AppUser::getInviteUserId, appUser.getId()).count();
            Long count1 = appUserService.lambdaQuery()
                    .eq(AppUser::getVipId, 1)
                    .eq(AppUser::getInviteUserId, appUser.getId())
                    .eq(AppUser::getDelFlag, 0)
                    .ne(AppUser::getStatus, 3)
                    .count();
            Long count2 = appUserService.lambdaQuery()
                    .eq(AppUser::getVipId, 2)
                    .eq(AppUser::getInviteUserId, appUser.getId())
                    .eq(AppUser::getDelFlag, 0)
                    .ne(AppUser::getStatus, 3)
                    .count();
            Long count3 = appUserService.lambdaQuery()
                    .eq(AppUser::getVipId, 3)
                    .eq(AppUser::getInviteUserId, appUser.getId())
                    .eq(AppUser::getDelFlag, 0)
                    .ne(AppUser::getStatus, 3)
                    .count();
            Long count4 = appUserService.lambdaQuery()
                    .eq(AppUser::getVipId, 4)
                    .eq(AppUser::getInviteUserId, appUser.getId())
                    .eq(AppUser::getDelFlag, 0)
                    .ne(AppUser::getStatus, 3)
                    .count();
            Long count5 = appUserService.lambdaQuery()
                    .eq(AppUser::getVipId, 5)
                    .eq(AppUser::getInviteUserId, appUser.getId())
                    .eq(AppUser::getDelFlag, 0)
                    .ne(AppUser::getStatus, 3)
                    .count();
            Long count6 = appUserService.lambdaQuery()
                    .eq(AppUser::getVipId, 6)
                    .eq(AppUser::getInviteUserId, appUser.getId())
                    .eq(AppUser::getDelFlag, 0)
                    .ne(AppUser::getStatus, 3)
                    .count();
            Long count7 = appUserService.lambdaQuery()
                    .eq(AppUser::getVipId, 7)
                    .eq(AppUser::getInviteUserId, appUser.getId())
                    .eq(AppUser::getDelFlag, 0)
                    .ne(AppUser::getStatus, 3)
                    .count();
            appUser.setCount1(count1);
            appUser.setCount2(count2);
            appUser.setCount3(count3);
@@ -321,13 +369,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);
@@ -336,15 +389,35 @@
        user.setCount6(count6);
        user.setCount7(count7);
        List<UserSignRecord> list = userSignRecordService.lambdaQuery().eq(UserSignRecord::getSignDay, LocalDate.now()).list();
        List<UserSignRecord> list = userSignRecordService.lambdaQuery().eq(UserSignRecord::getSignDay, LocalDate.now())
                .eq(UserSignRecord::getAppUserId,userId).list();
        if (!list.isEmpty()) {
            user.setIsSign(1);
        } else {
            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")
@@ -703,14 +776,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);
    }
@@ -946,7 +1016,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();
    }
}