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