From f67b30c2fd8009d637660a65f9c59f9e12cce249 Mon Sep 17 00:00:00 2001 From: ma <1062634917@qq.com> Date: Thu, 22 Apr 2021 19:01:26 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E8=A7=92=E8=89=B2=E6=8E=92?= =?UTF-8?q?=E5=BA=8F=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/ccsens/tall/persist/dao/ProRoleDao.java | 2 +- .../java/com/ccsens/tall/service/ProRoleService.java | 3 ++- tall/src/main/resources/mapper_dao/ProRoleDao.xml | 11 +++++++---- 3 files changed, 10 insertions(+), 6 deletions(-) diff --git a/tall/src/main/java/com/ccsens/tall/persist/dao/ProRoleDao.java b/tall/src/main/java/com/ccsens/tall/persist/dao/ProRoleDao.java index fa532290..7dd46322 100644 --- a/tall/src/main/java/com/ccsens/tall/persist/dao/ProRoleDao.java +++ b/tall/src/main/java/com/ccsens/tall/persist/dao/ProRoleDao.java @@ -91,7 +91,7 @@ public interface ProRoleDao extends ProRoleMapper{ * @param projectId * @return */ - List selectSecondRolesShowByRoleId(@Param("projectId") Long projectId,@Param("roleIdList") List roleIdList); + List selectSecondRolesShowByRoleId(@Param("projectId") Long projectId,@Param("memberId") Long memberId); // /** // * 查找项目下的所有成员的名字用“,”分隔 diff --git a/tall/src/main/java/com/ccsens/tall/service/ProRoleService.java b/tall/src/main/java/com/ccsens/tall/service/ProRoleService.java index 181eaf92..d3ac19d3 100644 --- a/tall/src/main/java/com/ccsens/tall/service/ProRoleService.java +++ b/tall/src/main/java/com/ccsens/tall/service/ProRoleService.java @@ -373,6 +373,7 @@ public class ProRoleService implements IProRoleService { //查看角色展示列表中是否有数据 ProMemberRoleShowExample proMemberRoleShowExampleNew=new ProMemberRoleShowExample(); proMemberRoleShowExampleNew.createCriteria().andMemberIdEqualTo(memberId); + proMemberRoleShowExampleNew.setOrderByClause("sequence"); List proMemberRoleShowsNew = proMemberRoleShowMapper.selectByExample(proMemberRoleShowExampleNew); List roleIds = new ArrayList<>(); @@ -380,7 +381,7 @@ public class ProRoleService implements IProRoleService { roleIds.add(roleShow.getRoleId()); } //查询二级角色 - memberRoleList = proRoleDao.selectSecondRolesShowByRoleId(projectId,roleIds); + memberRoleList = proRoleDao.selectSecondRolesShowByRoleId(projectId,memberId); //在show表查找可见的角色 diff --git a/tall/src/main/resources/mapper_dao/ProRoleDao.xml b/tall/src/main/resources/mapper_dao/ProRoleDao.xml index 6730c376..e8f91887 100644 --- a/tall/src/main/resources/mapper_dao/ProRoleDao.xml +++ b/tall/src/main/resources/mapper_dao/ProRoleDao.xml @@ -141,13 +141,15 @@ from t_pro_role pr LEFT JOIN t_pro_member_role mr ON mr.role_id = pr.id LEFT JOIN t_pro_member m ON mr.member_id = m.id + LEFT JOIN t_pro_member_role_show AS rs ON rs.role_id = pr.id and rs.rec_status =0 where pr.project_id = #{projectId} AND - pr.id in - - #{role} - + rs.member_id = #{memberId} + + + + and (SELECT name FROM t_pro_role r WHERE pr.parent_id = r.id) in ('PM','Member','ProjectVirtualRole') AND @@ -156,6 +158,7 @@ pr.rec_status = 0 AND (mr.rec_status = 0 or mr.rec_status is null) AND (m.rec_status = 0 or m.rec_status is null) + ORDER BY rs.sequence