浏览代码

优化获取用户

lihong 2 年之前
父节点
当前提交
6a847ef06c

+ 25 - 0
src/main/java/cn/hnthyy/thmz/Utils/HttpContextUtils.java

@@ -0,0 +1,25 @@
+
+package cn.hnthyy.thmz.Utils;
+
+import org.springframework.web.context.request.RequestContextHolder;
+import org.springframework.web.context.request.ServletRequestAttributes;
+
+import javax.servlet.http.HttpServletRequest;
+
+public class HttpContextUtils {
+
+	public static HttpServletRequest getHttpServletRequest() {
+		return ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest();
+	}
+
+	public static String getDomain(){
+		HttpServletRequest request = getHttpServletRequest();
+		StringBuffer url = request.getRequestURL();
+		return url.delete(url.length() - request.getRequestURI().length(), url.length()).toString();
+	}
+
+	public static String getOrigin(){
+		HttpServletRequest request = getHttpServletRequest();
+		return request.getHeader("Origin");
+	}
+}

+ 3 - 3
src/main/java/cn/hnthyy/thmz/Utils/TokenUtil.java

@@ -69,14 +69,14 @@ public class TokenUtil {
         return (User) JsonUtil.jsontoObject(decodedJWT.getSubject(), User.class);
     }
     /**
-     * @description:获取用户
+     * @description:获取用户
      * @author: lihong
      * @date: 2023/8/15 15:40
      * @param: httpServletRequest
      * @return: cn.hnthyy.thmz.entity.thmz.User
      **/
-    public static User getNewUser(HttpServletRequest httpServletRequest){
-        String token = TokenUtil.getToken(httpServletRequest);
+    public static User getUser(){
+        String token = TokenUtil.getToken(HttpContextUtils.getHttpServletRequest());
         AssertUtil.isNotBlank(token,"业务处理失败,用户token不存在");
         DecodedJWT decodedJWT = TokenUtil.parseJWT(token);
         return (User) JsonUtil.jsontoObject(decodedJWT.getSubject(), User.class);

+ 2 - 2
src/main/java/cn/hnthyy/thmz/controller/bb/ReportStaticController.java

@@ -32,9 +32,9 @@ public class ReportStaticController {
 
     @UserLoginToken
     @RequestMapping(value = "/selectDoctorIndexData", method = {RequestMethod.GET, RequestMethod.POST})
-    public R selectDoctorIndexData(@RequestBody ReportVo vo, HttpServletRequest httpServletRequest){
+    public R selectDoctorIndexData(@RequestBody ReportVo vo){
             AssertUtil.anyIsNotBlank("报表id为空,查询报表数据失败",vo.getReportId(),vo.getReportIds());
-            User user = TokenUtil.getNewUser(httpServletRequest);
+            User user = TokenUtil.getUser();
             vo.setDoctorId(user.getUserIdCode());
             Map<String, Object> map = reportStaticService.selectDoctorIndexData(vo);
            return R.ok("查询报表数据成功").put("data",map);