| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465 |
- package com.ydtech.handler;
- import cn.dev33.satoken.context.SaHolder;
- import cn.dev33.satoken.stp.StpUtil;
- import cn.hutool.core.util.ObjectUtil;
- import cn.hutool.http.HttpStatus;
- import com.baomidou.mybatisplus.core.handlers.MetaObjectHandler;
- import com.ydtech.exception.SystemException;
- import com.ydtech.modules.base.model.BaseEntity;
- import com.ydtech.utils.StringUtils;
- import lombok.extern.slf4j.Slf4j;
- import org.apache.ibatis.reflection.MetaObject;
- import java.util.Date;
- /**
- * MP注入处理器 抄来的
- *
- * @author: lig
- * @date: 2023年06月30日 0030
- */
- @Slf4j
- public class CreateAndUpdateMetaObjectHandler implements MetaObjectHandler {
- @Override
- public void insertFill(MetaObject metaObject) {
- try {
- if (ObjectUtil.isNotNull(metaObject) && metaObject.getOriginalObject() instanceof BaseEntity) {
- BaseEntity baseEntity = (BaseEntity) metaObject.getOriginalObject();
- Date current = ObjectUtil.isNotNull(baseEntity.getCreateTime())
- ? baseEntity.getCreateTime() : new Date();
- baseEntity.setCreateTime(current);
- // baseEntity.setUpdateTime(current);
- String username = StringUtils.isNotBlank(baseEntity.getCreateBy())
- ? baseEntity.getCreateBy() : StpUtil.getLoginId("");
- // 当前已登录 且 创建人为空 则填充
- baseEntity.setCreateBy(username);
- // 当前已登录 且 更新人为空 则填充
- // baseEntity.setUpdateBy(username);
- }
- } catch (Exception e) {
- throw new SystemException(StringUtils.toString(HttpStatus.HTTP_UNAUTHORIZED),"自动注入异常 => " + e.getMessage());
- }
- }
- @Override
- public void updateFill(MetaObject metaObject) {
- try {
- if (ObjectUtil.isNotNull(metaObject) && metaObject.getOriginalObject() instanceof BaseEntity) {
- BaseEntity baseEntity = (BaseEntity) metaObject.getOriginalObject();
- Date current = new Date();
- // 更新时间填充(不管为不为空)
- baseEntity.setUpdateTime(current);
- String username = StpUtil.getLoginId().toString();
- // 当前已登录 更新人填充(不管为不为空)
- if (StringUtils.isNotBlank(username)) {
- baseEntity.setUpdateBy(username);
- }
- }
- } catch (Exception e) {
- throw new SystemException(StringUtils.toString(HttpStatus.HTTP_UNAUTHORIZED),"自动注入异常 => " + e.getMessage());
- }
- }
- }
|