package com.gkhy.safePlatform.equipment.handler; import com.baomidou.mybatisplus.core.handlers.MetaObjectHandler; import com.gkhy.safePlatform.commons.co.ContextCacheUser; import org.apache.ibatis.reflection.MetaObject; import org.springframework.security.core.Authentication; import org.springframework.security.core.context.SecurityContextHolder; import org.springframework.stereotype.Component; import java.time.LocalDateTime; @Component public class MyMetaObjectHandler implements MetaObjectHandler { @Override public void insertFill(MetaObject metaObject) { Authentication authentication = SecurityContextHolder.getContext().getAuthentication(); ContextCacheUser currentUser = (ContextCacheUser) authentication.getPrincipal(); this.strictInsertFill(metaObject, "createTime", LocalDateTime.class, LocalDateTime.now()); // 起始版本 3.3.0(推荐使用) this.strictInsertFill(metaObject, "createUid", Long.class, currentUser.getUid()); this.strictInsertFill(metaObject, "createUname", String.class, currentUser.getUsername()); this.strictUpdateFill(metaObject, "updateTime", LocalDateTime.class, LocalDateTime.now()); // 起始版本 3.3.0(推荐) this.strictInsertFill(metaObject, "updateUid", Long.class, currentUser.getUid()); this.strictInsertFill(metaObject, "updateUname", String.class, currentUser.getUsername()); } @Override public void updateFill(MetaObject metaObject) { Authentication authentication = SecurityContextHolder.getContext().getAuthentication(); ContextCacheUser currentUser = (ContextCacheUser) authentication.getPrincipal(); this.strictUpdateFill(metaObject, "updateTime", LocalDateTime.class, LocalDateTime.now()); // 起始版本 3.3.0(推荐) this.strictInsertFill(metaObject, "updateUid", Long.class, currentUser.getUid()); this.strictInsertFill(metaObject, "updateUname", String.class, currentUser.getUsername()); } }