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