[新增] 增加CreateAndUpdateMetaObjectHandler,配合fill注解,实现创建和修改人的自动设置,减少重复代码
This commit is contained in:
parent
a7f235164f
commit
eb46eda48d
@ -12,6 +12,7 @@ import com.baomidou.mybatisplus.extension.plugins.inner.BlockAttackInnerIntercep
|
||||
import com.baomidou.mybatisplus.extension.plugins.inner.IllegalSQLInnerInterceptor;
|
||||
import com.baomidou.mybatisplus.extension.plugins.inner.OptimisticLockerInnerInterceptor;
|
||||
import com.baomidou.mybatisplus.extension.plugins.inner.PaginationInnerInterceptor;
|
||||
import com.ruoyi.framework.mybatisplus.CreateAndUpdateMetaObjectHandler;
|
||||
import org.springframework.context.annotation.Bean;
|
||||
import org.springframework.context.annotation.Configuration;
|
||||
import org.springframework.transaction.annotation.EnableTransactionManagement;
|
||||
@ -83,10 +84,10 @@ public class MybatisPlusConfig {
|
||||
* 元对象字段填充控制器
|
||||
* https://baomidou.com/guide/auto-fill-metainfo.html
|
||||
*/
|
||||
// @Bean
|
||||
// public MetaObjectHandler metaObjectHandler() {
|
||||
// return new MyMetaObjectHandler();
|
||||
// }
|
||||
@Bean
|
||||
public MetaObjectHandler metaObjectHandler() {
|
||||
return new CreateAndUpdateMetaObjectHandler();
|
||||
}
|
||||
|
||||
/**
|
||||
* sql注入器配置
|
||||
|
@ -0,0 +1,67 @@
|
||||
package com.ruoyi.framework.mybatisplus;
|
||||
|
||||
import com.baomidou.mybatisplus.core.handlers.MetaObjectHandler;
|
||||
import com.ruoyi.common.utils.SecurityUtils;
|
||||
import org.apache.ibatis.reflection.MetaObject;
|
||||
|
||||
import java.util.Date;
|
||||
|
||||
/**
|
||||
* @author woo
|
||||
* @date 2021/3/11
|
||||
*/
|
||||
public class CreateAndUpdateMetaObjectHandler implements MetaObjectHandler {
|
||||
@Override
|
||||
public void insertFill(MetaObject metaObject) {
|
||||
//region 处理创建人信息
|
||||
Object createBy = this.getFieldValByName("createBy", metaObject);
|
||||
Object createTime = this.getFieldValByName("createTime", metaObject);
|
||||
if (createBy == null) {
|
||||
createBy = SecurityUtils.getUsername();
|
||||
this.setFieldValByName("createBy", createBy, metaObject);
|
||||
}
|
||||
if (createTime == null) {
|
||||
createTime = new Date();
|
||||
this.setFieldValByName("createTime", createTime, metaObject);
|
||||
}
|
||||
//endregion
|
||||
//region 处理修改人信息
|
||||
Object updateBy = this.getFieldValByName("updateBy", metaObject);
|
||||
Object updateTime = this.getFieldValByName("updateTime", metaObject);
|
||||
if (updateBy == null) {
|
||||
updateBy = createBy;
|
||||
this.setFieldValByName("updateBy", updateBy, metaObject);
|
||||
}
|
||||
if (updateTime == null) {
|
||||
updateTime = createTime;
|
||||
this.setFieldValByName("updateTime", updateTime, metaObject);
|
||||
}
|
||||
//endregion
|
||||
}
|
||||
|
||||
@Override
|
||||
public void updateFill(MetaObject metaObject) {
|
||||
//region 处理修改人信息
|
||||
Object updateBy = this.getFieldValByName("updateBy", metaObject);
|
||||
Object updateTime = this.getFieldValByName("updateTime", metaObject);
|
||||
if (updateBy == null) {
|
||||
updateBy = SecurityUtils.getUsername();
|
||||
this.setFieldValByName("updateBy", updateBy, metaObject);
|
||||
}
|
||||
if (updateTime == null) {
|
||||
updateTime = new Date();
|
||||
this.setFieldValByName("updateTime", updateTime, metaObject);
|
||||
}
|
||||
//endregion
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean openInsertFill() {
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean openUpdateFill() {
|
||||
return true;
|
||||
}
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user