✨ Introducing new features. add mybatis plus meta object handler
This commit is contained in:
1 parent
0eae5cbfd4
commit
04f5708681
2 files changed
+53
-1
No files matched your search
+51
@@ -0,0 +1,51 @@
|
||||
package com.pig4cloud.pigx.common.data.mybatis;
|
||||
|
||||
import com.baomidou.mybatisplus.core.handlers.MetaObjectHandler;
|
||||
import com.pig4cloud.pigx.common.security.util.SecurityUtils;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.ibatis.reflection.MetaObject;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.Optional;
|
||||
|
||||
/**
|
||||
* Mybatis Plus的参数填充器
|
||||
* @author lishangbu
|
||||
* @date 2018/12/28
|
||||
* 利用Mybatis Plus的参数填充器设置一些公共信息参数
|
||||
* setFieldValByName方法传入的字段名称是Java Bean的属性
|
||||
* 其接口默认方法会自行进行判空之类的预处理,因此不需要我们进一步操作
|
||||
* MP 3.0.7将会变更这个方法
|
||||
*/
|
||||
@Component
|
||||
@Slf4j
|
||||
public class MybatisPlusMetaObjectHandler implements MetaObjectHandler {
|
||||
private static final String CREATE_USER = "createUser";
|
||||
private static final String UPDATE_USER = "updateUser";
|
||||
private static final String CREATE_TIME = "createTime";
|
||||
private static final String UPDATE_TIME = "updateTime";
|
||||
|
||||
@Override
|
||||
public void insertFill(MetaObject metaObject) {
|
||||
this.setFieldValByName(CREATE_TIME, LocalDateTime.now(),metaObject);
|
||||
this.setFieldValByName(CREATE_USER,getUserName(),metaObject);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void updateFill(MetaObject metaObject) {
|
||||
this.setFieldValByName(UPDATE_TIME,LocalDateTime.now(),metaObject);
|
||||
this.setFieldValByName(UPDATE_USER,getUserName(),metaObject);
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取用户名信息
|
||||
* 开启details属性的情况下,通过用户实体获取用户名
|
||||
* 反之直接获取用户名
|
||||
* @return
|
||||
*/
|
||||
private String getUserName(){
|
||||
return Optional.ofNullable(SecurityUtils.getUser().getUsername())
|
||||
.orElse(SecurityUtils.getUsername());
|
||||
}
|
||||
}
|
||||
@@ -4,4 +4,5 @@ org.springframework.boot.autoconfigure.EnableAutoConfiguration=\
|
||||
com.pig4cloud.pigx.common.data.cache.RedisCacheAutoConfiguration,\
|
||||
com.pig4cloud.pigx.common.data.tenant.TenantContextHolderFilter,\
|
||||
com.pig4cloud.pigx.common.data.tenant.PigxFeignTenantConfiguration,\
|
||||
com.pig4cloud.pigx.common.data.mybatis.MybatisPlusConfig
|
||||
com.pig4cloud.pigx.common.data.mybatis.MybatisPlusConfig,\
|
||||
com.pig4cloud.pigx.common.data.mybatis.MybatisPlusMetaObjectHandler
|
||||
Reference in new issue
Block a user