MyBatisPlusMetaObjectHandler.java 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738
  1. package com.simuwang.base.components;
  2. import com.baomidou.mybatisplus.core.handlers.MetaObjectHandler;
  3. import com.simuwang.shiro.core.ShiroUser;
  4. import com.simuwang.shiro.utils.UserUtils;
  5. import org.apache.ibatis.reflection.MetaObject;
  6. import java.util.Date;
  7. /**
  8. * @author wangzaijun
  9. * @date 2024/9/14 15:58
  10. * @description 默认的字段填充
  11. */
  12. public class MyBatisPlusMetaObjectHandler implements MetaObjectHandler {
  13. @Override
  14. public void insertFill(MetaObject metaObject) {
  15. ShiroUser loginUser = UserUtils.getLoginUser();
  16. this.setFieldValByName("creatorId", loginUser.getUserId(), metaObject);
  17. this.strictInsertFill(metaObject, "createTime", Date::new, Date.class);
  18. if (metaObject.hasGetter("valid")) {
  19. this.setFieldValByName("valid", 1, metaObject);
  20. }
  21. if (metaObject.hasGetter("updaterId")) {
  22. this.setFieldValByName("updaterId", loginUser.getUserId(), metaObject);
  23. }
  24. if (metaObject.hasGetter("updateTime")) {
  25. this.strictInsertFill(metaObject, "updateTime", Date::new, Date.class);
  26. }
  27. }
  28. @Override
  29. public void updateFill(MetaObject metaObject) {
  30. ShiroUser loginUser = UserUtils.getLoginUser();
  31. this.setFieldValByName("updaterId", loginUser.getUserId(), metaObject);
  32. this.strictUpdateFill(metaObject, "updateTime", Date::new, Date.class);
  33. }
  34. }