You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

44 lines
1.8 KiB

package com.xujie.sys.config;
import com.baomidou.mybatisplus.core.handlers.MetaObjectHandler;
import com.xujie.sys.modules.sys.entity.SysUserEntity;
import org.apache.ibatis.reflection.MetaObject;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.apache.shiro.SecurityUtils;
import org.springframework.stereotype.Component;
import java.util.Date;
/*
* @Author li_she
* @Description 自定义自动填充策略 @TableField(fill = FieldFill.INSERT)
* @Date 2021/4/14 10:12
**/
@Component
public class MyMetaObjectHandler implements MetaObjectHandler {
private Logger logger = LogManager.getLogger(getClass());
@Override
public void insertFill(MetaObject metaObject) {
// SysUserEntity user = (SysUserEntity) SecurityUtils.getSubject().getPrincipal();
// logger.info("start insert fill ....");
// this.strictInsertFill(metaObject,"createdDate",Date.class, new Date());
// this.strictInsertFill(metaObject,"site",String.class, user.getSite());
// this.strictInsertFill(metaObject,"createdBy",String.class, user.getUserDisplay());
logger.info("公共字段自动填充【insert】");
metaObject.setValue("createDate", new Date());
//metaObject.setValue("updateDate", new Date());
}
@Override
public void updateFill(MetaObject metaObject) {
// logger.info("start update fill ....");
// this.strictUpdateFill(metaObject, "updatedDate", Date.class, new Date());
if (metaObject.getValue("updateDate") == null) { // 判断公共填充字段的值是否为空,如果为空才自动填充,不为空直接结束
logger.info("公共字段自动填充【update】");
metaObject.setValue("updateDate", new Date());
}
}
}