From ae197ece85311e3b14c450e47d665b920408d354 Mon Sep 17 00:00:00 2001 From: Parker Date: Wed, 27 Jan 2021 20:22:17 +0800 Subject: [PATCH] =?UTF-8?q?Mybatis=E8=AE=BE=E7=BD=AE=E4=B8=BA=E5=BF=BD?= =?UTF-8?q?=E7=95=A5=E5=AD=97=E6=AE=B5=20=E5=88=99=E4=B8=8D=E9=BB=98?= =?UTF-8?q?=E8=AE=A4=E5=A1=AB=E5=85=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../MybatisAutoFillInterceptor.java | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/opsli-base-support/opsli-core/src/main/java/org/opsli/core/filters/interceptor/MybatisAutoFillInterceptor.java b/opsli-base-support/opsli-core/src/main/java/org/opsli/core/filters/interceptor/MybatisAutoFillInterceptor.java index 1d10bd78..0414d15e 100644 --- a/opsli-base-support/opsli-core/src/main/java/org/opsli/core/filters/interceptor/MybatisAutoFillInterceptor.java +++ b/opsli-base-support/opsli-core/src/main/java/org/opsli/core/filters/interceptor/MybatisAutoFillInterceptor.java @@ -19,6 +19,7 @@ import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.convert.Convert; import cn.hutool.core.date.DateUtil; import cn.hutool.core.util.ReflectUtil; +import com.baomidou.mybatisplus.annotation.TableField; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; import org.apache.ibatis.binding.MapperMethod; @@ -106,6 +107,15 @@ public class MybatisAutoFillInterceptor implements Interceptor { Date currDate = DateUtil.date(); Field[] fields = ReflectUtil.getFields(arg.getClass()); for (Field f : fields) { + // 如果设置为忽略字段 则直接跳过不处理 + TableField tableField = f.getAnnotation(TableField.class); + if(tableField != null){ + boolean exist = tableField.exist(); + if(!exist){ + continue; + } + } + switch (f.getName()) { // 创建人 case MyBatisConstants.FIELD_CREATE_BY: @@ -179,6 +189,15 @@ public class MybatisAutoFillInterceptor implements Interceptor { } fields = ReflectUtil.getFields(arg.getClass()); for (Field f : fields) { + // 如果设置为忽略字段 则直接跳过不处理 + TableField tableField = f.getAnnotation(TableField.class); + if(tableField != null){ + boolean exist = tableField.exist(); + if(!exist){ + continue; + } + } + switch (f.getName()) { // 更新人 case MyBatisConstants.FIELD_UPDATE_BY: