package com.ruoyi.common.handler; import com.baomidou.mybatisplus.core.handlers.MetaObjectHandler; import com.ruoyi.common.utils.SecurityUtils; import org.apache.ibatis.reflection.MetaObject; import org.springframework.stereotype.Component; import java.time.LocalDateTime; @Component public class MyMetaObjectHandler implements MetaObjectHandler { @Override public void insertFill(MetaObject meta) { LocalDateTime now = LocalDateTime.now(); Long uid = SecurityUtils.getLoginUser().getUserId(); if (uid != null) { strictInsertFill(meta, "createBy", String.class, uid.toString()); strictInsertFill(meta, "updateBy", String.class, uid.toString()); } strictInsertFill(meta, "createTime", LocalDateTime.class, now); strictInsertFill(meta, "updateTime", LocalDateTime.class, now); } @Override public void updateFill(MetaObject meta) { LocalDateTime now = LocalDateTime.now(); Long uid = SecurityUtils.getLoginUser().getUserId(); if (uid != null) { strictUpdateFill(meta, "updateBy", String.class, uid.toString()); } // 强制覆盖 updateTime setFieldValByName("updateTime", now, meta); } }