From 7aab004601e77890b158f19d1735594a8326feaa Mon Sep 17 00:00:00 2001
From: liurunyu <lry9898@163.com>
Date: 星期四, 24 四月 2025 17:11:17 +0800
Subject: [PATCH] 数据库事务注解位置调整

---
 pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/webFilter/UserTokenFilter.java |   65 ++++++++++++++++++++++++++++++++
 1 files changed, 65 insertions(+), 0 deletions(-)

diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/webFilter/UserTokenFilter.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/webFilter/UserTokenFilter.java
new file mode 100644
index 0000000..164f7f5
--- /dev/null
+++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/webFilter/UserTokenFilter.java
@@ -0,0 +1,65 @@
+package com.dy.common.webFilter;
+
+import com.alibaba.fastjson2.JSON;
+import com.dy.common.contant.Constant;
+import com.dy.common.webUtil.BaseResponse;
+import com.dy.common.webUtil.BaseResponseUtils;
+import com.mysql.cj.util.StringUtils ;
+import jakarta.servlet.*;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
+import lombok.extern.slf4j.Slf4j;
+import java.io.IOException;
+import java.io.PrintWriter;
+
+@Slf4j
+public class UserTokenFilter implements Filter {
+
+
+    @Override
+    public void init(FilterConfig filterConfig) throws ServletException {
+    }
+
+    @Override
+    public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {
+        HttpServletRequest httpRequest = (HttpServletRequest) servletRequest;
+        String requestURI = httpRequest.getRequestURI();
+        // 妫�鏌ヨ姹傛槸鍚︿负闈炶繃婊ら」
+        if (UserTokenNoFilter.urls != null && UserTokenNoFilter.urls.stream().anyMatch(url -> requestURI.startsWith(url))) {
+            // 濡傛灉鏄潪杩囨护椤癸紝鐩存帴璋冪敤涓嬩竴涓繃婊ゅ櫒鎴杝ervlet
+            filterChain.doFilter(servletRequest, servletResponse);
+        } else {
+            // 濡傛灉涓嶆槸闈炶繃婊ら」锛屾墽琛岃繃婊ら�昏緫
+            HttpServletRequest request = (HttpServletRequest) servletRequest;
+            HttpServletResponse response = (HttpServletResponse) servletResponse;
+            String token = request.getHeader(Constant.UserTokenKeyInHeader);
+            if(!StringUtils.isNullOrEmpty(token)){
+                UserTokenContext.set(token);
+                filterChain.doFilter(servletRequest, servletResponse);
+            }else{
+                PrintWriter pw = null ;
+                try {
+                    BaseResponse<?> res = BaseResponseUtils.buildToLogin() ;
+                    String jsonString = JSON.toJSONString(res);
+                    response.setCharacterEncoding("UTF-8");
+                    response.setContentType("application/json; charset=utf-8");
+                    pw = response.getWriter() ;
+                    pw.write(jsonString);
+                    pw.flush();
+                } catch (IOException e) {
+                    e.printStackTrace();
+                }finally {
+                    if(pw != null){
+                        pw.close();
+                    }
+                }
+                //request.setAttribute(Constant.ErrorKeyInRequest, "鏈緱鍒扮敤鎴穞oken");
+                //response.sendRedirect("/error");
+            }
+        }
+    }
+
+    @Override
+    public void destroy() {
+    }
+}
\ No newline at end of file

--
Gitblit v1.8.0