CustomMetaObjectHandler.kt 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. package com.gxzc.zen.orm
  2. import com.baomidou.mybatisplus.mapper.MetaObjectHandler
  3. import com.gxzc.zen.umps.util.SSOUtil
  4. import org.apache.ibatis.reflection.MetaObject
  5. import org.slf4j.LoggerFactory
  6. import org.springframework.stereotype.Component
  7. import java.util.*
  8. /**
  9. * 公共字段自动填充
  10. * @author NorthLan
  11. * @date 2018/1/31
  12. * @url https://noahlan.com
  13. */
  14. @Component
  15. class CustomMetaObjectHandler : MetaObjectHandler() {
  16. companion object {
  17. val logger = LoggerFactory.getLogger(CustomMetaObjectHandler::class.java)!!
  18. }
  19. override fun insertFill(metaObject: MetaObject?) {
  20. logger.debug("公共字段自动填充: insertFill")
  21. if (getFieldValByName("createBy", metaObject) == null) {
  22. setFieldValByName("createBy", SSOUtil.getCurUser()?.account, metaObject)
  23. }
  24. if (getFieldValByName("createTime", metaObject) == null) {
  25. setFieldValByName("createTime", Date(), metaObject)
  26. }
  27. }
  28. override fun updateFill(metaObject: MetaObject?) {
  29. logger.debug("公共字段自动填充: updateFill")
  30. if (getFieldValByName("updateBy", metaObject) == null) {
  31. setFieldValByName("updateBy", SSOUtil.getCurUser()?.account, metaObject)
  32. }
  33. setFieldValByName("updateTime", Date(), metaObject)
  34. }
  35. }