diff --git a/jeecg-boot-base-core/src/main/java/org/jeecg/enums/RoleEnum.java b/jeecg-boot-base-core/src/main/java/org/jeecg/enums/RoleEnum.java index 268bb5e..7ec4840 100644 --- a/jeecg-boot-base-core/src/main/java/org/jeecg/enums/RoleEnum.java +++ b/jeecg-boot-base-core/src/main/java/org/jeecg/enums/RoleEnum.java @@ -48,7 +48,8 @@ public enum RoleEnum { MANAGER("manager"), MEDICALUSER("medicaluser"), MEDICALADMIN("medicaladmin"), - HOS_DOCTOR("hos_doctor"); + HOS_DOCTOR("hos_doctor"), + NOTICE_ROLE("notice_role"); /** * 角色名 diff --git a/jeecg-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/message/service/impl/SysMessageNoticeServiceImpl.java b/jeecg-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/message/service/impl/SysMessageNoticeServiceImpl.java index 852d9de..7830b1d 100644 --- a/jeecg-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/message/service/impl/SysMessageNoticeServiceImpl.java +++ b/jeecg-system/jeecg-system-biz/src/main/java/org/jeecg/modules/system/message/service/impl/SysMessageNoticeServiceImpl.java @@ -188,13 +188,14 @@ public class SysMessageNoticeServiceImpl extends ServiceImpl wrapper) { LoginUser loginUser = GlobalUtils.getLoginUser(); /* - * 1.后台接口的消息列表需要做一定数据权限控制需考虑的角色有admin,system,second_manager,third_manager - * 2.admin,system可查看所有的活动 + * 1.后台接口的消息列表需要做一定数据权限控制需考虑的角色有admin,system,second_manager,third_manager,notice_role + * 2.admin,system,notice_role可查看所有的消息通知 * 3.second_manager,third_manager可查看管理单位下的消息列表 + * 4.未命中上述白名单的角色,兜底只可查看本人创建的消息通知 */ boolean permissions = false; List roleCodes = Arrays.asList(Objects.toString(loginUser.getRoleCodes(), "").split(",")); - if (roleCodes.contains(RoleEnum.ADMIN_MANAGER.roleName) || roleCodes.contains(RoleEnum.SYSTEM.roleName) || roleCodes.contains(RoleEnum.WEIGHT_PLAN_ADMIN.roleName)) { + if (roleCodes.contains(RoleEnum.ADMIN_MANAGER.roleName) || roleCodes.contains(RoleEnum.SYSTEM.roleName) || roleCodes.contains(RoleEnum.WEIGHT_PLAN_ADMIN.roleName) || roleCodes.contains(RoleEnum.NOTICE_ROLE.roleName)) { permissions = true; } else if (roleCodes.contains(RoleEnum.SECOND_MANAGER.roleName)) { if (StrUtil.isNotEmpty(loginUser.getDepartCodes())) { @@ -203,8 +204,8 @@ public class SysMessageNoticeServiceImpl extends ServiceImpl