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