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