From b53cbf932f523f5af32585b45902316666a82334 Mon Sep 17 00:00:00 2001
From: cy <1664593601@qq.com>
Date: 星期六, 09 十二月 2023 10:02:46 +0800
Subject: [PATCH] feat: 码表aop

---
 consum-base/src/main/java/com/consum/base/aop/DictDataAop.java |   66 +++++++++++++++++++++++++++++++++
 1 files changed, 66 insertions(+), 0 deletions(-)

diff --git a/consum-base/src/main/java/com/consum/base/aop/DictDataAop.java b/consum-base/src/main/java/com/consum/base/aop/DictDataAop.java
new file mode 100644
index 0000000..fd89f8c
--- /dev/null
+++ b/consum-base/src/main/java/com/consum/base/aop/DictDataAop.java
@@ -0,0 +1,66 @@
+package com.consum.base.aop;
+
+import cn.hutool.core.util.ReflectUtil;
+import com.iplatform.base.cache.DictCacheProvider;
+import com.iplatform.core.BeanContextAware;
+import com.iplatform.model.po.S_dict_data;
+import com.walker.infrastructure.utils.NumberGenerator;
+import org.aspectj.lang.JoinPoint;
+import org.aspectj.lang.annotation.After;
+import org.aspectj.lang.annotation.Aspect;
+import org.aspectj.lang.annotation.Before;
+import org.aspectj.lang.annotation.Pointcut;
+import org.springframework.stereotype.Component;
+
+import java.lang.reflect.Method;
+
+/**
+ * @ClassName DictDataAop
+ * @Author cy
+ * @Date 2023/12/4
+ * @Description 瀵圭爜琛ㄥ仛鍒囬潰
+ * @Version 1.0
+ **/
+@Aspect
+@Component
+public class DictDataAop {
+
+    @Pointcut("execution(public * com.iplatform.base.controller.CodeController.insertDictData(..))"
+            + "|| execution(public * com.iplatform.base.controller.CodeController.updateDictData(..))"
+            + "|| execution(public * com.iplatform.base.controller.CodeController.removeDictData(..))"
+    )
+    public void insertDictDataPointcut() {
+    }
+
+    @After("insertDictDataPointcut()")
+    public void beforeInsertDictData(JoinPoint joinPoint) {
+        DictCacheProvider dictCacheProvider = BeanContextAware.getBeanByType(DictCacheProvider.class);
+        try {
+            Method reload = ReflectUtil.getMethodByName(DictCacheProvider.class, "reload");
+            ReflectUtil.invoke(dictCacheProvider, reload);
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+    }
+
+    @Pointcut("execution(public * com.iplatform.base.controller.CodeController.insertDictData(..))")
+
+    public void insertDictDataBeforPointcut() {
+    }
+
+    @Before("insertDictDataBeforPointcut()")
+    public void insertDictDataBeforPointcut(JoinPoint joinPoint) {
+        Object[] args = joinPoint.getArgs();
+        try {
+            S_dict_data dictData = (S_dict_data) args[0];
+            if (dictData.getDict_code() == null) {
+                dictData.setDict_code(NumberGenerator.getLongSequenceNumber());
+            }
+        } catch (Exception e) {
+            e.getMessage();
+        }
+
+    }
+
+
+}

--
Gitblit v1.9.1