From e23a1db0b60437f17d09d65c65f8fd0c8a5d88c7 Mon Sep 17 00:00:00 2001
From: jiangping <jp@doumee.com>
Date: 星期一, 26 八月 2024 18:11:07 +0800
Subject: [PATCH] 最新版本

---
 server/system_service/src/main/java/com/doumee/api/BaseController.java |   36 +++++++++++++++++++++++++++++++++---
 1 files changed, 33 insertions(+), 3 deletions(-)

diff --git a/server/system_service/src/main/java/com/doumee/api/BaseController.java b/server/system_service/src/main/java/com/doumee/api/BaseController.java
index a390450..7aae08b 100644
--- a/server/system_service/src/main/java/com/doumee/api/BaseController.java
+++ b/server/system_service/src/main/java/com/doumee/api/BaseController.java
@@ -1,12 +1,21 @@
 package com.doumee.api;
 
+import com.alibaba.fastjson.JSONObject;
+import com.doumee.core.constants.ResponseStatus;
+import com.doumee.core.exception.BusinessException;
 import com.doumee.core.model.LoginUserInfo;
+import com.doumee.core.utils.Constants;
 import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.lang3.StringUtils;
 import org.apache.shiro.SecurityUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.data.redis.core.RedisTemplate;
 import org.springframework.web.context.request.RequestContextHolder;
 import org.springframework.web.context.request.ServletRequestAttributes;
 
 import javax.servlet.http.HttpServletRequest;
+import java.util.ArrayList;
+import java.util.List;
 
 /**
  * Controller鍩虹被
@@ -16,13 +25,27 @@
 @Slf4j
 public class BaseController {
 
+    @Autowired
+    private RedisTemplate<String,Object> stringRedisTemplate;
     /**
      * 鑾峰彇褰撳墠鐧诲綍鐢ㄦ埛
      * @author Eva.Caesar Liu
      * @date 2023/03/21 14:49
      */
-    protected LoginUserInfo getLoginUser () {
-        return (LoginUserInfo)SecurityUtils.getSubject().getPrincipal();
+    public LoginUserInfo getLoginUser (String token) {
+        if (token == null || token.isEmpty()) {
+               return (LoginUserInfo)SecurityUtils.getSubject().getPrincipal();
+//            throw new BusinessException(ResponseStatus.NO_LOGIN.getCode(),"鏈櫥褰�");
+        }
+        String userinfo =(String) stringRedisTemplate.opsForValue().get(Constants.REDIS_TOKEN_KEY + token);
+        if (StringUtils.isBlank(userinfo)) {
+            throw new BusinessException(ResponseStatus.NO_LOGIN.getCode(),"鏈櫥褰�");
+        }
+        LoginUserInfo user = JSONObject.toJavaObject(JSONObject.parseObject(userinfo),LoginUserInfo.class );
+        if(user ==null ){
+            throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"鐢ㄦ埛鐧婚檰宸插け鏁堬紝璇烽噸鏂扮櫥闄嗭紒");
+        }
+        return  user;
     }
 
 
@@ -36,5 +59,12 @@
         return request;
     }
 
-
+    public List<Integer> getIdList(String ids){
+        String [] idArray = ids.split(",");
+        List<Integer> idList = new ArrayList<>();
+        for (String id : idArray) {
+            idList.add(Integer.valueOf(id));
+        }
+        return idList;
+    }
 }

--
Gitblit v1.9.3