From b0c728c99e2fea403500840809c26bf254c2057a Mon Sep 17 00:00:00 2001 From: zhaoqifeng Date: Thu, 16 Sep 2021 15:27:43 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AE=A2=E6=88=B7ID=E8=87=AA=E5=8A=A8=E5=A1=AB?= =?UTF-8?q?=E5=85=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../common/constant/CommonConstants.java | 2 +- .../cloud/common/constant/FieldConstant.java | 8 +-- .../tduck/cloud/common/entity/BaseEntity.java | 27 ++++++++-- .../handler/AutoFillMetaInfoHandler.java | 51 ++++++++++++++++--- 4 files changed, 72 insertions(+), 16 deletions(-) diff --git a/tduck-common/src/main/java/com/tduck/cloud/common/constant/CommonConstants.java b/tduck-common/src/main/java/com/tduck/cloud/common/constant/CommonConstants.java index 25ee966..9b4f068 100644 --- a/tduck-common/src/main/java/com/tduck/cloud/common/constant/CommonConstants.java +++ b/tduck-common/src/main/java/com/tduck/cloud/common/constant/CommonConstants.java @@ -44,7 +44,7 @@ public interface CommonConstants { * @Fields ZERO : ( 0 ) */ Integer ZERO = 0; - + String ZERO_STR = "0"; /** * @Fields ONE : ( 1 ) */ diff --git a/tduck-common/src/main/java/com/tduck/cloud/common/constant/FieldConstant.java b/tduck-common/src/main/java/com/tduck/cloud/common/constant/FieldConstant.java index 3d4d2da..cb05f9d 100644 --- a/tduck-common/src/main/java/com/tduck/cloud/common/constant/FieldConstant.java +++ b/tduck-common/src/main/java/com/tduck/cloud/common/constant/FieldConstant.java @@ -16,14 +16,14 @@ public interface FieldConstant { String REVISION = "REVISION"; String REVISION_HUMP = "revision"; - String CREATED_BY = "CREATED_BY"; - String CREATED_BY_HUMP = "createdBy"; + String CREATED_BY = "CREATE_BY"; + String CREATED_BY_HUMP = "createBy"; String CREATED_TIME = "CREATED_TIME"; String CREATED_TIME_HUMP = "createdTime"; - String UPDATED_BY = "UPDATED_BY"; - String UPDATED_BY_HUMP = "updatedBy"; + String UPDATED_BY = "UPDATE_BY"; + String UPDATED_BY_HUMP = "updateBy"; String UPDATED_TIME = "UPDATED_TIME"; String UPDATED_TIME_HUMP = "updatedTime"; diff --git a/tduck-common/src/main/java/com/tduck/cloud/common/entity/BaseEntity.java b/tduck-common/src/main/java/com/tduck/cloud/common/entity/BaseEntity.java index a79b12f..361cb4c 100644 --- a/tduck-common/src/main/java/com/tduck/cloud/common/entity/BaseEntity.java +++ b/tduck-common/src/main/java/com/tduck/cloud/common/entity/BaseEntity.java @@ -3,6 +3,7 @@ package com.tduck.cloud.common.entity; import cn.hutool.core.date.DatePattern; import com.baomidou.mybatisplus.annotation.FieldFill; import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableLogic; import com.baomidou.mybatisplus.extension.activerecord.Model; import com.fasterxml.jackson.annotation.JsonFormat; import lombok.Data; @@ -22,12 +23,32 @@ import java.time.LocalDateTime; public class BaseEntity extends Model { private static final long serialVersionUID = 1L; - + /** + * 客户ID + */ @TableField(fill = FieldFill.INSERT) protected String customerId; - + /** + * 乐观锁 + */ + @TableField(fill = FieldFill.INSERT) + private Integer revision; + /** + * 是否已删除(0-未删除,1-已删除) + */ + @TableField(fill = FieldFill.INSERT) + @TableLogic + private String delFlag; + /** + * 创建人ID + */ + @TableField(fill = FieldFill.INSERT) + protected String createBy; + /** + * 更新人ID + */ @TableField(fill = FieldFill.INSERT) - protected String userId; + protected String updateBy; /** * 创建时间 diff --git a/tduck-common/src/main/java/com/tduck/cloud/common/mybatis/handler/AutoFillMetaInfoHandler.java b/tduck-common/src/main/java/com/tduck/cloud/common/mybatis/handler/AutoFillMetaInfoHandler.java index accfb80..3b986f0 100644 --- a/tduck-common/src/main/java/com/tduck/cloud/common/mybatis/handler/AutoFillMetaInfoHandler.java +++ b/tduck-common/src/main/java/com/tduck/cloud/common/mybatis/handler/AutoFillMetaInfoHandler.java @@ -1,6 +1,7 @@ package com.tduck.cloud.common.mybatis.handler; import com.baomidou.mybatisplus.core.handlers.MetaObjectHandler; +import com.tduck.cloud.common.constant.CommonConstants; import com.tduck.cloud.common.constant.FieldConstant; import com.tduck.cloud.common.entity.BaseEntity; import com.tduck.cloud.common.util.LoginUserUtil; @@ -9,6 +10,7 @@ import org.apache.ibatis.reflection.MetaObject; import org.springframework.stereotype.Component; import java.time.LocalDateTime; +import java.util.Optional; /** * @author smalljop @@ -21,21 +23,19 @@ public class AutoFillMetaInfoHandler implements MetaObjectHandler { @Override public void insertFill(MetaObject metaObject) { - // 如果该entity对象,有customerId属性,那么自动填充; - if (metaObject.hasSetter(FieldConstant.CUSTOMER_ID_HUMP)) { - this.setFieldValByName(FieldConstant.CUSTOMER_ID_HUMP, getCustomerIdByFieldValue(metaObject), metaObject); - } - // 如果该entity对象,有userId属性,那么自动填充; - if (metaObject.hasSetter(FieldConstant.USER_ID_HUMP)) { - this.setFieldValByName(FieldConstant.USER_ID_HUMP, getUserIdByFieldValue(metaObject), metaObject); - } + this.setFieldValByName(BaseEntity.Fields.customerId, getCustomerIdByFieldValue(metaObject), metaObject); + this.setFieldValByName(BaseEntity.Fields.createBy, getCreatedByFieldValue(metaObject), metaObject); + this.setFieldValByName(BaseEntity.Fields.updateBy, getUpdatedByFieldValue(metaObject), metaObject); this.setFieldValByName(BaseEntity.Fields.createTime, LocalDateTime.now(), metaObject); this.setFieldValByName(BaseEntity.Fields.updateTime, LocalDateTime.now(), metaObject); + this.setFieldValByName(BaseEntity.Fields.revision, CommonConstants.ConstantNumber.ZERO, metaObject); + this.setFieldValByName(BaseEntity.Fields.delFlag, CommonConstants.ConstantNumber.ZERO_STR, metaObject); } @Override public void updateFill(MetaObject metaObject) { this.setFieldValByName(BaseEntity.Fields.updateTime, LocalDateTime.now(), metaObject); + this.setFieldValByName(BaseEntity.Fields.updateBy, getUpdatedByFieldValue(metaObject), metaObject); } public Object getCustomerIdByFieldValue(MetaObject metaObject) { @@ -58,4 +58,39 @@ public class AutoFillMetaInfoHandler implements MetaObjectHandler { } return LoginUserUtil.get().getUserId(); } + + public Object getCreatedByFieldValue(MetaObject metaObject) { + Object value = null; + + if (metaObject.hasGetter(FieldConstant.CREATED_BY_HUMP)) { + value = metaObject.getValue(FieldConstant.CREATED_BY_HUMP); + } + if (value == null) { + + value = Optional.ofNullable(LoginUserUtil.get().getUserId()).orElse("APP_USER"); + } + + return value; + } + + + public Object getUpdatedByFieldValue(MetaObject metaObject) { + Object value = null; + + if (metaObject.hasGetter(FieldConstant.UPDATED_BY_HUMP)) { + value = metaObject.getValue(FieldConstant.UPDATED_BY_HUMP); + } + + if (value == null) { + if(metaObject.hasGetter(FieldConstant.CREATED_BY_HUMP)) { + value = metaObject.getValue(FieldConstant.CREATED_BY_HUMP); + } + + if(null == value) { + value = Optional.ofNullable(LoginUserUtil.get().getUserId()).orElse("APP_USER"); + } + } + + return value; + } }