From a2b83e708f265bf80e8c448cd4c3ca3dc09216d8 Mon Sep 17 00:00:00 2001
From: puzhibing <393733352@qq.com>
Date: 星期三, 24 一月 2024 14:14:18 +0800
Subject: [PATCH] 新增加管理后台数据权限

---
 ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/controller/management/MgtTotalController.java |    9 --
 ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/mapper/shop/ShopMapper.java                     |    2 
 ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/impl/shop/ShopServiceImpl.java          |   12 +++
 ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/member/MemberServiceImpl.java  |   10 +++
 ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/order/OrderServiceImpl.java      |  132 ++++++++++++++++---------------------------
 ruoyi-modules/ruoyi-shop/src/main/resources/mapper/shop/ShopMapper.xml                                |    6 ++
 6 files changed, 79 insertions(+), 92 deletions(-)

diff --git a/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/member/MemberServiceImpl.java b/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/member/MemberServiceImpl.java
index 7159c62..258fcad 100644
--- a/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/member/MemberServiceImpl.java
+++ b/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/member/MemberServiceImpl.java
@@ -115,6 +115,12 @@
     @Resource
     private RemoteOrderService remoteOrderService;
 
+    @Resource
+    private RemoteUserService remoteUserService;
+
+
+
+
     /**
      * @description: TODO
      * @author jqs34
@@ -1445,6 +1451,10 @@
             }else{
                 return plTotalMemberTotalVo;
             }
+            List<Long> userId = remoteUserService.getScopeOfAuthorityUserId();
+            List<Shop> shops = remoteShopService.getShopBySysUserIds(userId);
+            List<Long> collect = shops.stream().map(Shop::getShopId).collect(Collectors.toList());
+            list.addAll(collect);
             mgtBasePlatformDto.setShopIdList(list);
         }
         //获取基础统计
diff --git a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/controller/management/MgtTotalController.java b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/controller/management/MgtTotalController.java
index 9aca32a..cd178ca 100644
--- a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/controller/management/MgtTotalController.java
+++ b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/controller/management/MgtTotalController.java
@@ -129,12 +129,5 @@
         return R.ok(totalActivityTotal);
     }
 
-    /*@RequestMapping(value = "/getPlTotalActivityAgeRank", method = RequestMethod.POST)
-    @ApiOperation(value = "获取平台商户活动年龄分布")
-    public R<MgtPlTotalActivityTotalVo> getPlTotalActivityAgeRank(@RequestBody MgtPlActivityAgeDto mgtPlActivityAgeDto) {
-        Long userId = SecurityUtils.getUserId();
-        mgtPlActivityAgeDto.setUserId(userId);
-        MgtPlTotalActivityTotalVo plTotalActivityTotalVo = orderService.getPlTotalActivityAgeRank(mgtPlActivityAgeDto);
-        return R.ok(plTotalActivityTotalVo);
-    }*/
+
 }
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 4d01b96..4701689 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
@@ -3870,6 +3870,17 @@
                 mgtBasePlatformDto.setUserIdList(userIdList);
             }
         }
+        //数据权限
+        List<Long> userIdList = mgtBasePlatformDto.getUserIdList();
+        List<Long> userIds = remoteUserService.getScopeOfAuthorityUserId();
+        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());
@@ -3933,6 +3944,17 @@
                 mgtBasePlatformDto.setUserIdList(userIdList);
             }
         }
+        //数据权限
+        List<Long> userIdList = mgtBasePlatformDto.getUserIdList();
+        List<Long> userIds = remoteUserService.getScopeOfAuthorityUserId();
+        if(null != userIdList){
+            userIdList.addAll(userIds);
+        }else{
+            userIdList = userIds;
+        }
+        mgtBasePlatformDto.setUserIdList(userIdList);
+
+
         MgtTotalOrderTotalVo mgtTotalOrderTotalVo = new MgtTotalOrderTotalVo();
         mgtTotalOrderTotalVo.setOrderTotal(0);
         mgtTotalOrderTotalVo.setOnlineTotal(0);
@@ -4160,6 +4182,7 @@
         if(mgtBasePlatformDto.getActivityFrom()!=null&&mgtBasePlatformDto.getActivityFrom()==2){
             return totalActivityTotalVo;
         }
+
         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()){
@@ -4169,6 +4192,15 @@
         if(mgtBasePlatformDto.getShopId()!=null){
             shopIdList = new ArrayList<>();
             shopIdList.add(mgtBasePlatformDto.getShopId());
+        }
+        //数据权限
+        List<Long> userIds = remoteUserService.getScopeOfAuthorityUserId();
+        List<Shop> shopList = remoteShopService.getShopBySysUserIds(userIds);
+        List<Long> collect = shopList.stream().map(Shop::getShopId).collect(Collectors.toList());
+        if(null != shopIdList){
+            shopIdList.addAll(collect);
+        }else{
+            shopIdList = collect;
         }
         mgtBasePlatformDto.setShopIdList(shopIdList);
         //获取基础统计
@@ -4347,52 +4379,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;
     }
 
@@ -4408,24 +4394,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());
@@ -4440,6 +4408,15 @@
         if(mgtBasePlatformDto.getShopId()!=null){
             shopIdList = new ArrayList<>();
             shopIdList.add(mgtBasePlatformDto.getShopId());
+        }
+
+        List<Long> userIds = remoteUserService.getScopeOfAuthorityUserId();
+        List<Shop> shopList = remoteShopService.getShopBySysUserIds(userIds);
+        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){
@@ -4493,24 +4470,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()){
@@ -4521,6 +4480,15 @@
             shopIdList = new ArrayList<>();
             shopIdList.add(mgtBasePlatformDto.getShopId());
         }
+        //数据权限
+        List<Long> userIds = remoteUserService.getScopeOfAuthorityUserId();
+        List<Shop> shopList = remoteShopService.getShopBySysUserIds(userIds);
+        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();
diff --git a/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/mapper/shop/ShopMapper.java b/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/mapper/shop/ShopMapper.java
index 31579bf..31c3d28 100644
--- a/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/mapper/shop/ShopMapper.java
+++ b/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/mapper/shop/ShopMapper.java
@@ -158,7 +158,7 @@
      * @date    2023/6/21 16:25
      * @return  MgtPlTotalShopTotalVo
      */
-    MgtPlTotalShopTotalVo getPlTotalShopTotal();
+    MgtPlTotalShopTotalVo getPlTotalShopTotal(@Param("userIds") List<Long> userIds);
 
     /**
      * @description  获取统计关联shopId
diff --git a/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/impl/shop/ShopServiceImpl.java b/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/impl/shop/ShopServiceImpl.java
index 7dc14fa..30ee728 100644
--- a/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/impl/shop/ShopServiceImpl.java
+++ b/ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/impl/shop/ShopServiceImpl.java
@@ -1268,8 +1268,18 @@
                 mgtBasePlatformDto.setUserIdList(userIdList);
             }
         }
+        //数据权限
+        List<Long> userIds = remoteUserService.getScopeOfAuthorityUserId();
+        List<Long> userIdList = mgtBasePlatformDto.getUserIdList();
+        if(null != userIdList){
+            userIdList.addAll(userIds);
+        }else{
+            userIdList = userIds;
+        }
+        mgtBasePlatformDto.setUserIdList(userIdList);
+
         //获取基础统计
-        MgtPlTotalShopTotalVo plTotalShopTotalVo = shopMapper.getPlTotalShopTotal();
+        MgtPlTotalShopTotalVo plTotalShopTotalVo = shopMapper.getPlTotalShopTotal(userIds);
         plTotalShopTotalVo.setSignTotal(0);
         List<Long> shopIdList = shopMapper.listShopIdByTotal(mgtBasePlatformDto);
         if (!shopIdList.isEmpty()) {
diff --git a/ruoyi-modules/ruoyi-shop/src/main/resources/mapper/shop/ShopMapper.xml b/ruoyi-modules/ruoyi-shop/src/main/resources/mapper/shop/ShopMapper.xml
index 3512b47..12d92d5 100644
--- a/ruoyi-modules/ruoyi-shop/src/main/resources/mapper/shop/ShopMapper.xml
+++ b/ruoyi-modules/ruoyi-shop/src/main/resources/mapper/shop/ShopMapper.xml
@@ -660,6 +660,12 @@
             SUM(CASE WHEN cooperative_flag = 0 THEN 1 ELSE 0 END) AS terminateTotal
         FROM t_shop
         WHERE del_flag = 0
+        <if test="null != userIds and userIds.size() > 0">
+            and belong_user_id in
+            <foreach collection="userIds" item="item" index="index" open="(" separator="," close=")">
+                #{item}
+            </foreach>
+        </if>
     </select>
 
     <select id="listShopIdByTotal" resultType="java.lang.Long">

--
Gitblit v1.7.1