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