From 7f8e51abcdd01e4aecf3cd75537fa4fa043632c9 Mon Sep 17 00:00:00 2001 From: zhaoqifeng Date: Fri, 28 Oct 2022 10:40:17 +0800 Subject: [PATCH] =?UTF-8?q?insert=E6=88=96=E8=80=85update=E6=97=B6?= =?UTF-8?q?=E5=A6=82=E6=9E=9C=E8=AE=BE=E7=BD=AE=E4=BA=86=E5=88=9B=E5=BB=BA?= =?UTF-8?q?=E6=97=B6=E9=97=B4=E6=88=96=E6=9B=B4=E6=96=B0=E6=97=B6=E9=97=B4?= =?UTF-8?q?=EF=BC=8C=E4=BC=9A=E4=BD=BF=E7=94=A8=E8=AE=BE=E7=BD=AE=E7=9A=84?= =?UTF-8?q?=E6=97=B6=E9=97=B4=EF=BC=8C=E5=90=A6=E5=88=99=E9=BB=98=E8=AE=A4?= =?UTF-8?q?=E5=BD=93=E5=89=8D=E6=97=B6=E9=97=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../handler/FieldMetaObjectHandler.java | 29 +++++++++++++++++-- 1 file changed, 26 insertions(+), 3 deletions(-) diff --git a/epdc-commons-mybatis/src/main/java/com/elink/esua/epdc/commons/mybatis/handler/FieldMetaObjectHandler.java b/epdc-commons-mybatis/src/main/java/com/elink/esua/epdc/commons/mybatis/handler/FieldMetaObjectHandler.java index 1a6fbc1..3c68b60 100644 --- a/epdc-commons-mybatis/src/main/java/com/elink/esua/epdc/commons/mybatis/handler/FieldMetaObjectHandler.java +++ b/epdc-commons-mybatis/src/main/java/com/elink/esua/epdc/commons/mybatis/handler/FieldMetaObjectHandler.java @@ -23,6 +23,7 @@ import org.apache.ibatis.reflection.MetaObject; import org.springframework.stereotype.Component; import java.util.Date; +import java.util.Optional; /** * 公共字段,自动填充值 @@ -45,9 +46,9 @@ public class FieldMetaObjectHandler implements MetaObjectHandler { if (metaObject.getOriginalObject() instanceof BaseEpdcEntity) { String userId = user == null ? Constant.APP_USER_FLAG : String.valueOf(user.getId()); Long deptId = user == null ? null : user.getDeptId(); - setFieldValByName(FieldConstant.CREATED_TIME_HUMP, date, metaObject); + setFieldValByName(FieldConstant.CREATED_TIME_HUMP, getCreatedTimeByFieldValue(metaObject), metaObject); setFieldValByName(FieldConstant.CREATED_BY_HUMP, userId, metaObject); - setFieldValByName(FieldConstant.UPDATED_TIME_HUMP, date, metaObject); + setFieldValByName(FieldConstant.UPDATED_TIME_HUMP, getUpdatedTimeByFieldValue(metaObject), metaObject); setFieldValByName(FieldConstant.UPDATED_BY_HUMP, userId, metaObject); setFieldValByName(FieldConstant.REVISION_HUMP, NumConstant.ZERO, metaObject); //删除标识 @@ -104,7 +105,29 @@ public class FieldMetaObjectHandler implements MetaObjectHandler { } else if (fillEsuaEntity) { String userId = null == id ? Constant.APP_USER_FLAG : String.valueOf(id); setFieldValByName(FieldConstant.UPDATED_BY_HUMP, userId, metaObject); - setFieldValByName(FieldConstant.UPDATED_TIME_HUMP, new Date(), metaObject); + setFieldValByName(FieldConstant.UPDATED_TIME_HUMP, getUpdatedTimeByFieldValue(metaObject), metaObject); } } + + public Object getCreatedTimeByFieldValue(MetaObject metaObject) { + Object createdTime = null; + if (metaObject.hasGetter(FieldConstant.CREATED_TIME_HUMP)) { + createdTime = metaObject.getValue(FieldConstant.CREATED_TIME_HUMP); + } + if (createdTime == null) { + createdTime = new Date(); + } + return createdTime; + } + + public Object getUpdatedTimeByFieldValue(MetaObject metaObject) { + Object updatedTime = null; + if (metaObject.hasGetter(FieldConstant.UPDATED_TIME_HUMP)) { + updatedTime = metaObject.getValue(FieldConstant.UPDATED_TIME_HUMP); + } + if (updatedTime == null) { + updatedTime = new Date(); + } + return updatedTime; + } }