package cn.wisenergy.chnmuseum.party.common.mybatis; import com.baomidou.mybatisplus.core.handlers.MetaObjectHandler; import org.apache.ibatis.reflection.MetaObject; import org.springframework.stereotype.Component; import java.time.LocalDateTime; /** * 配置公共字段自动填充功能 @TableField(..fill = FieldFill.INSERT) * 特别注意,3.0-gamma之前的版本 MetaObjectHandler 是抽象类 * 3.0-RC之后的版本MetaObjectHandler 是接口 */ @Component public class MetaObjectHandlerConfig implements MetaObjectHandler { @Override public void insertFill(MetaObject metaObject) { LocalDateTime now = LocalDateTime.now(); Object createTime = getFieldValByName("create_time", metaObject); Object updateTime = getFieldValByName("update_time", metaObject); if (createTime == null) { this.setFieldValByName("create_time", now, metaObject); } if (updateTime == null) { this.setFieldValByName("update_time", now, metaObject); } this.setFieldValByName("version", 1, metaObject); // 创建人 // Principal currentUser = getCurrentUser(); // this.setFieldValByName("creatorId", currentUser.getId(), metaObject); // this.setFieldValByName("creatorName", currentUser.getLoginName(), metaObject); } @Override public void updateFill(MetaObject metaObject) { LocalDateTime now = LocalDateTime.now(); Object updateTime = getFieldValByName("update_time", metaObject); if (updateTime == null) { this.setFieldValByName("update_time", now, metaObject); } //操作人 // this.setFieldValByName("createId", 111L, metaObject); // this.setFieldValByName("modifierBy", 111L, metaObject); } /* * 获取当前登录用户 * * @return 用户对象 */ // private Principal getCurrentUser() { // Subject subject = SecurityUtils.getSubject(); // if (subject != null) { // Principal user = (Principal) subject.getPrincipal(); // if (user != null) { // return user; // } // } // return null; // return new Principal(1L, "admin"); // } }