| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162 |
- package com.template.handler;
- import com.baomidou.mybatisplus.core.handlers.MetaObjectHandler;
- import com.template.common.utils.AesUtils;
- import lombok.extern.slf4j.Slf4j;
- import org.apache.ibatis.reflection.MetaObject;
- import org.springframework.stereotype.Component;
- import org.springframework.web.context.request.RequestAttributes;
- import org.springframework.web.context.request.RequestContextHolder;
- import org.springframework.web.context.request.ServletRequestAttributes;
- import javax.servlet.http.HttpServletRequest;
- import java.util.Date;
- @Slf4j
- @Component // 一定不要忘记把处理器加到IOC容器中!
- public class MyMetaObjectHandler implements MetaObjectHandler {
- //创建用户和更新用户填充0的时候则说明不是账号操作的
- // 插入时的填充策略
- @Override
- public void insertFill(MetaObject metaObject) {
- HttpServletRequest request = getHttpServletRequest();
- if (request != null) {
- //String user_id = request.getHeader("user_head") == null ? "0" : AesUtils.decrypt(request.getHeader("user_head"));
- String user_id = request.getAttribute("userId") == null ? "0" : request.getAttribute("userId").toString();
- log.info("start insert fill.....");
- // setFieldValByName(String fieldName, Object fieldVal, MetaObject metaObject
- this.setFieldValByName("createTime", new Date(), metaObject);
- this.setFieldValByName("updateTime", new Date(), metaObject);
- this.setFieldValByName("createUser", user_id, metaObject);
- this.setFieldValByName("updateUser", user_id, metaObject);
- this.setFieldValByName("deleted", 0, metaObject);
- } else {
- this.setFieldValByName("createTime", new Date(), metaObject);
- this.setFieldValByName("updateTime", new Date(), metaObject);
- this.setFieldValByName("createUser","0", metaObject);
- this.setFieldValByName("updateUser","0", metaObject);
- this.setFieldValByName("deleted", 0, metaObject);
- }
- }
- // 更新时的填充策略
- @Override
- public void updateFill(MetaObject metaObject) {
- HttpServletRequest request = getHttpServletRequest();
- if (request != null) {
- //String user_id = request.getHeader("user_head") == null ? "0" : AesUtils.decrypt(request.getHeader("user_head"));
- String user_id = request.getAttribute("userId") == null ? "0" : request.getAttribute("userId").toString();
- log.info("start update fill.....");
- this.setFieldValByName("updateTime", new Date(), metaObject);
- this.setFieldValByName("updateUser", user_id, metaObject);
- }
- }
- private HttpServletRequest getHttpServletRequest() {
- RequestAttributes requestAttributes = RequestContextHolder.getRequestAttributes();
- ServletRequestAttributes attributes = (ServletRequestAttributes) requestAttributes;
- return attributes == null ? null : attributes.getRequest();
- }
- }
|