From d3e9a09cb54017a8063e5bfe3ace5012f66f3130 Mon Sep 17 00:00:00 2001 From: Pu Zhibing <393733352@qq.com> Date: 星期二, 25 三月 2025 18:34:34 +0800 Subject: [PATCH] 修改统计bug --- ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/AppUserController.java | 52 ++++++++++++++++++++++++++++++++++++++++++++++------ 1 files changed, 46 insertions(+), 6 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 5d9b385..5dae7c5 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 @@ -574,10 +574,42 @@ } return allSubordinates; } - - - - + + + /** + * 获取门店作为服务商的所有用户 + * @param shopId + * @return + */ + public Set<Long> getShopServerUser(Integer shopId){ + Shop shop = shopClient.getShopById(shopId).getData(); + List<Shop> shopList = shopClient.getAllShop().getData(); + List<Long> appUserIds = shopList.stream().map(Shop::getAppUserId).collect(Collectors.toList()); + Long appUserId = shop.getAppUserId(); + //所有未开店的用户 + List<AppUser> list = appUserService.list(new LambdaQueryWrapper<AppUser>().eq(AppUser::getDelFlag, 0) + .ne(AppUser::getStatus, 3).notIn(AppUser::getId, appUserIds)); + Set<Long> ids = new HashSet<>(); + getShopServerUser(appUserId, list, ids); + return ids; + } + + + + public void getShopServerUser(Long appUserId, List<AppUser> appUserList, Set<Long> ids){ + List<AppUser> collect = appUserList.stream().filter(s->s.getInviteUserId().equals(appUserId)).collect(Collectors.toList()); + if(collect.size() == 0){ + return; + } + Set<Long> appUserSet = collect.stream().map(AppUser::getId).collect(Collectors.toSet()); + if(ids.containsAll(appUserSet)){ + return; + } + ids.addAll(appUserSet); + for (AppUser appUser : collect) { + getShopServerUser(appUser.getId(), appUserList, ids); + } + } @@ -683,6 +715,9 @@ Integer shopId = data.getObjectId(); List<Order> orders = orderClient.getRedeemedOrdersByShop(shopId).getData(); List<Long> userIds = orders.stream().map(Order::getAppUserId).collect(Collectors.toList()); + //门店作为服务商的用户 + Set<Long> shopServerUser = getShopServerUser(shopId); + userIds.addAll(shopServerUser); queryWrapper.in(!CollectionUtils.isEmpty(userIds), "id", userIds) .like(StringUtils.isNotEmpty( appUser.getName()),"name", appUser.getName()); } @@ -785,8 +820,10 @@ for (Order datum : listR.getData()) { userIds.add(datum.getAppUserId()); } + Set<Long> shopServerUser = getShopServerUser(objectId); + userIds.addAll(shopServerUser); } - IPage<AppUser> appuserPage = appUserService.getAppuserPage1(pageCurr, pageSize, appUser, objectId, userIds); + IPage<AppUser> appuserPage = appUserService.getAppuserPage1(pageCurr, pageSize, appUser, userIds); return R.ok(appuserPage); } @@ -1179,12 +1216,15 @@ shopId = data.getObjectId(); if(null == userId){ userIds = orderClient.getAppUserByShoppingShop(shopId).getData(); + Set<Long> shopServerUser = getShopServerUser(shopId); + userIds.addAll(shopServerUser); }else{ userIds = new HashSet<>(); userIds.add(userId); } + } - UserStatisticsDetail userStatisticsDetail = appUserMapper.getUserStatisticsDetail(shopId, userIds); + UserStatisticsDetail userStatisticsDetail = appUserMapper.getUserStatisticsDetail(null, userIds); return R.ok(userStatisticsDetail); } -- Gitblit v1.7.1