Преглед изворни кода

新的threadLocal放入updateby

tanzhongran пре 4 година
родитељ
комит
4023657f1e

+ 10 - 9
abi-cloud-qr-platform-server/src/main/java/com/abi/qms/platform/infrastructure/config/mybatis/MybatisPlusConfig.java

@@ -1,5 +1,6 @@
 package com.abi.qms.platform.infrastructure.config.mybatis;
 
+import com.abi.qms.platform.infrastructure.util.TokenUtil;
 import com.abi.qms.platform.infrastructure.util.UserUtil;
 import com.baomidou.mybatisplus.annotation.DbType;
 import com.baomidou.mybatisplus.core.handlers.MetaObjectHandler;
@@ -55,20 +56,20 @@ public class MybatisPlusConfig {
             public void insertFill(MetaObject metaObject) {
                 setFieldValByName("createTime", LocalDateTime.now(), metaObject);
                 setFieldValByName("updateTime", LocalDateTime.now(), metaObject);
-//                //操作人
-//                if(userUtil.getUser()!=null && userUtil.getUser().getId()!=null){
-//                    setFieldValByName("update_by", userUtil.getUser().getId(), metaObject);
-//                    setFieldValByName("create_by", userUtil.getUser().getId(), metaObject);
-//                }
+                //操作人
+                if(TokenUtil.getUser()!=null && TokenUtil.getUser().getId()!=null){
+                    setFieldValByName("update_by", TokenUtil.getUser().getId(), metaObject);
+                    setFieldValByName("create_by", TokenUtil.getUser().getId(), metaObject);
+                }
             }
 
             @Override
             public void updateFill(MetaObject metaObject) {
                 setFieldValByName("updateTime", LocalDateTime.now(), metaObject);
-//                //操作人
-//                if(userUtil.getUser()!=null && userUtil.getUser().getId()!=null){
-//                    setFieldValByName("update_by", userUtil.getUser().getId(), metaObject);
-//                }
+                //操作人
+                if(TokenUtil.getUser()!=null && TokenUtil.getUser().getId()!=null){
+                    setFieldValByName("update_by", TokenUtil.getUser().getId(), metaObject);
+                }
             }
         };
     }

+ 2 - 1
abi-cloud-qr-platform-server/src/main/java/com/abi/qms/platform/infrastructure/interceptor/TokenInterceptor.java

@@ -3,6 +3,7 @@ package com.abi.qms.platform.infrastructure.interceptor;
 import com.abi.base.foundation.util.RedisClient;
 import com.abi.qms.platform.annotation.PassToken;
 import com.abi.qms.platform.dao.entity.UserInfo;
+import com.abi.qms.platform.infrastructure.util.TokenUtil;
 import com.abi.qms.platform.infrastructure.util.UserUtil;
 import com.abi.task.common.api.exception.BusinessException;
 import com.auth0.jwt.interfaces.DecodedJWT;
@@ -83,7 +84,7 @@ public class TokenInterceptor implements HandlerInterceptor {
             userInfo.setUserName(userName);
             userInfo.setRoleCode(roleCode);
             userUtil.setUser(userInfo);
-            userUtil.setUser(userInfo);
+            TokenUtil.setUser(userInfo);
         } catch (JWTDecodeException j) {
             throw new BusinessException(401,"用户认证失败");
         }

+ 29 - 0
abi-cloud-qr-platform-server/src/main/java/com/abi/qms/platform/infrastructure/util/TokenUtil.java

@@ -0,0 +1,29 @@
+package com.abi.qms.platform.infrastructure.util;
+
+import com.abi.qms.platform.dao.entity.UserInfo;
+import com.abi.qms.platform.dao.mapper.UserInfoMapper;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+
+/**
+ * 用户工具类
+ *
+ * @author AndyTan
+ */
+@Component
+public class TokenUtil {
+
+    /**
+     * 仅token中的user信息
+     */
+    private static final InheritableThreadLocal<UserInfo> USER_THREAD_LOCAL = new InheritableThreadLocal();
+
+    public static void setUser(UserInfo userInfo) {
+        USER_THREAD_LOCAL.set(userInfo);
+    }
+
+    public static UserInfo getUser() {
+        return USER_THREAD_LOCAL.get();
+    }
+
+}