package com.ruoyi.common.component;
|
|
import com.baomidou.mybatisplus.core.handlers.MetaObjectHandler;
|
import com.ruoyi.common.utils.SecurityUtils;
|
import org.apache.ibatis.reflection.MetaObject;
|
import org.slf4j.Logger;
|
import org.slf4j.LoggerFactory;
|
import org.springframework.stereotype.Component;
|
|
import java.time.LocalDateTime;
|
|
/**
|
* @author Mr.huang
|
* @decription
|
* @date 2023/9/12 09:16
|
*/
|
@Component
|
public class MyMetaObjectHandler implements MetaObjectHandler {
|
|
private final static String CREATE_BY = "createBy";
|
private final static String CREATE_TIME = "createTime";
|
private final static String UPDATE_BY = "updateBy";
|
private final static String UPDATE_TIME = "updateTime";
|
private static final Logger log = LoggerFactory.getLogger(MyMetaObjectHandler.class);
|
|
@Override
|
public void insertFill(MetaObject metaObject) {
|
try {
|
Object createBy = getFieldValByName(CREATE_BY, metaObject);
|
Object createTime = getFieldValByName(CREATE_TIME, metaObject);
|
Object updateBy = getFieldValByName(UPDATE_BY, metaObject);
|
Object updateTime = getFieldValByName(UPDATE_TIME, metaObject);
|
String username = SecurityUtils.getLoginUser().getUsername();
|
LocalDateTime now = LocalDateTime.now();
|
if (null == createBy) {
|
setFieldValByName(CREATE_BY, username, metaObject);
|
}
|
if (null == createTime) {
|
setFieldValByName(CREATE_TIME, now, metaObject);
|
}
|
if (null == updateBy) {
|
setFieldValByName(UPDATE_BY, username, metaObject);
|
}
|
if (null == updateTime) {
|
setFieldValByName(UPDATE_TIME, now, metaObject);
|
}
|
}catch (Exception e){
|
log.info("自动填充数据异常");
|
}
|
}
|
@Override
|
public void updateFill(MetaObject metaObject) {
|
try {
|
String username = SecurityUtils.getLoginUser().getUsername();
|
LocalDateTime now = LocalDateTime.now();
|
setFieldValByName(UPDATE_BY, username, metaObject);
|
setFieldValByName(UPDATE_TIME, now, metaObject);
|
}catch (Exception e){
|
log.info("自动填充数据异常");
|
}
|
}
|
}
|