From 6d8b0a28f14c55b649a5ca5219b4a2d88efcd85a Mon Sep 17 00:00:00 2001 From: caihaohan Date: Wed, 1 Nov 2023 18:35:30 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E8=B5=B7=E8=8D=89=E9=83=A8=E9=97=A8?= =?UTF-8?q?=E7=9A=84=E4=BA=BA=E5=91=98=E5=85=B7=E6=9C=89=E6=89=80=E6=9C=89?= =?UTF-8?q?=E4=BC=81=E6=A0=87=E7=9A=84=E6=9F=A5=E7=9C=8B=E7=BC=96=E8=BE=91?= =?UTF-8?q?=E6=9D=83=E9=99=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/LawsCommonServiceImpl.java | 5 ++++- .../EnterpriseStandardAuthUserServiceImpl.java | 16 +++++++++++++--- 2 files changed, 17 insertions(+), 4 deletions(-) diff --git a/laws-modules/src/main/java/com/jero/modules/laws/common/service/impl/LawsCommonServiceImpl.java b/laws-modules/src/main/java/com/jero/modules/laws/common/service/impl/LawsCommonServiceImpl.java index 51860d3d..47d12dae 100644 --- a/laws-modules/src/main/java/com/jero/modules/laws/common/service/impl/LawsCommonServiceImpl.java +++ b/laws-modules/src/main/java/com/jero/modules/laws/common/service/impl/LawsCommonServiceImpl.java @@ -149,7 +149,10 @@ public class LawsCommonServiceImpl implements ILawsCommonService { // 筛选出用于查询的字段 List fieldListCondition = fieldList.stream().filter(lawsTag -> YesOrNoEnum.YES.getValue() .equals(lawsTag.getIsQuery().toString())).collect(Collectors.toList()); - + // 加一个create_by字段 + LawsTag createByTag = new LawsTag(); + createByTag.setDbFieldName(FieldCommon.CREATE_BY); + fieldListSelect.add(createByTag); // 获取分页参数 Integer pageNo = Integer.valueOf(parameterMap.get("pageNo").toString()); Integer pageSize = Integer.valueOf(parameterMap.get("pageSize").toString()); 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 7653b1fd..9f6b77b9 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 @@ -156,6 +156,7 @@ public class EnterpriseStandardAuthUserServiceImpl extends ServiceImpl departIdModels = sysUserDepartService.queryDepartIdsOfUser(userId); List departNames = departIdModels.stream().map(DepartIdModel::getTitle).collect(Collectors.toList()); @@ -172,7 +173,7 @@ public class EnterpriseStandardAuthUserServiceImpl extends ServiceImpl map : records) { String createBy = (String) map.get(FieldCommon.CREATE_BY); - if (userId.equals(createBy)) { + if (username.equals(createBy)) { map.put(FieldCommon.EDIT_FLAG, true); } else { map.put(FieldCommon.EDIT_FLAG, false); @@ -245,18 +246,27 @@ public class EnterpriseStandardAuthUserServiceImpl extends ServiceImpl idList = Arrays.asList(ids.split(",")); // 管理员有所有权限 SysUser currentUser = sysUserService.getById(userId); + String username = currentUser.getUsername(); + // 起草部门的人有所有权限 + List departIdModels = sysUserDepartService.queryDepartIdsOfUser(userId); + List departNames = departIdModels.stream().map(DepartIdModel::getTitle).collect(Collectors.toList()); + if (departNames.contains(draftDepartName)) { + return true; + } + // 获取当前用户的角色roleCode List roleList = sysUserRoleService.getRole(currentUser.getUsername()); if (roleList != null && roleList.contains(FieldCommon.ROLE_ADMIN)) { return true; } // 创建人可以删除 - List list = enterpriseStandardService.list(new LambdaQueryWrapper().in(LawsEnterpriseStandard::getId, ids)); + List list = enterpriseStandardService.list(new LambdaQueryWrapper().in(LawsEnterpriseStandard::getId, idList)); // 如果不是创建人,则直接返回false for (LawsEnterpriseStandard es : list) { - if (!es.getCreateBy().equals(userId)) { + if (!es.getCreateBy().equals(username)) { return false; } }