package com.mes.config;
|
|
import com.baomidou.mybatisplus.core.handlers.MetaObjectHandler;
|
import org.apache.ibatis.reflection.MetaObject;
|
import org.springframework.stereotype.Component;
|
|
import java.time.LocalDateTime;
|
|
/**
|
* 统一处理公共字段(created_time、updated_time、created_by、updated_by)的自动填充
|
*/
|
@Component
|
public class MybatisMetaObjectHandler implements MetaObjectHandler {
|
|
@Override
|
public void insertFill(MetaObject metaObject) {
|
LocalDateTime now = LocalDateTime.now();
|
String operator = resolveOperator();
|
|
strictInsertFill(metaObject, "createdTime", LocalDateTime.class, now);
|
strictInsertFill(metaObject, "updatedTime", LocalDateTime.class, now);
|
strictInsertFill(metaObject, "createdBy", String.class, operator);
|
strictInsertFill(metaObject, "updatedBy", String.class, operator);
|
}
|
|
@Override
|
public void updateFill(MetaObject metaObject) {
|
strictUpdateFill(metaObject, "updatedTime", LocalDateTime.class, LocalDateTime.now());
|
strictUpdateFill(metaObject, "updatedBy", String.class, resolveOperator());
|
}
|
|
private String resolveOperator() {
|
// TODO: 之后可接入登录上下文,这里临时回退为 system
|
return "system";
|
}
|
}
|