From 9c66102a4fae1922aac72dc153e3e76b5856bae3 Mon Sep 17 00:00:00 2001
From: 44323 <443237572@qq.com>
Date: 星期三, 24 一月 2024 15:07:01 +0800
Subject: [PATCH] 数据权限

---
 ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/member/MemberServiceImpl.java |   32 +++++++++++++++++++++++++++++++-
 1 files changed, 31 insertions(+), 1 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 21f0c1f..62a2f96 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
@@ -903,6 +903,7 @@
      */
     @Override
     public List<MgtMemberPageVo> pageMgtMember(Page page, MgtMemberPageDto merMemberPageDto) {
+
         List<Activeness> activenessList = remoteConfigService.listActiveness().getData();
         Date nowDay = new Date();
         if (merMemberPageDto.getActivenessId() != null) {
@@ -932,8 +933,37 @@
             DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
             merMemberPageDto.setStartBirthday(startBirthday.format(formatter));
         }
+        // 获取当前登陆人的可视权限
+        SysUser sysUser = SecurityUtils.getSysUser();
+        // 店铺ids
+        List<Long> scope = 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":
+                            // 本部门数据 查询当前登陆人属于哪个部门 查询这个部门下所有员工关联的所有店铺
+                            // 根据用户id 查询同部门下所有员工id
+                            List<Long> userIds = sysUserService.getUserIdsByDept(sysUser.getUserId()).getData();
+                            // 获取店铺ids
+                            List<Long> data = shopService.getShopIdsByUserIds(userIds).getData();
+                            scope.addAll(data);
+                            break;
+                        case "5":
+                            // 仅个人数据 查询当前登陆人关联店铺下的用户
+                            List<Long> longs = new ArrayList<>();
+                            longs.add(sysUser.getUserId());
+                            // 获取店铺ids
+                            List<Long> data1 = shopService.getShopIdsByUserIds(longs).getData();
+                            scope.addAll(data1);
+                            break;
+                    }
+                }
+            }
+        }
         //查询获取结果列表
-        List<MgtMemberPageVo> memberPageVoList = memberMapper.pageMgtMember(page, merMemberPageDto);
+        List<MgtMemberPageVo> memberPageVoList = memberMapper.pageMgtMember(page, merMemberPageDto,scope);
         //处理活跃度返回
         if (memberPageVoList != null && !memberPageVoList.isEmpty()) {
             if (activenessList != null && !activenessList.isEmpty()) {

--
Gitblit v1.7.1