From 9297dad47225fca8df4c421df58874b1fc2025f7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=8E=8B=E9=B9=8F?= <877617829@qq.com> Date: Sun, 1 Dec 2024 13:39:00 +0800 Subject: [PATCH] =?UTF-8?q?=E3=80=90=E6=96=B0=E5=A2=9E=E3=80=91=E5=A2=9E?= =?UTF-8?q?=E5=8A=A0=E4=BA=8B=E4=BB=B6=E5=B9=BF=E6=92=AD=E6=96=B9=E6=B3=95?= =?UTF-8?q?=E5=8D=95=E6=95=B0=E6=8D=AE=E6=96=B0=E5=A2=9E=E3=80=81=E6=9B=B4?= =?UTF-8?q?=E6=96=B0=E4=BB=A5=E5=8F=8A=E5=88=A0=E9=99=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../listener/CommonDataChangeEventCenter.java | 39 ++++++++++++++ .../listener/CommonDataChangeListener.java | 51 +++++++++++++++++++ .../core/listener/SysDataChangeListener.java | 26 ++++++++++ 3 files changed, 116 insertions(+) diff --git a/snowy-common/src/main/java/vip/xiaonuo/common/listener/CommonDataChangeEventCenter.java b/snowy-common/src/main/java/vip/xiaonuo/common/listener/CommonDataChangeEventCenter.java index 0fb11878..531b93fd 100644 --- a/snowy-common/src/main/java/vip/xiaonuo/common/listener/CommonDataChangeEventCenter.java +++ b/snowy-common/src/main/java/vip/xiaonuo/common/listener/CommonDataChangeEventCenter.java @@ -13,6 +13,7 @@ package vip.xiaonuo.common.listener; import cn.hutool.json.JSONArray; +import cn.hutool.json.JSONObject; import cn.hutool.json.JSONUtil; import vip.xiaonuo.common.exception.CommonException; @@ -144,6 +145,19 @@ public class CommonDataChangeEventCenter { } } + /** + * 执行添加事件发布,数据 + * + * @author 每天一点 + * @date 2023/3/3 10:22 + **/ + public static void doAddWithData(String dataType, JSONObject jsonObject) { + for (CommonDataChangeListener listener : listenerList) { + listener.doAddWithDataId(dataType, JSONUtil.parseObj(jsonObject).getStr("id")); + listener.doAddWithData(dataType, jsonObject); + } + } + // --------- 事件发布-更新 --------- // /** @@ -159,6 +173,19 @@ public class CommonDataChangeEventCenter { } } + /** + * 执行更新事件发布,数据 + * + * @author 每天一点 + * @date 2023/3/3 10:22 + **/ + public static void doUpdateWithData(String dataType, JSONObject jsonObject) { + for (CommonDataChangeListener listener : listenerList) { + listener.doUpdateWithDataId(dataType, JSONUtil.parseObj(jsonObject).getStr("id")); + listener.doUpdateWithData(dataType, jsonObject); + } + } + // --------- 事件发布-删除 --------- // /** @@ -172,4 +199,16 @@ public class CommonDataChangeEventCenter { listener.doDeleteWithDataIdList(dataType, dataIdList); } } + + /** + * 执行删除事件发布,ID + * + * @author 每天一点 + * @date 2023/3/3 10:22 + **/ + public static void doDeleteWithDataId(String dataType, String dataId) { + for (CommonDataChangeListener listener : listenerList) { + listener.doDeleteWithDataId(dataType, dataId); + } + } } diff --git a/snowy-common/src/main/java/vip/xiaonuo/common/listener/CommonDataChangeListener.java b/snowy-common/src/main/java/vip/xiaonuo/common/listener/CommonDataChangeListener.java index d9d631ab..48777c26 100644 --- a/snowy-common/src/main/java/vip/xiaonuo/common/listener/CommonDataChangeListener.java +++ b/snowy-common/src/main/java/vip/xiaonuo/common/listener/CommonDataChangeListener.java @@ -13,6 +13,7 @@ package vip.xiaonuo.common.listener; import cn.hutool.json.JSONArray; +import cn.hutool.json.JSONObject; import java.util.List; @@ -24,6 +25,16 @@ import java.util.List; **/ public interface CommonDataChangeListener { + /** + * 执行添加,ID + * + * @param dataType 数据类型,如USER、ORG,自行定义 + * @param dataId 被添加的数据ID + * @author 每天一点 + * @date 2023/3/3 10:24 + **/ + void doAddWithDataId(String dataType, String dataId); + /** * 执行添加,ID集合 * @@ -34,6 +45,16 @@ public interface CommonDataChangeListener { **/ void doAddWithDataIdList(String dataType, List dataIdList); + /** + * 执行添加,数据 + * + * @param dataType 数据类型,如USER、ORG,自行定义 + * @param jsonObject 被添加的数据 + * @author 每天一点 + * @date 2023/3/3 10:24 + **/ + void doAddWithData(String dataType, JSONObject jsonObject); + /** * 执行添加,数据集合 * @@ -44,6 +65,16 @@ public interface CommonDataChangeListener { **/ void doAddWithDataList(String dataType, JSONArray jsonArray); + /** + * 执行更新,ID + * + * @param dataType 数据类型,如USER、ORG,自行定义 + * @param dataId 被更新的数据ID + * @author xuyuxiang + * @date 2023/3/3 10:24 + **/ + void doUpdateWithDataId(String dataType, String dataId); + /** * 执行更新,ID集合 * @@ -54,6 +85,16 @@ public interface CommonDataChangeListener { **/ void doUpdateWithDataIdList(String dataType, List dataIdList); + /** + * 执行更新,数据 + * + * @param dataType 数据类型,如USER、ORG,自行定义 + * @param jsonObject 被更新的数据 + * @author xuyuxiang + * @date 2023/3/3 10:24 + **/ + void doUpdateWithData(String dataType, JSONObject jsonObject); + /** * 执行更新,数据集合 * @@ -64,6 +105,16 @@ public interface CommonDataChangeListener { **/ void doUpdateWithDataList(String dataType, JSONArray jsonArray); + /** + * 执行删除,ID + * + * @param dataType 数据类型,如USER、ORG,自行定义 + * @param dataId 被删除的数据ID + * @author xuyuxiang + * @date 2023/3/3 10:24 + **/ + void doDeleteWithDataId(String dataType, String dataId); + /** * 执行删除,ID集合 * diff --git a/snowy-plugin/snowy-plugin-sys/src/main/java/vip/xiaonuo/sys/core/listener/SysDataChangeListener.java b/snowy-plugin/snowy-plugin-sys/src/main/java/vip/xiaonuo/sys/core/listener/SysDataChangeListener.java index 7f566325..fccd3bfc 100644 --- a/snowy-plugin/snowy-plugin-sys/src/main/java/vip/xiaonuo/sys/core/listener/SysDataChangeListener.java +++ b/snowy-plugin/snowy-plugin-sys/src/main/java/vip/xiaonuo/sys/core/listener/SysDataChangeListener.java @@ -14,6 +14,7 @@ package vip.xiaonuo.sys.core.listener; import cn.dev33.satoken.stp.StpUtil; import cn.hutool.json.JSONArray; +import cn.hutool.json.JSONObject; import jakarta.annotation.Resource; import org.springframework.stereotype.Component; import vip.xiaonuo.auth.core.pojo.SaBaseLoginUser; @@ -38,6 +39,11 @@ public class SysDataChangeListener implements CommonDataChangeListener { @Resource private CommonCacheOperator commonCacheOperator; + @Override + public void doAddWithDataId(String dataType, String dataId) { + // 此处可做额外处理 + } + @Override public void doAddWithDataIdList(String dataType, List dataIdList) { // 如果检测到机构增加,则将机构的数据缓存清除 @@ -56,11 +62,21 @@ public class SysDataChangeListener implements CommonDataChangeListener { } } + @Override + public void doAddWithData(String dataType, JSONObject jsonObject) { + // 此处可做额外处理 + } + @Override public void doAddWithDataList(String dataType, JSONArray jsonArray) { // 此处可做额外处理 } + @Override + public void doUpdateWithDataId(String dataType, String dataId) { + // 此处可做额外处理 + } + @Override public void doUpdateWithDataIdList(String dataType, List dataIdList) { // 如果检测到机构更新,则将机构的数据缓存清除 @@ -73,11 +89,21 @@ public class SysDataChangeListener implements CommonDataChangeListener { } } + @Override + public void doUpdateWithData(String dataType, JSONObject jsonObject) { + // 此处可做额外处理 + } + @Override public void doUpdateWithDataList(String dataType, JSONArray jsonArray) { // 此处可做额外处理 } + @Override + public void doDeleteWithDataId(String dataType, String dataId) { + // 此处可做额外处理 + } + @Override public void doDeleteWithDataIdList(String dataType, List dataIdList) { // 如果检测到机构增加,则将机构的数据缓存清除