diff --git a/kernel-s-system/system-business-hr/pom.xml b/kernel-s-system/system-business-hr/pom.xml index c311a82ae..1a0ae59a8 100644 --- a/kernel-s-system/system-business-hr/pom.xml +++ b/kernel-s-system/system-business-hr/pom.xml @@ -21,6 +21,7 @@ cn.stylefeng.roses event-spring-boot-starter + ${roses.version} diff --git a/kernel-s-system/system-business-hr/src/main/java/cn/stylefeng/roses/kernel/sys/modular/org/constants/OrgConstants.java b/kernel-s-system/system-business-hr/src/main/java/cn/stylefeng/roses/kernel/sys/modular/org/constants/OrgConstants.java index b295ac22c..bd24783d3 100644 --- a/kernel-s-system/system-business-hr/src/main/java/cn/stylefeng/roses/kernel/sys/modular/org/constants/OrgConstants.java +++ b/kernel-s-system/system-business-hr/src/main/java/cn/stylefeng/roses/kernel/sys/modular/org/constants/OrgConstants.java @@ -37,4 +37,9 @@ public interface OrgConstants { */ String NONE_PARENT_ORG = "无上级机构"; + /** + * 添加组织机构的事件监听 + */ + String ADD_ORG_EVENT = "ADD_ORG_EVENT"; + } 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 deleted file mode 100644 index 18da3c6aa..000000000 --- a/kernel-s-system/system-business-hr/src/main/java/cn/stylefeng/roses/kernel/sys/modular/org/enums/OrgEventEnums.java +++ /dev/null @@ -1,16 +0,0 @@ -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/OrgOperateListener.java similarity index 63% rename from kernel-s-system/system-business-hr/src/main/java/cn/stylefeng/roses/kernel/sys/modular/org/listener/AddOrgListener.java rename to kernel-s-system/system-business-hr/src/main/java/cn/stylefeng/roses/kernel/sys/modular/org/listener/OrgOperateListener.java index b721d7e02..7a374692d 100644 --- 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/OrgOperateListener.java @@ -2,31 +2,33 @@ 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.event.api.annotation.BusinessListener; +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 org.springframework.stereotype.Service; import javax.annotation.Resource; /** - * 添加组织机构的 + * 添加组织机构的事件监听器 * * @author fengshuonan * @since 2023/7/14 14:19 */ @Service -public class AddOrgListener { +public class OrgOperateListener { @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) { + /** + * 监听新增组织机构,删除相关的缓存 + * + * @author fengshuonan + * @since 2023/7/14 16:22 + */ + @BusinessListener(businessCode = OrgConstants.ADD_ORG_EVENT) + public void addOrgCallback(HrOrganization businessObject) { if (ObjectUtil.isNotEmpty(businessObject.getOrgId())) { sysOrgSubFlagCache.remove(String.valueOf(businessObject.getOrgId())); 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 e3b0b9b7a..30ba08bbc 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 @@ -12,6 +12,7 @@ import cn.stylefeng.roses.kernel.db.api.factory.PageFactory; import cn.stylefeng.roses.kernel.db.api.factory.PageResultFactory; import cn.stylefeng.roses.kernel.db.api.pojo.entity.BaseEntity; import cn.stylefeng.roses.kernel.db.api.pojo.page.PageResult; +import cn.stylefeng.roses.kernel.event.sdk.publish.BusinessEventPublisher; import cn.stylefeng.roses.kernel.rule.constants.TreeConstants; import cn.stylefeng.roses.kernel.rule.exception.base.ServiceException; import cn.stylefeng.roses.kernel.rule.tree.factory.DefaultTreeBuildFactory; @@ -21,7 +22,6 @@ 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; @@ -79,7 +79,7 @@ public class HrOrganizationServiceImpl extends ServiceImpl wrapper = this.createCommonTreeWrapper(commonOrgTreeRequest); - wrapper.select(HrOrganization::getOrgId, HrOrganization::getOrgPids, - HrOrganization::getOrgParentId, HrOrganization::getOrgName, HrOrganization::getOrgSort, - HrOrganization::getOrgType); + wrapper.select(HrOrganization::getOrgId, HrOrganization::getOrgPids, HrOrganization::getOrgParentId, HrOrganization::getOrgName, + HrOrganization::getOrgSort, HrOrganization::getOrgType); List hrOrganizationList = this.list(wrapper); if (ObjectUtil.isEmpty(hrOrganizationList)) {