From 0f2843a5f33c3319f5d95ca76c458da53728431e Mon Sep 17 00:00:00 2001
From: mitao <2763622819@qq.com>
Date: 星期三, 06 三月 2024 16:28:42 +0800
Subject: [PATCH] 新增t_member_coupon表分表配置

---
 ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/order/OrderServiceImpl.java |  263 ++++++++++++++++++++++++++--------------------------
 1 files changed, 130 insertions(+), 133 deletions(-)

diff --git a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/order/OrderServiceImpl.java b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/order/OrderServiceImpl.java
index d25a75a..8da813a 100644
--- a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/order/OrderServiceImpl.java
+++ b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/order/OrderServiceImpl.java
@@ -3029,6 +3029,24 @@
                 mgtShopOrderPageDto.setUserIds(mgtUserIdByKeywordVo.getUserIds());
             }
         }
+        //数据权限
+        List<Long> userId = remoteUserService.getScopeOfAuthorityUserId();
+        BoardMemberTotalDto boardMemberTotalDto = new BoardMemberTotalDto();
+        boardMemberTotalDto.setUserIds(userId);
+        List<Shop> shops = remoteShopService.getShopBySysUserIds(boardMemberTotalDto);
+        if (!shops.isEmpty()) {
+            List<Long> collect = shops.stream().map(Shop::getShopId).collect(Collectors.toList());
+            String join = collect.stream().map(Object::toString).collect(Collectors.joining(","));
+            String shopIds = mgtShopOrderPageDto.getShopIds();
+            if(StringUtils.isNotEmpty(shopIds)){
+                shopIds = shopIds + "," + join;
+            }else{
+                shopIds = join;
+            }
+            mgtShopOrderPageDto.setShopIds(shopIds);
+        }
+
+
         // 从数据库中获取活动订单列表
         List<MgtActivityOrderPageVo> activityOrderPageVoList = orderMapper.pageMgtActivityOrder(page, mgtShopOrderPageDto);
         // 如果列表不为空
@@ -3108,6 +3126,22 @@
                 mgtShopOrderPageDto.setUserIds(mgtUserIdByKeywordVo.getUserIds());
             }
         }
+        //数据权限
+        List<Long> userId = remoteUserService.getScopeOfAuthorityUserId();
+        BoardMemberTotalDto boardMemberTotalDto = new BoardMemberTotalDto();
+        boardMemberTotalDto.setUserIds(userId);
+        List<Shop> shops = remoteShopService.getShopBySysUserIds(boardMemberTotalDto);
+        if (!shops.isEmpty()) {
+            List<Long> collect = shops.stream().map(Shop::getShopId).collect(Collectors.toList());
+            String join = collect.stream().map(Object::toString).collect(Collectors.joining(","));
+            String shopIds = mgtShopOrderPageDto.getShopIds();
+            if(StringUtils.isNotEmpty(shopIds)){
+                shopIds = shopIds + "," + join;
+            }else{
+                shopIds = join;
+            }
+            mgtShopOrderPageDto.setShopIds(shopIds);
+        }
         MgtOrderTotal mgtOrderTotal = new MgtOrderTotal();
         MgtOrderTotal mgtOrderTotalFirst = orderMapper.totalOrderFirst(mgtShopOrderPageDto);
         MgtOrderTotal mgtOrderTotalSecond = orderMapper.totalOrderSecond(mgtShopOrderPageDto);
@@ -3154,6 +3188,22 @@
             if (StringUtils.isNotBlank(mgtUserIdByKeywordVo.getUserIds())) {
                 mgtShopOrderPageDto.setUserIds(mgtUserIdByKeywordVo.getUserIds());
             }
+        }
+        //数据权限
+        List<Long> userId = remoteUserService.getScopeOfAuthorityUserId();
+        BoardMemberTotalDto boardMemberTotalDto = new BoardMemberTotalDto();
+        boardMemberTotalDto.setUserIds(userId);
+        List<Shop> shops = remoteShopService.getShopBySysUserIds(boardMemberTotalDto);
+        if (!shops.isEmpty()) {
+            List<Long> collect = shops.stream().map(Shop::getShopId).collect(Collectors.toList());
+            String join = collect.stream().map(Object::toString).collect(Collectors.joining(","));
+            String shopIds = mgtShopOrderPageDto.getShopIds();
+            if(StringUtils.isNotEmpty(shopIds)){
+                shopIds = shopIds + "," + join;
+            }else{
+                shopIds = join;
+            }
+            mgtShopOrderPageDto.setShopIds(shopIds);
         }
         List<MgtShopOrderPageVo> shopOrderPageVoList = orderMapper.pageMgtShopOrder(page, mgtShopOrderPageDto);
         // 如果列表不为空
@@ -3315,9 +3365,13 @@
      * @date 2023/6/18 17:20
      */
     @Override
-    public MgtBulletinBoardVo boardOrderTotal() {
-        MgtBulletinBoardVo mgtBulletinBoardVo = orderMapper.boardOrderTotal();
-        Integer activityUserTotal = orderMapper.activityUserTotal();
+    public MgtBulletinBoardVo boardOrderTotal(List<Long> userIds) {
+        BoardMemberTotalDto boardMemberTotalDto = new BoardMemberTotalDto();
+        boardMemberTotalDto.setUserIds(userIds);
+        List<Shop> shopList = remoteShopService.getShopBySysUserIds(boardMemberTotalDto);
+        List<Long> collect = shopList.stream().map(Shop::getShopId).collect(Collectors.toList());
+        MgtBulletinBoardVo mgtBulletinBoardVo = orderMapper.boardOrderTotal(collect);
+        Integer activityUserTotal = orderMapper.activityUserTotal(collect);
         mgtBulletinBoardVo.setActivityUserTotal(activityUserTotal);
         return mgtBulletinBoardVo;
     }
@@ -3816,7 +3870,7 @@
                 userIdList.add(mgtBasePlatformDto.getUserId());
             } else {
                 MgtUserIdByDept mgtUserIdByDept = new MgtUserIdByDept();
-                mgtUserIdByDept.setDeptId(mgtBasePlatformDto.getUserId());
+                mgtUserIdByDept.setDeptId(mgtBasePlatformDto.getDeptId());
                 mgtUserIdByDept = remoteConfigService.getUserIdByDept(mgtUserIdByDept).getData();
                 userIdList = mgtUserIdByDept.getUserIdList();
             }
@@ -3824,6 +3878,19 @@
                 mgtBasePlatformDto.setUserIdList(userIdList);
             }
         }
+        //数据权限
+        List<Long> userIds = remoteUserService.getScopeOfAuthorityUserId();
+        if(null != userIds){
+            List<Long> userIdList = mgtBasePlatformDto.getUserIdList();
+            if(null != userIdList){
+                userIdList.addAll(userIds);
+            }else{
+                userIdList = userIds;
+            }
+            mgtBasePlatformDto.setUserIdList(userIdList);
+        }
+
+
         List<Long> shopIdList = new ArrayList<>();
         if(mgtBasePlatformDto.getShopId()!=null){
             shopIdList.add(mgtBasePlatformDto.getShopId());
@@ -3836,8 +3903,10 @@
         MgtSimpleShopVo simpleShopVo;
         HashSet<String> set = new HashSet<>();
         // 遍历MgtMemberOrderPageVoList,获取shopId并添加到set中
-        for (Long entity : shopIdList) {
-            set.add(entity.toString());
+        if(null != shopIdList){
+            for (Long entity : shopIdList) {
+                set.add(entity.toString());
+            }
         }
         String joinedString = String.join(",", set);
         MgtBaseBathDto mgtBaseBathDto = new MgtBaseBathDto();
@@ -3877,54 +3946,27 @@
             List<Long> userIdList = new ArrayList<>();
             if (mgtBasePlatformDto.getUserId() != null) {
                 userIdList.add(mgtBasePlatformDto.getUserId());
-            }
-            else {
-                // 如果当前登陆人的可视权限是仅个人 只选择了部门也只能看自己的数据
-                SysUser sysUser = SecurityUtils.getSysUser();
-                if (sysUser.getDataScope().equals("5")){
-                    userIdList.add(sysUser.getUserId());
-                }else{
-                    MgtUserIdByDept mgtUserIdByDept = new MgtUserIdByDept();
-                    mgtUserIdByDept.setDeptId(mgtBasePlatformDto.getDeptId());
-                    mgtUserIdByDept = remoteConfigService.getUserIdByDept(mgtUserIdByDept).getData();
-                    userIdList = mgtUserIdByDept.getUserIdList();
-                }
+            } else {
+                List<SysUser> data = remoteUserService.getUsersByDeptId(mgtBasePlatformDto.getDeptId()).getData();
+                userIdList.addAll(data.stream().map(SysUser::getUserId).collect(Collectors.toList()));
             }
             if (!userIdList.isEmpty()) {
                 mgtBasePlatformDto.setUserIdList(userIdList);
             }
-        }else{
-            // 没有选择筛选部门和员工 获取当前登陆人的可视权限
-            SysUser sysUser = SecurityUtils.getSysUser();
-            // 如果当前登陆人是查看个人数据
-            Long userId1  = null;
-            // 如果当前登陆人权限是查看部门数据
-            List<Long> userList = new ArrayList<>();
-            if (sysUser!=null){
-                String dataScope = sysUser.getDataScope();
-                if (!sysUser.getUserName().equals("admin")){
-                    if (org.springframework.util.StringUtils.hasLength(dataScope)){
-                        switch (dataScope){
-                            case "3":
-                                // 本部门数据 查询当前登陆人属于哪个部门 查询这个部门下所有员工关联的所有店铺
-                                MgtUserIdByDept mgtUserIdByDept = new MgtUserIdByDept();
-                                mgtUserIdByDept.setDeptId(sysUser.getDeptId());
-                                mgtUserIdByDept = remoteConfigService.getUserIdByDept(mgtUserIdByDept).getData();
-                                userList = mgtUserIdByDept.getUserIdList();
-                                mgtBasePlatformDto.setDeptId(sysUser.getDeptId());
-                                mgtBasePlatformDto.setUserIdList(userList);
-                            case "5":
-                                // 仅个人数据 查询当前登陆人关联店铺下的用户
-                                userId1 = sysUser.getUserId();
-                                userList.add(userId1);
-                                mgtBasePlatformDto.setDeptId(sysUser.getDeptId());
-                                mgtBasePlatformDto.setUserIdList(userList);
-                                break;
-                        }
-                    }
-                }
-            }
         }
+        //数据权限
+        List<Long> userIdList = mgtBasePlatformDto.getUserIdList();
+        List<Long> userIds = remoteUserService.getScopeOfAuthorityUserId();
+        if(null != userIds){
+            if(null != userIdList){
+                userIdList.addAll(userIds);
+            }else{
+                userIdList = userIds;
+            }
+            mgtBasePlatformDto.setUserIdList(userIdList);
+        }
+
+
         MgtTotalOrderTotalVo mgtTotalOrderTotalVo = new MgtTotalOrderTotalVo();
         mgtTotalOrderTotalVo.setOrderTotal(0);
         mgtTotalOrderTotalVo.setOnlineTotal(0);
@@ -4153,6 +4195,18 @@
         if(mgtBasePlatformDto.getActivityFrom()!=null&&mgtBasePlatformDto.getActivityFrom()==2){
             return totalActivityTotalVo;
         }
+
+        //数据权限
+        List<Long> userIds = remoteUserService.getScopeOfAuthorityUserId();
+        if(null != userIds){
+            List<Long> userIdList = mgtBasePlatformDto.getUserIdList();
+            if(null == userIdList){
+                userIdList = new ArrayList<>();
+            }
+            userIdList.addAll(userIds);
+            mgtBasePlatformDto.setUserIdList(userIdList);
+        }
+
         List<Long> shopIdList = remoteShopService.listShopIdByPlTotal(mgtBasePlatformDto).getData();
         if (StringUtils.isNotBlank(mgtBasePlatformDto.getShopProvinceCode()) || StringUtils.isNotBlank(mgtBasePlatformDto.getShopCityCode()) || StringUtils.isNotBlank(mgtBasePlatformDto.getShopAreaCode())) {
             if(shopIdList==null||shopIdList.isEmpty()){
@@ -4164,6 +4218,7 @@
             shopIdList.add(mgtBasePlatformDto.getShopId());
         }
         mgtBasePlatformDto.setShopIdList(shopIdList);
+
         //获取基础统计
         MgtPlTotalActivityTotalVo mgtTotalActivityTotalVo = orderMapper.getPlTotalActivityTotal(mgtBasePlatformDto);
         totalActivityTotalVo.setOrderTotal(mgtTotalActivityTotalVo.getOrderTotal());
@@ -4270,8 +4325,10 @@
         }
         HashSet<String> set = new HashSet<>();
         // 遍历MgtMemberOrderPageVoList,获取shopId并添加到set中
-        for (Long shopId : mgtBasePlatformDto.getShopIdList()) {
-            set.add(shopId.toString());
+        if(null != mgtBasePlatformDto.getShopIdList()){
+            for (Long shopId : mgtBasePlatformDto.getShopIdList()) {
+                set.add(shopId.toString());
+            }
         }
         // 将set中的shopId转换为逗号分隔的字符串
         String joinedString = String.join(",", set);
@@ -4340,52 +4397,6 @@
             totalActivityTotalVo.setOrderTotalValue(orderTotalValue);
             totalActivityTotalVo.setOrderMoneyValue(orderMoneyValue);
         }
-
-        //参与人数  2023-09-06 另开接口
-        /*List<MgtMapIntTotalVo> joinList = orderMapper.getMgtActivityMemberTotal(mgtBasePlatformDto);
-        // 将查询结果转为Map
-        Map<String, Integer> mgtMapIntTotalVoMap = new HashMap<>();
-        if (joinList != null && !joinList.isEmpty()) {
-            mgtMapIntTotalVoMap = joinList.stream()
-                    .collect(Collectors.toMap(MgtMapIntTotalVo::getMapKey, MgtMapIntTotalVo::getMapValue));
-        }
-        // 获取日期范围
-        List<String> dateList = getDateRange(mgtBasePlatformDto.getStartDate(), mgtBasePlatformDto.getEndDate());
-        int size = dateList.size();
-        // 创建日期和成员总数的数组
-        String[] joinMemberTotalKey = new String[size];
-        Integer[] joinMemberTotalValue = new Integer[size];
-        // 遍历日期列表,设置日期和成员总数的数组
-        String str;
-        Integer value;
-        for (int i = 0; i < size; i++) {
-            str = dateList.get(i);
-            joinMemberTotalKey[i] = str;
-            value = mgtMapIntTotalVoMap.get(str);
-            joinMemberTotalValue[i] = (value != null) ? value : 0;
-        }
-        totalActivityTotalVo.setJoinMemberTotalKey(joinMemberTotalKey);
-        totalActivityTotalVo.setJoinMemberTotalValue(joinMemberTotalValue);
-        //获客人数
-        List<MgtMapIntTotalVo> getList = orderMapper.getMgtActivityGetMemberTotal(mgtBasePlatformDto);
-        // 将查询结果转为Map
-        Map<String, Integer> getMemberMap = new HashMap<>();
-        if (getList != null && !getList.isEmpty()) {
-            getMemberMap = getList.stream()
-                    .collect(Collectors.toMap(MgtMapIntTotalVo::getMapKey, MgtMapIntTotalVo::getMapValue));
-        }
-        // 创建日期和成员总数的数组
-        String[] getMemberTotalKey = new String[size];
-        Integer[] getMemberTotalValue = new Integer[size];
-        // 遍历日期列表,设置日期和成员总数的数组
-        for (int i = 0; i < size; i++) {
-            str = dateList.get(i);
-            getMemberTotalKey[i] = str;
-            value = getMemberMap.get(str);
-            getMemberTotalValue[i] = (value != null) ? value : 0;
-        }
-        totalActivityTotalVo.setGetMemberTotalKey(getMemberTotalKey);
-        totalActivityTotalVo.setGetMemberTotalValue(getMemberTotalValue);*/
         return totalActivityTotalVo;
     }
 
@@ -4401,24 +4412,6 @@
         if(mgtBasePlatformDto.getActivityFrom()!=null&&mgtBasePlatformDto.getActivityFrom()==2){
             return totalActivityTotalVo;
         }
-        /*if(mgtBasePlatformDto.getActivityType()!=null&&mgtBasePlatformDto.getActivityType()!=1){
-            return new MgtPlTotalActivityTotalVo();
-        }*/
-        //获取需要关联的用户id集合
-        /*if (mgtBasePlatformDto.getDeptId() != null) {
-            List<Long> userIdList = new ArrayList<>();
-            if (mgtBasePlatformDto.getUserId() != null) {
-                userIdList.add(mgtBasePlatformDto.getUserId());
-            } else {
-                MgtUserIdByDept mgtUserIdByDept = new MgtUserIdByDept();
-                mgtUserIdByDept.setDeptId(mgtBasePlatformDto.getUserId());
-                mgtUserIdByDept = remoteConfigService.getUserIdByDept(mgtUserIdByDept).getData();
-                userIdList = mgtUserIdByDept.getUserIdList();
-            }
-            if (!userIdList.isEmpty()) {
-                mgtBasePlatformDto.setUserIdList(userIdList);
-            }
-        }*/
 
         List<Long> shopIdList = remoteShopService.listShopIdByPlTotal(mgtBasePlatformDto).getData();
         log.info("shopIdList1-----"+shopIdList.toString());
@@ -4433,6 +4426,17 @@
         if(mgtBasePlatformDto.getShopId()!=null){
             shopIdList = new ArrayList<>();
             shopIdList.add(mgtBasePlatformDto.getShopId());
+        }
+
+        List<Long> userIds = remoteUserService.getScopeOfAuthorityUserId();
+        BoardMemberTotalDto boardMemberTotalDto = new BoardMemberTotalDto();
+        boardMemberTotalDto.setUserIds(userIds);
+        List<Shop> shopList = remoteShopService.getShopBySysUserIds(boardMemberTotalDto);
+        List<Long> collect = shopList.stream().map(Shop::getShopId).collect(Collectors.toList());
+        if(null != shopIdList){
+            shopIdList.addAll(collect);
+        }else{
+            shopIdList = collect;
         }
         mgtBasePlatformDto.setShopIdList(shopIdList);
         if(mgtBasePlatformDto.getAgeType()!=null){
@@ -4486,24 +4490,6 @@
         if(mgtBasePlatformDto.getActivityFrom()!=null&&mgtBasePlatformDto.getActivityFrom()==2){
             return totalActivityTotalVo;
         }
-        /*if(mgtBasePlatformDto.getActivityType()!=null&&mgtBasePlatformDto.getActivityType()!=1){
-            return new MgtPlTotalActivityTotalVo();
-        }*/
-        //获取需要关联的用户id集合
-        /*if (mgtBasePlatformDto.getDeptId() != null) {
-            List<Long> userIdList = new ArrayList<>();
-            if (mgtBasePlatformDto.getUserId() != null) {
-                userIdList.add(mgtBasePlatformDto.getUserId());
-            } else {
-                MgtUserIdByDept mgtUserIdByDept = new MgtUserIdByDept();
-                mgtUserIdByDept.setDeptId(mgtBasePlatformDto.getUserId());
-                mgtUserIdByDept = remoteConfigService.getUserIdByDept(mgtUserIdByDept).getData();
-                userIdList = mgtUserIdByDept.getUserIdList();
-            }
-            if (!userIdList.isEmpty()) {
-                mgtBasePlatformDto.setUserIdList(userIdList);
-            }
-        }*/
         List<Long> shopIdList = remoteShopService.listShopIdByPlTotal(mgtBasePlatformDto).getData();
         if (StringUtils.isNotBlank(mgtBasePlatformDto.getShopProvinceCode()) || StringUtils.isNotBlank(mgtBasePlatformDto.getShopCityCode()) || StringUtils.isNotBlank(mgtBasePlatformDto.getShopAreaCode())) {
             if(shopIdList==null||shopIdList.isEmpty()){
@@ -4514,6 +4500,17 @@
             shopIdList = new ArrayList<>();
             shopIdList.add(mgtBasePlatformDto.getShopId());
         }
+        //数据权限
+        List<Long> userIds = remoteUserService.getScopeOfAuthorityUserId();
+        BoardMemberTotalDto boardMemberTotalDto = new BoardMemberTotalDto();
+        boardMemberTotalDto.setUserIds(userIds);
+        List<Shop> shopList = remoteShopService.getShopBySysUserIds(boardMemberTotalDto);
+        List<Long> collect = shopList.stream().map(Shop::getShopId).collect(Collectors.toList());
+        if(null != shopIdList){
+            shopIdList.addAll(collect);
+        }else{
+            shopIdList = collect;
+        }
         mgtBasePlatformDto.setShopIdList(shopIdList);
         if(mgtBasePlatformDto.getAgeType()!=null){
             List<Long> userIdList = remoteMemberService.listUserIdByAgeType(mgtBasePlatformDto.getAgeType()).getData();

--
Gitblit v1.7.1