diff --git a/laws-modules/src/main/java/com/jero/modules/laws/enterprise/service/impl/EnterpriseStandardAuthUserServiceImpl.java b/laws-modules/src/main/java/com/jero/modules/laws/enterprise/service/impl/EnterpriseStandardAuthUserServiceImpl.java index bc2bab08..fbb618ca 100644 --- a/laws-modules/src/main/java/com/jero/modules/laws/enterprise/service/impl/EnterpriseStandardAuthUserServiceImpl.java +++ b/laws-modules/src/main/java/com/jero/modules/laws/enterprise/service/impl/EnterpriseStandardAuthUserServiceImpl.java @@ -42,6 +42,13 @@ import java.util.stream.Collectors; /** * @author ThinkBook * @description 针对表【laws_enterprise_standard_temp_permission(企业标准)】的数据库操作Service实现 + * + * 权限这里分为三种权限 + * 1. 企标的查看权限 (管理员、创建人、这条企标主起草部门的其他员工、临时授权、授权部门) + * 2. 企标的编辑权限 (管理员、创建人) + * 3. 企标的删除权限 (管理员、创建人可以删除试用期内的企标) + * + * * @createDate 2023-09-07 11:20:30 */ @Service @@ -70,8 +77,8 @@ public class EnterpriseStandardAuthUserServiceImpl extends ServiceImpl adminRoleCodeList; @Override @@ -114,7 +121,7 @@ public class EnterpriseStandardAuthUserServiceImpl extends ServiceImpl roleList = sysUserRoleService.getRole(currentUser.getUsername()); - if (roleList != null && roleList.contains(FieldCommon.ROLE_ADMIN)) { + if (roleList != null && roleList.stream().anyMatch(adminRoleCodeList :: contains)) { records.forEach(kv -> kv.put(FieldCommon.DETAIL_FLAG, true)); return; } @@ -234,7 +241,7 @@ public class EnterpriseStandardAuthUserServiceImpl extends ServiceImpl roleList = sysUserRoleService.getRole(currentUser.getUsername()); - if (roleList != null && roleList.contains(FieldCommon.ROLE_ADMIN)) { + if (roleList != null && roleList.stream().anyMatch(adminRoleCodeList :: contains)) { return true; } @@ -355,12 +362,9 @@ public class EnterpriseStandardAuthUserServiceImpl extends ServiceImpl departIdModels = sysUserDepartService.queryDepartIdsOfUser(userId); - List departNames = departIdModels.stream().map(DepartIdModel::getTitle).collect(Collectors.toList()); // 获取当前用户的角色roleCode List roleList = sysUserRoleService.getRole(currentUser.getUsername()); - if (roleList != null && roleList.contains(FieldCommon.ROLE_ADMIN)) { + if (roleList != null && roleList.stream().anyMatch(adminRoleCodeList :: contains)) { records.forEach(kv -> kv.put(FieldCommon.EDIT_FLAG, true)); return; } @@ -397,7 +401,7 @@ public class EnterpriseStandardAuthUserServiceImpl extends ServiceImpl roleList = sysUserRoleService.getRole(currentUser.getUsername()); // 管理员能够删除所有试用期的企标 - if (roleList != null && roleList.contains(FieldCommon.ROLE_ADMIN)) { + if (roleList != null && roleList.stream().anyMatch(adminRoleCodeList :: contains)) { for (Map map : records) { String tryFlag = String.valueOf(map.get(FieldCommon.TRY_FLAG)); if (tryFlag.equals(YesOrNoEnum.NO.getValue())) { @@ -463,7 +467,7 @@ public class EnterpriseStandardAuthUserServiceImpl extends ServiceImpl roleList = sysUserRoleService.getRole(currentUser.getUsername()); - if (roleList != null && roleList.contains(FieldCommon.ROLE_ADMIN)) { + if (roleList != null && roleList.stream().anyMatch(adminRoleCodeList :: contains)) { return true; } @@ -585,7 +589,7 @@ public class EnterpriseStandardAuthUserServiceImpl extends ServiceImpl roleList = sysUserRoleService.getRole(currentUser.getUsername()); - if (roleList != null && roleList.contains(FieldCommon.ROLE_ADMIN)) { + if (roleList != null && roleList.stream().anyMatch(adminRoleCodeList :: contains)) { return true; } // 创建人可以删除 diff --git a/laws-single-startup/src/main/resources/application-dev.yml b/laws-single-startup/src/main/resources/application-dev.yml index f54d2031..e9870cb2 100644 --- a/laws-single-startup/src/main/resources/application-dev.yml +++ b/laws-single-startup/src/main/resources/application-dev.yml @@ -426,3 +426,6 @@ oauth: # 起草部门部门名称 draftDepartName: 起草部门 + +# 管理员权限roleCode,多填用英文逗号拼接 +adminRoleCode: admin diff --git a/laws-single-startup/src/main/resources/application-prod.yml b/laws-single-startup/src/main/resources/application-prod.yml index ddcf2b92..58241f7a 100644 --- a/laws-single-startup/src/main/resources/application-prod.yml +++ b/laws-single-startup/src/main/resources/application-prod.yml @@ -399,4 +399,7 @@ oauth: state: zhongQi # 起草部门部门名称 -draftDepartName: 流程与标准化 \ No newline at end of file +draftDepartName: 流程与标准化 + +# 管理员权限roleCode,多填用英文逗号拼接 +adminRoleCode: admin \ No newline at end of file