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