package com.project.framework.mybatisplus;
|
|
import com.baomidou.mybatisplus.core.handlers.MetaObjectHandler;
|
import com.project.common.core.domain.model.LoginUser;
|
import com.project.common.utils.SecurityUtils;
|
import com.project.common.utils.StringUtils;
|
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 处理创建人信息
|
String createBy = (String) this.getFieldValByName("createBy", metaObject);
|
Object createTime = this.getFieldValByName("createTime", metaObject);
|
if (StringUtils.isEmpty(createBy)) {
|
LoginUser loginUser;
|
try {
|
loginUser = SecurityUtils.getLoginUser();
|
} catch (Exception e){
|
loginUser = null;
|
}
|
|
if (loginUser == null) {
|
createBy = "系统操作";
|
} else {
|
createBy = loginUser.getUser().getNickName();
|
}
|
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 处理修改人信息
|
String updateBy;
|
LoginUser loginUser;
|
try {
|
loginUser = SecurityUtils.getLoginUser();
|
} catch (Exception e){
|
loginUser = null;
|
}
|
if (loginUser==null){
|
updateBy = "系统操作";
|
} else {
|
updateBy = loginUser.getUser().getNickName();
|
}
|
this.setFieldValByName("updateBy", updateBy, metaObject);
|
Date updateTime = new Date();
|
this.setFieldValByName("updateTime", updateTime, metaObject);
|
//endregion
|
}
|
|
@Override
|
public boolean openInsertFill() {
|
return true;
|
}
|
|
@Override
|
public boolean openUpdateFill() {
|
return true;
|
}
|
}
|