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 metaObject) { // 判断字段是否存在,存在才填充 if (metaObject.hasSetter("createBy")) { Long userId = 0L; try { if (SecurityUtils.getLoginUser() != null) { userId = SecurityUtils.getLoginUser().getUserId(); this.strictInsertFill(metaObject, "createBy", Long.class, userId); } } catch (Exception ignored) { } } if (metaObject.hasSetter("createTime")) { this.strictInsertFill(metaObject, "createTime", LocalDateTime.class, LocalDateTime.now()); } } @Override public void updateFill(MetaObject metaObject) { // 判断字段是否存在,存在才填充 if (metaObject.hasSetter("updateBy")) { Long userId = SecurityUtils.getLoginUser().getUserId(); this.strictUpdateFill(metaObject, "updateBy", Long.class, userId); } if (metaObject.hasSetter("updateTime")) { this.strictUpdateFill(metaObject, "updateTime", LocalDateTime.class, LocalDateTime.now()); } } }