From 66cfe5705e91b37b45f1e0c0e3fae8a1581d25e7 Mon Sep 17 00:00:00 2001 From: jiangping <jp@doumee.com> Date: 星期二, 11 三月 2025 14:33:18 +0800 Subject: [PATCH] 最新版本541200007 --- server/system_service/src/main/java/com/doumee/api/BaseController.java | 43 ++++++++++++++++++++++++++++++++++++++++--- 1 files changed, 40 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..b335103 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.doumee.core.model.LoginUserInfo; +import com.alibaba.fastjson.JSONObject; +import com.doumee.core.constants.ResponseStatus; +import com.doumee.core.exception.BusinessException; +import com.doumee.service.business.third.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,19 @@ return request; } + public List<Integer> getIdList(String ids){ + if(StringUtils.isBlank(ids)){ + return null; + } + String [] idArray = ids.split(","); + List<Integer> idList = new ArrayList<>(); + for (String id : idArray) { + try { + idList.add(Integer.valueOf(id)); + }catch (Exception e){ + } + } + return idList; + } } -- Gitblit v1.9.3