|
|
@ -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; |
|
|
|
} |
|
|
|
} |
|
|
|