package com.ruoyi.web.core.config; import com.baomidou.mybatisplus.core.handlers.MetaObjectHandler; import com.ruoyi.common.core.domain.entity.SysUser; import com.ruoyi.common.core.domain.model.LoginUser; import com.ruoyi.common.utils.SecurityUtils; import com.ruoyi.common.utils.StringUtils; import com.ruoyi.system.service.ISysUserService; import lombok.extern.slf4j.Slf4j; import org.apache.ibatis.reflection.MetaObject; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.Configuration; /** * @author xiaochen * @ClassName DataUpdateInterceptor * @Description 数据更新操作处理 * @date 2021-12-15 *

* 注意,之前在此处注入了 JwtTokenUtils *

* 造成spring循环依赖,项目支棱不起来 */ @Slf4j @Configuration public class DataUpdateHandlerConfig implements MetaObjectHandler { @Autowired private ISysUserService sysUserService; /** * 新增数据执行 * * @param metaObject */ @Override public void insertFill(MetaObject metaObject) { // 获取登录信息 LoginUser loginUser = SecurityUtils.getLoginUser(); SysUser sysUser = sysUserService.selectUserById(loginUser.getUserId()); if (sysUser!=null) { this.setFieldValByName("createBy", sysUser.getNickName(), metaObject); this.setFieldValByName("updateBy", sysUser.getNickName(), metaObject); } } /** * 修改数据执行 * * @param metaObject */ @Override public void updateFill(MetaObject metaObject) { LoginUser loginUser = SecurityUtils.getLoginUser(); SysUser sysUser = sysUserService.selectUserById(loginUser.getUserId()); if (sysUser!=null) { this.setFieldValByName("createBy", sysUser.getNickName(), metaObject); this.setFieldValByName("updateBy", sysUser.getNickName(), metaObject); } } }