✨ Introducing new features. add mybatis plus meta object handler

This commit is contained in:
萌萌哒Sakura酱 committed 2018-12-28 18:15:06 +08:00
1 parent 0eae5cbfd4
commit 04f5708681
2 files changed
+53 -1

No files matched your search

@@ -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