From a3251c2650bfffa5a7027c874ea5cbc45b378414 Mon Sep 17 00:00:00 2001
From: mitao <2763622819@qq.com>
Date: 星期一, 22 四月 2024 09:18:14 +0800
Subject: [PATCH] 营销员管理-角色权限

---
 meiya-admin/src/main/java/com/sinata/modular/member/controller/MemUserSalesController.java |   14 ++++++++++++--
 1 files changed, 12 insertions(+), 2 deletions(-)

diff --git a/meiya-admin/src/main/java/com/sinata/modular/member/controller/MemUserSalesController.java b/meiya-admin/src/main/java/com/sinata/modular/member/controller/MemUserSalesController.java
index ca36302..d2b55af 100644
--- a/meiya-admin/src/main/java/com/sinata/modular/member/controller/MemUserSalesController.java
+++ b/meiya-admin/src/main/java/com/sinata/modular/member/controller/MemUserSalesController.java
@@ -28,8 +28,10 @@
 import com.sinata.modular.member.model.MemUserRelation;
 import com.sinata.modular.member.service.IMemUserRelationService;
 import com.sinata.modular.member.service.IMemUserService;
+import com.sinata.modular.system.model.Role;
 import com.sinata.modular.system.model.SystemNotice;
 import com.sinata.modular.system.model.TCityRegion;
+import com.sinata.modular.system.service.IRoleService;
 import com.sinata.modular.system.service.ISystemNoticeService;
 import com.sinata.modular.system.service.ITCityRegionService;
 import lombok.extern.slf4j.Slf4j;
@@ -72,6 +74,9 @@
 
     @Autowired
     private ISystemNoticeService systemNoticeService;
+
+    @Autowired
+    private IRoleService roleService;
 
     /**
      * 跳转到会员用户信息首页
@@ -137,10 +142,15 @@
         try {
             // 【城市管理员】数据查询
             ShiroUser shiroUser = ShiroKit.getUser();
-            if (shiroUser.getRoleList().contains(EnumCityRole.PROVINCE_ROLE.index)) {
+            List<Integer> roleList = shiroUser.getRoleList();
+            List<Integer> cityRoleList = roleService.selectList(
+                            new EntityWrapper<Role>().in("id", roleList)).stream().map(Role::getCityRole)
+                    .collect(
+                            Collectors.toList());
+            if (cityRoleList.contains(EnumCityRole.PROVINCE_ROLE.index)) {
                 // 省级城市管理员
                 wrapper.like("o.city_code", shiroUser.getCityCode().substring(0, 2), SqlLike.RIGHT);
-            } else if (shiroUser.getRoleList().contains(EnumCityRole.CITY_ROLE.index)) {
+            } else if (cityRoleList.contains(EnumCityRole.CITY_ROLE.index)) {
                 // 市级城市管理员
                 wrapper.like("o.city_code", shiroUser.getCityCode().substring(0, 4), SqlLike.RIGHT);
             }

--
Gitblit v1.7.1