Browse Source

客户ID,用户ID自动填充

dev
zhaoqifeng 4 years ago
parent
commit
b0a609d4c9
  1. 58
      tduck-common/src/main/java/com/tduck/cloud/common/constant/FieldConstant.java
  2. 6
      tduck-common/src/main/java/com/tduck/cloud/common/entity/BaseEntity.java
  3. 31
      tduck-common/src/main/java/com/tduck/cloud/common/mybatis/handler/AutoFillMetaInfoHandler.java

58
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";
}

6
tduck-common/src/main/java/com/tduck/cloud/common/entity/BaseEntity.java

@ -23,6 +23,12 @@ public class BaseEntity<T> extends Model {
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
@TableField(fill = FieldFill.INSERT)
protected String customerId;
@TableField(fill = FieldFill.INSERT)
protected String userId;
/** /**
* 创建时间 * 创建时间
**/ **/

31
tduck-common/src/main/java/com/tduck/cloud/common/mybatis/handler/AutoFillMetaInfoHandler.java

@ -1,7 +1,9 @@
package com.tduck.cloud.common.mybatis.handler; package com.tduck.cloud.common.mybatis.handler;
import com.baomidou.mybatisplus.core.handlers.MetaObjectHandler; 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.entity.BaseEntity;
import com.tduck.cloud.common.util.LoginUserUtil;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.ibatis.reflection.MetaObject; import org.apache.ibatis.reflection.MetaObject;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
@ -19,6 +21,14 @@ public class AutoFillMetaInfoHandler implements MetaObjectHandler {
@Override @Override
public void insertFill(MetaObject metaObject) { 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.createTime, LocalDateTime.now(), metaObject);
this.setFieldValByName(BaseEntity.Fields.updateTime, 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) { public void updateFill(MetaObject metaObject) {
this.setFieldValByName(BaseEntity.Fields.updateTime, LocalDateTime.now(), 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();
}
} }

Loading…
Cancel
Save