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 new file mode 100644 index 0000000..3d4d2da --- /dev/null +++ b/tduck-common/src/main/java/com/tduck/cloud/common/constant/FieldConstant.java @@ -0,0 +1,58 @@ +package com.tduck.cloud.common.constant; + + +/** + * 常用字段常量 + * + * @author yujintao + * @email yujintao@elink-cn.com + * @date 2019/8/20 10:11 + */ +public interface FieldConstant { + + String ID = "ID"; + String ID_HUMP = "id"; + + String REVISION = "REVISION"; + String REVISION_HUMP = "revision"; + + String CREATED_BY = "CREATED_BY"; + String CREATED_BY_HUMP = "createdBy"; + + String CREATED_TIME = "CREATED_TIME"; + String CREATED_TIME_HUMP = "createdTime"; + + String UPDATED_BY = "UPDATED_BY"; + String UPDATED_BY_HUMP = "updatedBy"; + + String UPDATED_TIME = "UPDATED_TIME"; + String UPDATED_TIME_HUMP = "updatedTime"; + + String DEL_FLAG = "DEL_FLAG"; + String DEL_FLAG_HUMP = "delFlag"; + + String NAME = "NAME"; + String NAME_HUMP = "name"; + + String MOBILE = "MOBILE"; + String MOBILE_HUMP = "mobile"; + + String STATE = "STATE"; + String STATE_HUMP = "state"; + + String STREET_ID = "STREET_ID"; + String STREET_ID_HUMP = "streetId"; + + String COMMUNITY_ID = "COMMUNITY_ID"; + String COMMUNITY_ID_HUMP = "communityId"; + + String CUSTOMER_ID = "CUSTOMER_ID"; + String CUSTOMER_ID_HUMP = "customerId"; + + String GRID_ID = "GRID_ID"; + String GRID_ID_HUMP = "gridId"; + + String USER_ID = "USER_ID"; + String USER_ID_HUMP = "userId"; + +} 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 c789cdf..a79b12f 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 @@ -23,6 +23,12 @@ public class BaseEntity extends Model { private static final long serialVersionUID = 1L; + @TableField(fill = FieldFill.INSERT) + protected String customerId; + + @TableField(fill = FieldFill.INSERT) + protected String userId; + /** * 创建时间 **/ 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 b584aab..accfb80 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,7 +1,9 @@ package com.tduck.cloud.common.mybatis.handler; import com.baomidou.mybatisplus.core.handlers.MetaObjectHandler; +import com.tduck.cloud.common.constant.FieldConstant; import com.tduck.cloud.common.entity.BaseEntity; +import com.tduck.cloud.common.util.LoginUserUtil; import lombok.extern.slf4j.Slf4j; import org.apache.ibatis.reflection.MetaObject; import org.springframework.stereotype.Component; @@ -19,6 +21,14 @@ 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.createTime, LocalDateTime.now(), metaObject); this.setFieldValByName(BaseEntity.Fields.updateTime, LocalDateTime.now(), metaObject); } @@ -27,4 +37,25 @@ public class AutoFillMetaInfoHandler implements MetaObjectHandler { public void updateFill(MetaObject metaObject) { this.setFieldValByName(BaseEntity.Fields.updateTime, LocalDateTime.now(), metaObject); } + + public Object getCustomerIdByFieldValue(MetaObject metaObject) { + + Object customerId; + customerId = getFieldValByName(FieldConstant.CUSTOMER_ID_HUMP, metaObject); + if (customerId != null && !"".equals(customerId)) { + // 看entity是否手动设置了,设置了就用设置的 + return customerId; + } + return LoginUserUtil.get().getCustomerId(); + } + + public Object getUserIdByFieldValue(MetaObject metaObject) { + Object userId; + userId = getFieldValByName(FieldConstant.USER_ID_HUMP, metaObject); + if (userId != null && !"".equals(userId)) { + // 看entity是否手动设置了,设置了就用设置的 + return userId; + } + return LoginUserUtil.get().getUserId(); + } }