package com.lxzn.component; import com.baomidou.mybatisplus.core.handlers.MetaObjectHandler; import com.lxzn.auth.JwtUtil; import com.lxzn.framework.utils.date.DateUtil; import org.apache.ibatis.reflection.MetaObject; import org.springframework.stereotype.Component; @Component public class MyMetaObjectHandler implements MetaObjectHandler { @Override public void insertFill(MetaObject metaObject) { boolean hasColumn = metaObject.hasSetter("createTime"); if(hasColumn) { this.setInsertFieldValByName("createTime", DateUtil.getNow(), metaObject); } hasColumn = metaObject.hasSetter("createUser"); if(hasColumn) { String userId = JwtUtil.getUserId(); if(userId != null) { this.setInsertFieldValByName("createUser", userId, metaObject); } } } @Override public void updateFill(MetaObject metaObject) { boolean hasColumn = metaObject.hasSetter("updateTime"); if(hasColumn) { this.setUpdateFieldValByName("updateTime", DateUtil.getNow(), metaObject); } hasColumn = metaObject.hasSetter("updateUser"); if(hasColumn) { String userId = JwtUtil.getUserId(); if(userId != null) { this.setUpdateFieldValByName("updateUser", userId, metaObject); } } } }