mitao
2024-04-15 ce7e6574a1f9942fc090d989b52aceaa11ba8f3e
ruoyi-admin-dept/src/main/java/com/ruoyi/web/controller/interceptor/MybatisInterceptor.java
@@ -1,20 +1,29 @@
package com.ruoyi.web.controller.interceptor;
import com.ruoyi.framework.web.service.TokenService;
import java.lang.reflect.Field;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Date;
import java.util.List;
import java.util.Objects;
import java.util.Properties;
import lombok.extern.slf4j.Slf4j;
import org.apache.ibatis.executor.Executor;
import org.apache.ibatis.mapping.MappedStatement;
import org.apache.ibatis.mapping.SqlCommandType;
import org.apache.ibatis.plugin.Interceptor;
import org.apache.ibatis.plugin.Intercepts;
import org.apache.ibatis.plugin.Invocation;
import org.apache.ibatis.plugin.Plugin;
import org.apache.ibatis.plugin.Signature;
import org.springframework.beans.factory.annotation.Autowired;
import java.lang.reflect.Field;
import java.util.*;
import org.springframework.stereotype.Component;
@Slf4j
/*@Component
@Intercepts({ @Signature(type = Executor.class, method = "update", args = { MappedStatement.class, Object.class }) })*/
@Component
@Intercepts({@Signature(type = Executor.class, method = "update", args = {MappedStatement.class,
        Object.class})})
public class MybatisInterceptor implements Interceptor {
    @Autowired
@@ -25,7 +34,8 @@
        MappedStatement mappedStatement = (MappedStatement) invocation.getArgs()[0];
        log.debug("{}:"+mappedStatement);
        log.debug("------sqlId------" + mappedStatement.getId());
        if("com.ruoyi.system.mapper.SysLogininforMapper.insertLogininfor".equals(mappedStatement.getId())){
        if ("com.ruoyi.system.mapper.SysLogininforMapper.insertLogininfor".equals(
                mappedStatement.getId())) {
            return invocation.proceed();
        }
        // sql类型:insert、update、select、delete
@@ -44,7 +54,7 @@
            for (Field field : fields) {
                try {
                    // 注入创建人
                    if ("createBy".equals(field.getName())) {
                 /*   if ("createBy".equals(field.getName())) {
                        // 获取当前登录用户信息
                        if(Objects.nonNull(tokenService.getLoginUser())){
                            String userName = tokenService.getLoginUser().getUser().getUserName();
@@ -52,7 +62,7 @@
                            field.set(parameter, userName);
                            field.setAccessible(false);
                        }
                    }
                    }*/
                    //注入创建时间
                    if ("createTime".equals(field.getName())) {
                        field.setAccessible(true);