diff --git a/anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/sysuser/PrivilegeQuery.java b/anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/sysuser/PrivilegeQuery.java index 716afa8aa0..4dd63bafd6 100644 --- a/anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/sysuser/PrivilegeQuery.java +++ b/anrui-portal/anrui-portal-api/src/main/java/com/yxt/anrui/portal/api/sysuser/PrivilegeQuery.java @@ -17,6 +17,6 @@ public class PrivilegeQuery { private String orgPath; @ApiModelProperty("菜单sid") private String menuSid; - @ApiModelProperty("销售订单sid") + @ApiModelProperty("用户sid") private String userSid; } diff --git a/anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysrole/SysRoleMapper.java b/anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysrole/SysRoleMapper.java index 77d91517a4..a2be6a8b43 100644 --- a/anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysrole/SysRoleMapper.java +++ b/anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysrole/SysRoleMapper.java @@ -65,7 +65,7 @@ public interface SysRoleMapper extends BaseMapper { List selectMobileRoleList(String menuSid); - List selectByRole(@Param("orgLevelKey") String orgLevelKey, @Param("menuSid") String menuSid,@Param("userSid") String userSid); + List selectByRole(@Param("list") List roleSidList, @Param("menuSid") String menuSid,@Param("userSid") String userSid); - List selectByMobileRole(@Param("orgLevelKey") String orgLevelKey, @Param("menuSid") String menuSid,@Param("userSid") String userSid); + List selectByMobileRole(@Param("list") List roleSidList, @Param("menuSid") String menuSid,@Param("userSid") String userSid); } \ No newline at end of file diff --git a/anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysrole/SysRoleMapper.xml b/anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysrole/SysRoleMapper.xml index 686bdbeda0..c235e89c4d 100644 --- a/anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysrole/SysRoleMapper.xml +++ b/anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysrole/SysRoleMapper.xml @@ -106,18 +106,29 @@ \ No newline at end of file diff --git a/anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysrole/SysRoleService.java b/anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysrole/SysRoleService.java index eb68966300..9f0b8d1916 100644 --- a/anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysrole/SysRoleService.java +++ b/anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysrole/SysRoleService.java @@ -178,11 +178,11 @@ public class SysRoleService extends MybatisBaseService { return baseMapper.selectMobileRoleList(menuSid); } - public List selectByRole(String orgLevelKey, String menuSid,String userSid) { - return baseMapper.selectByRole(orgLevelKey,menuSid,userSid); + public List selectByRole(List roleSidList, String menuSid,String userSid) { + return baseMapper.selectByRole(roleSidList,menuSid,userSid); } - public List selectByMobileRole(String orgLevelKey, String menuSid, String userSid) { - return baseMapper.selectByMobileRole(orgLevelKey,menuSid,userSid); + public List selectByMobileRole(List roleSidList, String menuSid, String userSid) { + return baseMapper.selectByMobileRole(roleSidList,menuSid,userSid); } } \ No newline at end of file diff --git a/anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysuser/SysUserService.java b/anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysuser/SysUserService.java index 9ac6779801..495ed26dbd 100644 --- a/anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysuser/SysUserService.java +++ b/anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysuser/SysUserService.java @@ -30,6 +30,7 @@ import com.yxt.anrui.portal.biz.sysstaffinfo.SysStaffinfoService; import com.yxt.anrui.portal.biz.sysstafforg.SysStaffOrgService; import com.yxt.anrui.portal.biz.sysstaffpost.SysStaffPostService; import com.yxt.anrui.portal.biz.sysuserdefaultorg.SysUserDefaultOrgService; +import com.yxt.anrui.portal.biz.sysuserrole.SysUserRoleService; import com.yxt.anrui.portal.config.DictCommonType; import com.yxt.anrui.portal.utils.MsgWs; import com.yxt.common.base.config.RedisUtil; @@ -114,6 +115,8 @@ public class SysUserService extends MybatisBaseService { private SysMenuService sysMenuService; @Autowired private SysMobileMenuService sysMobileMenuService; + @Autowired + private SysUserRoleService sysUserRoleService; public PagerVo listPage(PagerQuery pq) { @@ -1408,16 +1411,18 @@ public class SysUserService extends MybatisBaseService { } else { String menuSid = sysMenuList.get(0).getSid(); //根据层级查找角色 - List stringList = Arrays.asList(query.getOrgPath().split("/")); +// List stringList = Arrays.asList(query.getOrgPath().split("/")); //最后一级的sid所属层级 - SysOrganization sysOrganization = sysOrganizationService.fetchBySid(stringList.get(stringList.size() - 1)); +// SysOrganization sysOrganization = sysOrganizationService.fetchBySid(stringList.get(stringList.size() - 1)); + List roleSidList = sysUserRoleService.selectRoleSid(query.getUserSid()); + roleSidList.removeAll(Collections.singleton(null)); //查询层级对应的角色权限id - List roleSid = sysRoleService.selectByRole(sysOrganization.getOrgLevelKey(), menuSid,query.getUserSid()); - roleSid.removeAll(Collections.singleton(null)); - if (!roleSid.isEmpty()) { - for (int i = 0; i < roleSid.size(); i++) { - if (StringUtils.isNotBlank(roleSid.get(i))) { - defalutId = roleSid.get(i); + List roleIdList = sysRoleService.selectByRole(roleSidList, menuSid,query.getUserSid()); + roleIdList.removeAll(Collections.singleton(null)); + if (!roleIdList.isEmpty()) { + for (int i = 0; i < roleIdList.size(); i++) { + if (StringUtils.isNotBlank(roleIdList.get(i))) { + defalutId = roleIdList.get(i); break; } else { continue; @@ -1427,12 +1432,14 @@ public class SysUserService extends MybatisBaseService { } } else { String menuSid = query.getMenuSid(); - //根据层级查找角色 + /* //根据层级查找角色 List stringList = Arrays.asList(query.getOrgPath().split("/")); //最后一级的sid所属层级 - SysOrganization sysOrganization = sysOrganizationService.fetchBySid(stringList.get(stringList.size() - 1)); + SysOrganization sysOrganization = sysOrganizationService.fetchBySid(stringList.get(stringList.size() - 1));*/ + List roleSidList = sysUserRoleService.selectRoleSid(query.getUserSid()); + roleSidList.removeAll(Collections.singleton(null)); //查询层级对应的角色权限id - List roleSid = sysRoleService.selectByMobileRole(sysOrganization.getOrgLevelKey(), menuSid,query.getUserSid()); + List roleSid = sysRoleService.selectByMobileRole(roleSidList, menuSid,query.getUserSid()); roleSid.removeAll(Collections.singleton(null)); if (!roleSid.isEmpty()) { for (int i = 0; i < roleSid.size(); i++) { diff --git a/anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysuserrole/SysUserRoleMapper.java b/anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysuserrole/SysUserRoleMapper.java index 6ebaeda6b5..c7615f989f 100644 --- a/anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysuserrole/SysUserRoleMapper.java +++ b/anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysuserrole/SysUserRoleMapper.java @@ -53,4 +53,6 @@ public interface SysUserRoleMapper extends BaseMapper { List getUserSidListByRoleSid(@Param("roleList") List roleList); int deleteByRoleSid(String sids); + + List selectRoleSid(String userSid); } \ No newline at end of file diff --git a/anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysuserrole/SysUserRoleMapper.xml b/anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysuserrole/SysUserRoleMapper.xml index fc7d1ce861..e695bc2a24 100644 --- a/anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysuserrole/SysUserRoleMapper.xml +++ b/anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysuserrole/SysUserRoleMapper.xml @@ -42,4 +42,8 @@ delete from sys_user_role where roleSid = #{sids} + + \ No newline at end of file diff --git a/anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysuserrole/SysUserRoleService.java b/anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysuserrole/SysUserRoleService.java index 1c0ccceca9..63e709c520 100644 --- a/anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysuserrole/SysUserRoleService.java +++ b/anrui-portal/anrui-portal-biz/src/main/java/com/yxt/anrui/portal/biz/sysuserrole/SysUserRoleService.java @@ -127,4 +127,8 @@ public class SysUserRoleService extends MybatisBaseService selectRoleSid(String userSid) { + return baseMapper.selectRoleSid(userSid); + } } \ No newline at end of file