From 587ce34c1c9d6c69d86de735dd91c8e72c7363ce Mon Sep 17 00:00:00 2001 From: fengshuonan Date: Fri, 14 Jul 2023 15:43:06 +0800 Subject: [PATCH] =?UTF-8?q?=E3=80=908.0=E3=80=91=E3=80=90org=E3=80=91?= =?UTF-8?q?=E6=9B=B4=E6=96=B0=E5=AF=B9event=E7=9A=84=E4=BE=9D=E8=B5=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- kernel-s-system/system-business-hr/pom.xml | 6 +++ .../sys/modular/org/enums/OrgEventEnums.java | 16 ++++++++ .../modular/org/listener/AddOrgListener.java | 41 +++++++++++++++++++ .../impl/HrOrganizationServiceImpl.java | 4 ++ 4 files changed, 67 insertions(+) create mode 100644 kernel-s-system/system-business-hr/src/main/java/cn/stylefeng/roses/kernel/sys/modular/org/enums/OrgEventEnums.java create mode 100644 kernel-s-system/system-business-hr/src/main/java/cn/stylefeng/roses/kernel/sys/modular/org/listener/AddOrgListener.java diff --git a/kernel-s-system/system-business-hr/pom.xml b/kernel-s-system/system-business-hr/pom.xml index bfaf89bdc..c311a82ae 100644 --- a/kernel-s-system/system-business-hr/pom.xml +++ b/kernel-s-system/system-business-hr/pom.xml @@ -17,6 +17,12 @@ + + + cn.stylefeng.roses + event-spring-boot-starter + + cn.stylefeng.roses diff --git a/kernel-s-system/system-business-hr/src/main/java/cn/stylefeng/roses/kernel/sys/modular/org/enums/OrgEventEnums.java b/kernel-s-system/system-business-hr/src/main/java/cn/stylefeng/roses/kernel/sys/modular/org/enums/OrgEventEnums.java new file mode 100644 index 000000000..18da3c6aa --- /dev/null +++ b/kernel-s-system/system-business-hr/src/main/java/cn/stylefeng/roses/kernel/sys/modular/org/enums/OrgEventEnums.java @@ -0,0 +1,16 @@ +package cn.stylefeng.roses.kernel.sys.modular.org.enums; + +/** + * 添加组织机构的事件 + * + * @author fengshuonan + * @since 2023/7/14 14:18 + */ +public enum OrgEventEnums { + + /** + * 添加组织机构的事件 + */ + ADD_ORG_EVENT + +} diff --git a/kernel-s-system/system-business-hr/src/main/java/cn/stylefeng/roses/kernel/sys/modular/org/listener/AddOrgListener.java b/kernel-s-system/system-business-hr/src/main/java/cn/stylefeng/roses/kernel/sys/modular/org/listener/AddOrgListener.java new file mode 100644 index 000000000..b721d7e02 --- /dev/null +++ b/kernel-s-system/system-business-hr/src/main/java/cn/stylefeng/roses/kernel/sys/modular/org/listener/AddOrgListener.java @@ -0,0 +1,41 @@ +package cn.stylefeng.roses.kernel.sys.modular.org.listener; + +import cn.hutool.core.util.ObjectUtil; +import cn.stylefeng.roses.kernel.cache.api.CacheOperatorApi; +import cn.stylefeng.roses.kernel.sys.modular.org.entity.HrOrganization; +import cn.stylefeng.roses.kernel.sys.modular.org.enums.OrgEventEnums; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; + +/** + * 添加组织机构的 + * + * @author fengshuonan + * @since 2023/7/14 14:19 + */ +@Service +public class AddOrgListener { + + @Resource(name = "sysOrgSubFlagCache") + private CacheOperatorApi sysOrgSubFlagCache; + + @Override + public String getBusinessCode() { + return OrgEventEnums.ADD_ORG_EVENT.name(); + } + + @(OrgEventEnums.ADD_ORG_EVENT) + public void doCallbackAction(HrOrganization businessObject) { + + if (ObjectUtil.isNotEmpty(businessObject.getOrgId())) { + sysOrgSubFlagCache.remove(String.valueOf(businessObject.getOrgId())); + } + + if (ObjectUtil.isNotEmpty(businessObject.getOrgParentId())) { + sysOrgSubFlagCache.remove(String.valueOf(businessObject.getOrgParentId())); + } + + } + +} 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 139c505b7..e3b0b9b7a 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 @@ -21,6 +21,7 @@ import cn.stylefeng.roses.kernel.sys.api.exception.enums.OrgExceptionEnum; import cn.stylefeng.roses.kernel.sys.api.pojo.org.CompanyDeptDTO; import cn.stylefeng.roses.kernel.sys.modular.org.constants.OrgConstants; import cn.stylefeng.roses.kernel.sys.modular.org.entity.HrOrganization; +import cn.stylefeng.roses.kernel.sys.modular.org.enums.OrgEventEnums; import cn.stylefeng.roses.kernel.sys.modular.org.factory.OrganizationFactory; import cn.stylefeng.roses.kernel.sys.modular.org.mapper.HrOrganizationMapper; import cn.stylefeng.roses.kernel.sys.modular.org.pojo.request.CommonOrgTreeRequest; @@ -76,6 +77,9 @@ public class HrOrganizationServiceImpl extends ServiceImpl