package com.yami.trading.admin.config; import com.baomidou.mybatisplus.core.handlers.MetaObjectHandler; import com.yami.trading.security.common.model.YamiSysUser; import com.yami.trading.security.common.util.SecurityUtils; import lombok.extern.slf4j.Slf4j; import org.apache.ibatis.reflection.MetaObject; import org.springframework.stereotype.Component; import java.util.Date; /** * 填充器 */ @Slf4j @Component public class MyMetaObjectHandler implements MetaObjectHandler { @Override public void insertFill(MetaObject metaObject) { YamiSysUser sysUser = null; try { sysUser = SecurityUtils.getSysUser(); }catch (Exception e){ log.debug("前端场景"); } if (sysUser != null) { if (metaObject.hasGetter("createBy")) { this.strictInsertFill(metaObject, "createBy", String.class, sysUser.getUserId().toString()); } if (metaObject.hasGetter("updateBy")) { this.strictInsertFill(metaObject, "updateBy", String.class, sysUser.getUserId().toString()); } } if (metaObject.hasGetter("delFlag")) { this.strictInsertFill(metaObject, "delFlag", Integer.class, 0); //新增数据时,默认为0 采用了注入器 } long timestamp = System.currentTimeMillis()/ 1000; Date now = new Date(); if (metaObject.hasGetter("createTime")) { this.strictInsertFill(metaObject, "createTime", Date.class, now); } if (metaObject.hasGetter("updateTime")) { this.strictInsertFill(metaObject, "updateTime", Date.class, now); } if (metaObject.hasGetter("createTimeTs")) { this.strictInsertFill(metaObject, "createTimeTs", Long.class, timestamp); } if (metaObject.hasGetter("updateTimeTs")) { this.strictInsertFill(metaObject, "updateTimeTs", Long.class, timestamp); } } @Override public void updateFill(MetaObject metaObject) { YamiSysUser sysUser = null; try { sysUser = SecurityUtils.getSysUser(); }catch (Exception e){ log.debug("前端场景"); } if (sysUser != null) { if (metaObject.hasGetter("updateBy")) { this.strictInsertFill(metaObject, "updateBy", String.class, sysUser.getUserId().toString()); } } Date now = new Date(); long timestamp = System.currentTimeMillis()/ 1000; if (metaObject.hasGetter("updateTime")) { this.strictInsertFill(metaObject, "updateTime", Date.class, now); } if (metaObject.hasGetter("updateTimeTs")) { this.strictInsertFill(metaObject, "updateTimeTs", Long.class, timestamp); } } }