From e66e088cdaa8806990cc4baba3cf0b2c9982d22b Mon Sep 17 00:00:00 2001 From: OTTO <731554297@qq.com> Date: Wed, 19 Jun 2024 14:30:50 +0800 Subject: [PATCH] =?UTF-8?q?refactor(=E7=B3=BB=E7=BB=9F=E5=BE=AE=E6=9C=8D?= =?UTF-8?q?=E5=8A=A1=E4=BB=A3=E7=A0=81=E9=80=BB=E8=BE=91=E4=BC=98=E5=8C=96?= =?UTF-8?q?):=20=E7=BB=84=E7=BB=87=E7=B1=BB=E5=9E=8B=E9=80=9A=E8=BF=87?= =?UTF-8?q?=E5=B8=B8=E9=87=8F=E5=88=A4=E6=96=AD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../common/core/constant/CacheConstants.java | 13 ++-- .../service/impl/SysDeptServiceImpl.java | 61 ++++++------------- .../impl/SysUserDeptRoleServiceImpl.java | 22 ++----- 3 files changed, 28 insertions(+), 68 deletions(-) diff --git a/microservices-common/microservices-common-core/src/main/java/com/microservices/common/core/constant/CacheConstants.java b/microservices-common/microservices-common-core/src/main/java/com/microservices/common/core/constant/CacheConstants.java index 0f7823ad4..782d9c288 100644 --- a/microservices-common/microservices-common-core/src/main/java/com/microservices/common/core/constant/CacheConstants.java +++ b/microservices-common/microservices-common-core/src/main/java/com/microservices/common/core/constant/CacheConstants.java @@ -116,11 +116,6 @@ public class CacheConstants */ public static final String SYS_LOGIN_BLACKIPLIST = SYS_CONFIG_KEY + "sys.login.blackIPList"; - /** - * 组织类型 sys_dict key - */ - public static final String SYS_DICT_DEPT_TYPE = "dept_type"; - /** * 文件类型 sys_dict key */ @@ -131,14 +126,14 @@ public class CacheConstants public static final String SYS_DICT_GITLINK_PROJECT_PROPERTIES = "gitlink_project_properties"; /** - * 组织类型-特色专区 sys_dict_data label + * 组织类型-特色专区 */ - public static final String SYS_DICT_DEPT_TYPE_TSZQ = "特色专区"; + public static final int DEPT_TYPE_TSZQ = 1; /** - * 组织类型-项目管理 sys_dict_data label + * 组织类型-项目管理 */ - public static final String SYS_DICT_DEPT_TYPE_PMS = "项目管理"; + public static final int DEPT_TYPE_PMS = 2; /** * 特色专区字典 zone key diff --git a/microservices-modules/microservices-modules-system/src/main/java/com/microservices/system/service/impl/SysDeptServiceImpl.java b/microservices-modules/microservices-modules-system/src/main/java/com/microservices/system/service/impl/SysDeptServiceImpl.java index f7eb823df..cbc3492a7 100644 --- a/microservices-modules/microservices-modules-system/src/main/java/com/microservices/system/service/impl/SysDeptServiceImpl.java +++ b/microservices-modules/microservices-modules-system/src/main/java/com/microservices/system/service/impl/SysDeptServiceImpl.java @@ -9,11 +9,9 @@ import com.microservices.common.core.text.Convert; import com.microservices.common.core.utils.DateUtils; import com.microservices.common.core.utils.StringUtils; import com.microservices.common.datascope.annotation.DataScope; -import com.microservices.common.security.utils.DictUtils; import com.microservices.common.security.utils.SecurityUtils; import com.microservices.system.api.RemoteZoneService; import com.microservices.system.api.domain.SysDept; -import com.microservices.system.api.domain.SysDictData; import com.microservices.system.api.domain.SysRole; import com.microservices.system.api.domain.SysUser; import com.microservices.system.api.utils.FeignUtils; @@ -243,12 +241,7 @@ public class SysDeptServiceImpl implements ISysDeptService { @Override public Long addDeptByZone(String zoneName) { - SysDictData deptTypeData = DictUtils.getDictDataCacheByLabel(CacheConstants.SYS_DICT_DEPT_TYPE, CacheConstants.SYS_DICT_DEPT_TYPE_TSZQ); - if (deptTypeData == null) { - throw new ServiceException("当前不支持[%s]类型", CacheConstants.SYS_DICT_DEPT_TYPE_TSZQ); - } - Integer deptTypeValue = Integer.valueOf(deptTypeData.getDictValue()); - SysDept parentDept = deptMapper.selectParentDeptByType(deptTypeValue); + SysDept parentDept = deptMapper.selectParentDeptByType(CacheConstants.DEPT_TYPE_TSZQ); // 如果父节点不为正常状态,则不允许新增子节点 if (parentDept == null || !UserConstants.DEPT_NORMAL.equals(parentDept.getStatus())) { throw new ServiceException("当前部门停用,不允许新增"); @@ -277,12 +270,8 @@ public class SysDeptServiceImpl implements ISysDeptService { @Override public Long addDeptByPmsEnterprise(String pmsEnterpriseName) { - SysDictData deptTypeData = DictUtils.getDictDataCacheByLabel(CacheConstants.SYS_DICT_DEPT_TYPE, CacheConstants.SYS_DICT_DEPT_TYPE_PMS); - if (deptTypeData == null) { - throw new ServiceException("当前不支持[%s]类型", CacheConstants.SYS_DICT_DEPT_TYPE_PMS); - } - Integer deptTypeValue = Integer.valueOf(deptTypeData.getDictValue()); - SysDept parentDept = deptMapper.selectParentDeptByType(deptTypeValue); + + SysDept parentDept = deptMapper.selectParentDeptByType(CacheConstants.DEPT_TYPE_PMS); if (parentDept == null) { SysDept firstDept = deptMapper.selectFirstDept(); parentDept = insertSysDept(firstDept, "项目管理部"); @@ -332,13 +321,8 @@ public class SysDeptServiceImpl implements ISysDeptService { @Override public Boolean deleteDeptByPmsEnterprise(String pmsEnterpriseName) { - SysDictData deptTypeData = DictUtils.getDictDataCacheByLabel(CacheConstants.SYS_DICT_DEPT_TYPE, CacheConstants.SYS_DICT_DEPT_TYPE_PMS); - if (deptTypeData == null) { - throw new ServiceException("当前不支持[%s]类型", CacheConstants.SYS_DICT_DEPT_TYPE_PMS); - } - Integer deptTypeValue = Integer.valueOf(deptTypeData.getDictValue()); // 查找项目管理父级部门,若不存在则返回true - SysDept parentDept = deptMapper.selectParentDeptByType(deptTypeValue); + SysDept parentDept = deptMapper.selectParentDeptByType(CacheConstants.DEPT_TYPE_PMS); if (parentDept == null) { return true; } @@ -421,25 +405,20 @@ public class SysDeptServiceImpl implements ISysDeptService { if (dept.getDeptType() == null) { errorMessage = "请先设置上级组织的组织类型(上级组织Id[" + dept.getParentId() + "])"; } else { - String deptTypeLabel = DictUtils.getDictDataLabelByValue(CacheConstants.SYS_DICT_DEPT_TYPE, String.valueOf(dept.getDeptType())); - if (deptTypeLabel == null) { - errorMessage = "该组织的组织类型错误(组织类型Id[" + dept.getDeptType() + "])"; - } else { - switch (deptTypeLabel) { - case CacheConstants.SYS_DICT_DEPT_TYPE_TSZQ: - if (isAdd) { - // 设置该组织下可选角色为:专区管理员、专区运营人员、专区会员 - addDefaultRoleForDept(dept); - errorMessage = createProjectByDept(dept); - } else { - errorMessage = updateProjectByDept(dept); - } + switch (dept.getDeptType()) { + case CacheConstants.DEPT_TYPE_TSZQ: + if (isAdd) { + // 设置该组织下可选角色为:专区管理员、专区运营人员、专区会员 + addDefaultRoleForDept(dept); + errorMessage = createProjectByDept(dept); + } else { + errorMessage = updateProjectByDept(dept); + } - result = !StringUtils.isNotEmpty(errorMessage); - break; - default: - errorMessage = "该组织类型当前不存在对应的业务方自动处理逻辑(组织类型[" + deptTypeLabel + "])"; - } + result = !StringUtils.isNotEmpty(errorMessage); + break; + default: + errorMessage = "该组织类型当前不存在对应的业务方自动处理逻辑(组织类型[" + dept.getDeptType() + "])"; } } @@ -588,11 +567,7 @@ public class SysDeptServiceImpl implements ISysDeptService { SysDept dept = selectDeptById(deptId); // 删除组织下用户 sysUserDeptRoleService.deleteSysUserDeptRoleByDeptId(deptId); - SysDictData deptTypeData = DictUtils.getDictDataCacheByValue(CacheConstants.SYS_DICT_DEPT_TYPE, String.valueOf(dept.getDeptType())); - if (deptTypeData == null) { - throw new ServiceException("该组织的组织类型错误(组织类型Id[" + dept.getDeptType() + "])"); - } - if (CacheConstants.SYS_DICT_DEPT_TYPE_TSZQ.equals(deptTypeData.getDictLabel())) { + if (CacheConstants.DEPT_TYPE_TSZQ == dept.getDeptType()) { // 删除专区相关数据 remoteZoneService.deleteByDeptName(dept.getDeptName(), SecurityConstants.INNER); // 删除组织下用户 diff --git a/microservices-modules/microservices-modules-system/src/main/java/com/microservices/system/service/impl/SysUserDeptRoleServiceImpl.java b/microservices-modules/microservices-modules-system/src/main/java/com/microservices/system/service/impl/SysUserDeptRoleServiceImpl.java index a607a599f..6cd37fc0e 100644 --- a/microservices-modules/microservices-modules-system/src/main/java/com/microservices/system/service/impl/SysUserDeptRoleServiceImpl.java +++ b/microservices-modules/microservices-modules-system/src/main/java/com/microservices/system/service/impl/SysUserDeptRoleServiceImpl.java @@ -13,7 +13,6 @@ import com.microservices.common.httpClient.domain.GitLinkRequestUrl; import com.microservices.common.httpClient.util.GitLinkRequestHelper; import com.microservices.common.redis.service.RedisService; import com.microservices.common.security.service.TokenService; -import com.microservices.common.security.utils.DictUtils; import com.microservices.common.security.utils.SecurityUtils; import com.microservices.system.api.RemoteCmsService; import com.microservices.system.api.RemotePmsService; @@ -25,7 +24,6 @@ import com.microservices.system.api.domain.SysUserDeptRole; import com.microservices.system.api.utils.FeignUtils; import com.microservices.system.domain.dto.GitLinkUserDeptRoleByDeptInput; import com.microservices.system.domain.dto.SysUserDeptRoleByDeptInput; -import com.microservices.system.domain.dto.SysUserDeptRoleByUserInput; import com.microservices.system.domain.vo.GitLinkUserSearchVo; import com.microservices.system.mapper.SysDeptMapper; import com.microservices.system.mapper.SysUserDeptRoleMapper; @@ -223,12 +221,8 @@ public class SysUserDeptRoleServiceImpl implements ISysUserDeptRoleService { if (!secondaryDeptIds.contains(dept.getDeptId())) { if (secondaryDeptIds.contains(dept.getParentId())) { - String deptTypeLabel = DictUtils.getDictDataLabelByValue(CacheConstants.SYS_DICT_DEPT_TYPE, String.valueOf(dept.getDeptType())); - if (deptTypeLabel == null) { - throw new ServiceException("该组织的组织类型错误(组织类型Id[" + dept.getDeptType() + "])"); - } - switch (deptTypeLabel) { - case CacheConstants.SYS_DICT_DEPT_TYPE_TSZQ: { + switch (dept.getDeptType()) { + case CacheConstants.DEPT_TYPE_TSZQ: { //如果用户为三级组织,则将用户加入到专区对应项目中 switch (operate) { case OPERATE_ADD: { @@ -260,7 +254,7 @@ public class SysUserDeptRoleServiceImpl implements ISysUserDeptRoleService { } break; } - case CacheConstants.SYS_DICT_DEPT_TYPE_PMS: { + case CacheConstants.DEPT_TYPE_PMS: { // 更新或移出用户时,需检查角色是否为组织管理员,项目管理中至少保留一位组织管理员 if (oldRoleId != null) { SysRole orgAdminRole = sysRoleService.selectRoleByKey(SystemRole.PMS_ORG_ADMIN.getRoleKey()); @@ -354,11 +348,10 @@ public class SysUserDeptRoleServiceImpl implements ISysUserDeptRoleService { sysUserDeptRole.setUserId(userId); sysUserDeptRole.setDeptId(deptId); sysUserDeptRole.setRoleId(roleId); - return updateSysUserDeptRole(sysUserDeptRole); + updateSysUserDeptRole(sysUserDeptRole); } - private int updateSysUserDeptRole(SysUserDeptRole sysUserDeptRoleInput) { - int success = 0; + private void updateSysUserDeptRole(SysUserDeptRole sysUserDeptRoleInput) { SysDept sysDept = sysDeptRoleService.selectSysDeptById(sysUserDeptRoleInput.getDeptId()); SysUserDeptRole sysUserDeptRole = getSysUserDeptRole(sysUserDeptRoleInput); @@ -369,12 +362,9 @@ public class SysUserDeptRoleServiceImpl implements ISysUserDeptRoleService { "部门名称[" + sysDept.getDeptName() + "])"); } if (!sysUserDeptRole.equals(sysUserDeptRoleInput)) { - success += sysUserDeptRoleMapper.updateSysUserDeptRole(sysUserDeptRoleInput); + sysUserDeptRoleMapper.updateSysUserDeptRole(sysUserDeptRoleInput); updateUserLoginInfoByUserId(sysUserDeptRoleInput.getUserId()); - } else { - success++; } - return success; } @Override