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)) {