fix(common): 保留插入审计字段已有值
This commit is contained in:
@@ -14,15 +14,28 @@ public class EntityAuditMetaObjectHandler implements MetaObjectHandler {
|
||||
@Override
|
||||
public void insertFill(MetaObject metaObject) {
|
||||
Date now = new Date();
|
||||
strictInsertFill(metaObject, "createTime", Date.class, now);
|
||||
strictInsertFill(metaObject, "updateTime", Date.class, now);
|
||||
strictInsertFill(metaObject, "createBy", String.class, SYSTEM_USER);
|
||||
strictInsertFill(metaObject, "updateBy", String.class, SYSTEM_USER);
|
||||
fillIfNull(metaObject, "createTime", now);
|
||||
fillIfNull(metaObject, "updateTime", now);
|
||||
fillIfNull(metaObject, "createBy", SYSTEM_USER);
|
||||
fillIfNull(metaObject, "updateBy", SYSTEM_USER);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void updateFill(MetaObject metaObject) {
|
||||
strictUpdateFill(metaObject, "updateTime", Date.class, new Date());
|
||||
strictUpdateFill(metaObject, "updateBy", String.class, SYSTEM_USER);
|
||||
setIfWritable(metaObject, "updateTime", new Date());
|
||||
setIfWritable(metaObject, "updateBy", SYSTEM_USER);
|
||||
}
|
||||
|
||||
private void fillIfNull(MetaObject metaObject, String fieldName, Object fieldVal) {
|
||||
if (!metaObject.hasSetter(fieldName) || metaObject.getValue(fieldName) != null) {
|
||||
return;
|
||||
}
|
||||
metaObject.setValue(fieldName, fieldVal);
|
||||
}
|
||||
|
||||
private void setIfWritable(MetaObject metaObject, String fieldName, Object fieldVal) {
|
||||
if (metaObject.hasSetter(fieldName)) {
|
||||
metaObject.setValue(fieldName, fieldVal);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user