From a3a344f8c9a482100bf2fc0e5edf7a3546a7f39b Mon Sep 17 00:00:00 2001 From: xxssyyyyssxx Date: Tue, 30 Nov 2021 18:35:04 +0800 Subject: [PATCH] =?UTF-8?q?=E7=B3=BB=E7=BB=9F=E7=AE=A1=E7=90=86=E5=91=98?= =?UTF-8?q?=E5=8F=AF=E4=BB=A5=E7=9C=8B=E8=A7=81=E6=89=80=E6=9C=89=E9=A1=B9?= =?UTF-8?q?=E7=9B=AE=20=E9=A1=B9=E7=9B=AE=E5=8F=AF=E8=A7=81=E6=80=A7?= =?UTF-8?q?=E5=8E=BB=E6=8E=89=E7=B3=BB=E7=BB=9F=E7=AE=A1=E7=90=86=E5=91=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/cn/palmte/work/model/SysRole.java | 14 ++++---------- .../cn/palmte/work/service/ProjectService.java | 11 +++++++++-- 2 files changed, 13 insertions(+), 12 deletions(-) diff --git a/src/main/java/cn/palmte/work/model/SysRole.java b/src/main/java/cn/palmte/work/model/SysRole.java index c995307..a1edd95 100644 --- a/src/main/java/cn/palmte/work/model/SysRole.java +++ b/src/main/java/cn/palmte/work/model/SysRole.java @@ -6,16 +6,10 @@ import java.util.Date; @Entity @Table(name = "sys_role") public class SysRole { - //智慧工地系统管理员 - public static final int ROLE_TYPE_1 = 1; - //市级管理员 - public static final int ROLE_TYPE_2 = 2; - //环保局管理员 - public static final int ROLE_TYPE_3 = 3; - //网格管理员 - public static final int ROLE_TYPE_4 = 4; - //工地巡查员 - public static final int ROLE_TYPE_8 = 8; + //系统管理员 + public static final int ROLE_TYPE_SYSTEM = 0; + //普通管理员 + public static final int ROLE_TYPE_NORMAL = 1; @Id @GeneratedValue(strategy = GenerationType.IDENTITY) diff --git a/src/main/java/cn/palmte/work/service/ProjectService.java b/src/main/java/cn/palmte/work/service/ProjectService.java index fc86626..7cd37de 100644 --- a/src/main/java/cn/palmte/work/service/ProjectService.java +++ b/src/main/java/cn/palmte/work/service/ProjectService.java @@ -105,8 +105,11 @@ public class ProjectService { Admin admin = InterfaceUtil.getAdmin(); int roleId = admin.getRoleId(); Integer adminId = admin.getId(); - //自己创建的肯定能看见 - queryHelper.addCondition("(p.creator_id=? OR p.id in (SELECT pv1.project_id FROM project_visible pv1 WHERE pv1.type=1 AND pv1.tid=? UNION SELECT pv2.project_id FROM project_visible pv2 WHERE pv2.type=2 AND pv2.tid=?))", adminId, roleId, adminId); + //自己创建的肯定能看见,配置的可以看见,系统管理员可以看见 + SysRole sysRole = sysRoleRepository.findSysRoleById(roleId); + if(SysRole.ROLE_TYPE_SYSTEM != sysRole.getType()){ + queryHelper.addCondition("(p.creator_id=? OR p.id in (SELECT pv1.project_id FROM project_visible pv1 WHERE pv1.type=1 AND pv1.tid=? UNION SELECT pv2.project_id FROM project_visible pv2 WHERE pv2.type=2 AND pv2.tid=?))", adminId, roleId, adminId); + } queryHelper.addDescOrderProperty("p.last_update_time"); @@ -239,6 +242,10 @@ public class ProjectService { */ public List getZTreeNodes(int projectId){ List roleList = sysRoleRepository.findAllRole(); + //过滤掉系统管理员角色 + roleList = roleList.stream().filter(sysRole -> sysRole.getType()!=SysRole.ROLE_TYPE_SYSTEM).collect(Collectors.toList()); + + List adminList = adminRepository.getAllEnable(); List zTreeNodes = new ArrayList<>(roleList.size()+adminList.size());