package com.kidgrow.db.config;
|
|
import com.baomidou.mybatisplus.core.handlers.MetaObjectHandler;
|
import com.kidgrow.common.constant.SecurityConstants;
|
import org.apache.ibatis.reflection.MetaObject;
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
import javax.servlet.http.HttpServletRequest;
|
import java.util.Date;
|
|
/**
|
* 石家庄喜高科技有限责任公司 版权所有 © Copyright 2020<br>
|
*
|
* @Description: 自定义填充公共 name 字段<br>
|
* @Project: <br>
|
* @CreateDate: Created in 2020/2/4 16:05 <br>
|
* @Author: <a href="4345453@kidgrow.com">liuke</a>
|
*/
|
public class DateMetaObjectHandler implements MetaObjectHandler {
|
|
@Autowired
|
private HttpServletRequest request;
|
|
private final static String UPDATE_TIME = "updateTime";
|
private final static String CREATE_TIME = "createTime";
|
private final static String CREATE_USER_ID="createUserId";
|
private final static String UPDATE_USER_ID="updateUserId";
|
private final static String CREATE_USER_NAME="createUserName";
|
private final static String UPDATE_USER_NAME="updateUserName";
|
|
/**
|
* 插入填充,字段为空自动填充
|
*/
|
@Override
|
public void insertFill(MetaObject metaObject) {
|
Object createTime = getFieldValByName(CREATE_TIME, metaObject);
|
Object updateTime = getFieldValByName(UPDATE_TIME, metaObject);
|
Object createUserId = getFieldValByName(CREATE_USER_ID, metaObject);
|
Object updateUserId = getFieldValByName(UPDATE_USER_ID, metaObject);
|
Object createUserName = getFieldValByName(CREATE_USER_NAME, metaObject);
|
Object updateUserName = getFieldValByName(UPDATE_USER_NAME, metaObject);
|
if (createTime == null || updateTime == null || createUserId==null || updateUserId==null || createUserName==null || updateUserName==null) {
|
Date date = new Date();
|
if (createTime == null) {
|
setFieldValByName(CREATE_TIME, date, metaObject);
|
}
|
|
if(request.getHeader(SecurityConstants.USER_ID_HEADER)!=null) {
|
setFieldValByName(CREATE_USER_ID, Long.valueOf(request.getHeader(SecurityConstants.USER_ID_HEADER).toString()), metaObject);
|
}
|
if (createUserName == null) {
|
if(request.getHeader(SecurityConstants.USER_HEADER)!=null) {
|
setFieldValByName(CREATE_USER_NAME, request.getHeader(SecurityConstants.USER_HEADER), metaObject);
|
}
|
}
|
|
}
|
}
|
|
/**
|
* 更新填充
|
*
|
* @param metaObject
|
*/
|
@Override
|
public void updateFill(MetaObject metaObject) {
|
//mybatis-plus版本2.0.9+
|
setFieldValByName(UPDATE_TIME, new Date(), metaObject);
|
setFieldValByName(UPDATE_USER_ID, Long.valueOf(request.getHeader(SecurityConstants.USER_ID_HEADER).toString()), metaObject);
|
setFieldValByName(UPDATE_USER_NAME, request.getHeader(SecurityConstants.USER_HEADER), metaObject);
|
}
|
}
|