From e3c48a828ff2e4c39a6e18f4ca299914c111b756 Mon Sep 17 00:00:00 2001 From: stylefeng Date: Fri, 10 Jan 2025 13:57:00 +0800 Subject: [PATCH] =?UTF-8?q?=E3=80=908.3.3=E3=80=91=E3=80=90system=E3=80=91?= =?UTF-8?q?=E3=80=90cache=E3=80=91=E6=9B=B4=E6=96=B0=E7=BB=84=E7=BB=87?= =?UTF-8?q?=E6=9C=BA=E6=9E=84=E7=BC=93=E5=AD=98=E7=9A=84=E5=BA=94=E7=94=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../api/format/CompanyNameFormatProcess.java | 2 ++ .../api/format/OrgDetailFormatProcess.java | 2 ++ .../sys/api/format/OrgNameFormatProcess.java | 2 ++ .../sys/api/pojo/org/HrOrganizationDTO.java | 6 ++++ .../impl/HrOrganizationServiceImpl.java | 35 ++++++++----------- 5 files changed, 27 insertions(+), 20 deletions(-) diff --git a/kernel-s-system/system-api/src/main/java/cn/stylefeng/roses/kernel/sys/api/format/CompanyNameFormatProcess.java b/kernel-s-system/system-api/src/main/java/cn/stylefeng/roses/kernel/sys/api/format/CompanyNameFormatProcess.java index fd2ac53f0..7f62f3431 100644 --- a/kernel-s-system/system-api/src/main/java/cn/stylefeng/roses/kernel/sys/api/format/CompanyNameFormatProcess.java +++ b/kernel-s-system/system-api/src/main/java/cn/stylefeng/roses/kernel/sys/api/format/CompanyNameFormatProcess.java @@ -9,6 +9,8 @@ import cn.stylefeng.roses.kernel.sys.api.pojo.org.CompanyDeptDTO; /** * 获取公司名称的处理 + *

+ * 优先从缓存获取数据,进行名称的获取 * * @author fengshuonan * @since 2024-01-16 20:10 diff --git a/kernel-s-system/system-api/src/main/java/cn/stylefeng/roses/kernel/sys/api/format/OrgDetailFormatProcess.java b/kernel-s-system/system-api/src/main/java/cn/stylefeng/roses/kernel/sys/api/format/OrgDetailFormatProcess.java index 013164161..aabc135c3 100644 --- a/kernel-s-system/system-api/src/main/java/cn/stylefeng/roses/kernel/sys/api/format/OrgDetailFormatProcess.java +++ b/kernel-s-system/system-api/src/main/java/cn/stylefeng/roses/kernel/sys/api/format/OrgDetailFormatProcess.java @@ -9,6 +9,8 @@ import java.util.HashMap; /** * 组织机构id格式化为获取机构的详情 + *

+ * 优先从缓存获取数据,进行名称的获取 * * @author fengshuonan * @since 2023/7/17 15:36 diff --git a/kernel-s-system/system-api/src/main/java/cn/stylefeng/roses/kernel/sys/api/format/OrgNameFormatProcess.java b/kernel-s-system/system-api/src/main/java/cn/stylefeng/roses/kernel/sys/api/format/OrgNameFormatProcess.java index 2ca187704..f4c4cde58 100644 --- a/kernel-s-system/system-api/src/main/java/cn/stylefeng/roses/kernel/sys/api/format/OrgNameFormatProcess.java +++ b/kernel-s-system/system-api/src/main/java/cn/stylefeng/roses/kernel/sys/api/format/OrgNameFormatProcess.java @@ -7,6 +7,8 @@ import cn.stylefeng.roses.kernel.sys.api.OrganizationServiceApi; /** * 获取机构名称的处理 + *

+ * 采用组织机构详情缓存,加速获取 * * @author fengshuonan * @since 2023/7/14 16:46 diff --git a/kernel-s-system/system-api/src/main/java/cn/stylefeng/roses/kernel/sys/api/pojo/org/HrOrganizationDTO.java b/kernel-s-system/system-api/src/main/java/cn/stylefeng/roses/kernel/sys/api/pojo/org/HrOrganizationDTO.java index dcf90f130..40d39bbe9 100644 --- a/kernel-s-system/system-api/src/main/java/cn/stylefeng/roses/kernel/sys/api/pojo/org/HrOrganizationDTO.java +++ b/kernel-s-system/system-api/src/main/java/cn/stylefeng/roses/kernel/sys/api/pojo/org/HrOrganizationDTO.java @@ -44,6 +44,12 @@ public class HrOrganizationDTO { @ChineseDescription("主键") private Long orgId; + /** + * 组织机构类型:1-公司,2-部门 + */ + @ChineseDescription("组织机构类型:1-公司,2-部门") + private Integer orgType; + /** * 父id */ diff --git a/kernel-s-system/system-business-hr/src/main/java/cn/stylefeng/roses/kernel/sys/modular/org/service/impl/HrOrganizationServiceImpl.java b/kernel-s-system/system-business-hr/src/main/java/cn/stylefeng/roses/kernel/sys/modular/org/service/impl/HrOrganizationServiceImpl.java index c79f8a378..aad6d28f9 100644 --- a/kernel-s-system/system-business-hr/src/main/java/cn/stylefeng/roses/kernel/sys/modular/org/service/impl/HrOrganizationServiceImpl.java +++ b/kernel-s-system/system-business-hr/src/main/java/cn/stylefeng/roses/kernel/sys/modular/org/service/impl/HrOrganizationServiceImpl.java @@ -344,8 +344,11 @@ public class HrOrganizationServiceImpl extends ServiceImpl hrOrganizationLambdaQueryWrapper = new LambdaQueryWrapper<>(); - hrOrganizationLambdaQueryWrapper.eq(HrOrganization::getOrgId, orgId); - hrOrganizationLambdaQueryWrapper.select(HrOrganization::getOrgType, HrOrganization::getOrgId, HrOrganization::getOrgParentId); - HrOrganization hrOrganization = this.getOne(hrOrganizationLambdaQueryWrapper, false); - - if (hrOrganization == null) { + HrOrganizationDTO orgInfo = this.getOrgInfo(orgId); + if (orgInfo == null) { return null; } // 查询机构对应的公司部门信息 + HrOrganization hrOrganization = new HrOrganization(); + BeanUtil.copyProperties(orgInfo, hrOrganization); return this.getOrgCompanyInfo(hrOrganization); } @@ -384,8 +385,9 @@ public class HrOrganizationServiceImpl extends ServiceImpl hrOrganizationLambdaQueryWrapper = new LambdaQueryWrapper<>(); hrOrganizationLambdaQueryWrapper.eq(HrOrganization::getOrgId, orgId); - hrOrganizationLambdaQueryWrapper.select(HrOrganization::getOrgId, HrOrganization::getOrgParentId, HrOrganization::getOrgPids, - HrOrganization::getOrgName, HrOrganization::getOrgShortName, HrOrganization::getOrgSort, HrOrganization::getOrgCode); + hrOrganizationLambdaQueryWrapper.select(HrOrganization::getOrgId, HrOrganization::getOrgType, + HrOrganization::getOrgParentId, HrOrganization::getOrgPids, HrOrganization::getOrgName, + HrOrganization::getOrgShortName, HrOrganization::getOrgSort, HrOrganization::getOrgCode); HrOrganization hrOrganization = this.getOne(hrOrganizationLambdaQueryWrapper, false); if (ObjectUtil.isEmpty(hrOrganization)) { @@ -578,16 +580,9 @@ public class HrOrganizationServiceImpl extends ServiceImpl hrOrganizationLambdaQueryWrapper = new LambdaQueryWrapper<>(); - hrOrganizationLambdaQueryWrapper.eq(HrOrganization::getOrgId, orgId); - hrOrganizationLambdaQueryWrapper.select(HrOrganization::getOrgName); - HrOrganization one = this.getOne(hrOrganizationLambdaQueryWrapper); - - if (one != null) { - return one.getOrgName(); - } - - return OrgConstants.NONE_PARENT_ORG; + // 获取组织机构详情 + HrOrganizationDTO orgInfo = this.getOrgInfo(orgId); + return orgInfo.getOrgName(); } @Override