From ddd2543ef9fa90d808502225470c64c904a2b092 Mon Sep 17 00:00:00 2001 From: fengshuonan Date: Fri, 29 Oct 2021 10:04:32 +0800 Subject: [PATCH] =?UTF-8?q?=E3=80=907.1.5=E3=80=91=E3=80=90bug=E4=BF=AE?= =?UTF-8?q?=E5=A4=8D=E3=80=91metadata=E5=A1=AB=E5=85=85=E5=A2=9E=E5=8A=A0?= =?UTF-8?q?=E5=88=A4=E6=96=AD=E6=9D=A1=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mp/fieldfill/CustomMetaObjectHandler.java | 33 +++++++++++++------ 1 file changed, 23 insertions(+), 10 deletions(-) diff --git a/kernel-d-db/db-sdk-mp/src/main/java/cn/stylefeng/roses/kernel/db/mp/fieldfill/CustomMetaObjectHandler.java b/kernel-d-db/db-sdk-mp/src/main/java/cn/stylefeng/roses/kernel/db/mp/fieldfill/CustomMetaObjectHandler.java index e86e26496..5334c2f52 100644 --- a/kernel-d-db/db-sdk-mp/src/main/java/cn/stylefeng/roses/kernel/db/mp/fieldfill/CustomMetaObjectHandler.java +++ b/kernel-d-db/db-sdk-mp/src/main/java/cn/stylefeng/roses/kernel/db/mp/fieldfill/CustomMetaObjectHandler.java @@ -24,6 +24,7 @@ */ package cn.stylefeng.roses.kernel.db.mp.fieldfill; +import cn.hutool.core.util.ObjectUtil; import cn.stylefeng.roses.kernel.auth.api.context.LoginContext; import cn.stylefeng.roses.kernel.rule.enums.StatusEnum; import cn.stylefeng.roses.kernel.rule.enums.YesOrNotEnum; @@ -49,19 +50,17 @@ public class CustomMetaObjectHandler implements MetaObjectHandler { public void insertFill(MetaObject metaObject) { try { - // 设置createUser(BaseEntity) - setFieldValByName(CREATE_USER, this.getUserUniqueId(), metaObject); + setValue(metaObject, CREATE_USER, this.getUserUniqueId()); // 设置createTime(BaseEntity) - setFieldValByName(CREATE_TIME, new Date(), metaObject); + setValue(metaObject, CREATE_TIME, new Date()); // 设置删除标记 默认N-删除 - setFieldValByName(DEL_FLAG, YesOrNotEnum.N.getCode(), metaObject); + setValue(metaObject, DEL_FLAG, YesOrNotEnum.N.getCode()); // 设置状态字段 默认1-启用 - setFieldValByName(STATUS_FLAG, StatusEnum.ENABLE.getCode(), metaObject); - + setValue(metaObject, STATUS_FLAG, StatusEnum.ENABLE.getCode()); } catch (ReflectionException e) { log.warn("CustomMetaObjectHandler处理过程中无相关字段,不做处理"); } @@ -72,13 +71,11 @@ public class CustomMetaObjectHandler implements MetaObjectHandler { public void updateFill(MetaObject metaObject) { try { - // 设置updateUser(BaseEntity) - setFieldValByName(UPDATE_USER, this.getUserUniqueId(), metaObject); + setValue(metaObject, UPDATE_USER, this.getUserUniqueId()); // 设置updateTime(BaseEntity) - setFieldValByName(UPDATE_TIME, new Date(), metaObject); - + setValue(metaObject, UPDATE_TIME, new Date()); } catch (ReflectionException e) { log.warn("CustomMetaObjectHandler处理过程中无相关字段,不做处理"); } @@ -87,6 +84,9 @@ public class CustomMetaObjectHandler implements MetaObjectHandler { /** * 获取用户唯一id + * + * @author fengshuonan + * @date 2021/10/29 10:01 */ private Long getUserUniqueId() { @@ -99,4 +99,17 @@ public class CustomMetaObjectHandler implements MetaObjectHandler { } + /** + * 设置属性 + * + * @author fengshuonan + * @date 2021/10/29 10:01 + */ + private void setValue(MetaObject metaObject, String fieldName, Object value) { + Object originalAttr = getFieldValByName(fieldName, metaObject); + if (ObjectUtil.isEmpty(originalAttr)) { + setFieldValByName(fieldName, value, metaObject); + } + } + }