Pu Zhibing
2024-11-27 c17ee7624b28485794e956a17631ce2d41a623ff
ruoyi-common/ruoyi-common-security/src/main/java/com/ruoyi/common/security/service/TokenService.java
@@ -5,8 +5,7 @@
import java.util.concurrent.TimeUnit;
import javax.servlet.http.HttpServletRequest;
import com.ruoyi.common.core.exception.user.UserAppletException;
import com.ruoyi.system.api.model.LoginUserApplet;
import com.ruoyi.system.api.model.LoginUser;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import com.ruoyi.common.core.constant.CacheConstants;
@@ -18,7 +17,6 @@
import com.ruoyi.common.core.utils.uuid.IdUtils;
import com.ruoyi.common.redis.service.RedisService;
import com.ruoyi.common.security.utils.SecurityUtils;
import com.ruoyi.system.api.model.LoginUser;
/**
 * token验证处理
@@ -49,8 +47,6 @@
      Long userId = loginUser.getSysUser().getUserId();
      String userName = loginUser.getSysUser().getUserName();
      loginUser.setToken(token);
      loginUser.setUserid(userId);
      loginUser.setUsername(userName);
      loginUser.setIpaddr(IpUtils.getIpAddr());
      refreshToken(loginUser);
      
@@ -71,10 +67,10 @@
   /**
    * 创建小程序令牌
    */
   public Map<String, Object> createTokenApplet(LoginUserApplet loginUser) {
   public Map<String, Object> createTokenApplet(LoginUser loginUser) {
      String token = IdUtils.fastUUID();
      Long userId = loginUser.getUserId();
      String name = loginUser.getName();
      Long userId = loginUser.getUserid();
      String name = loginUser.getUsername();
      loginUser.setToken(token);
      loginUser.setIpaddr(IpUtils.getIpAddr());
      refreshToken1(loginUser);
@@ -91,15 +87,15 @@
      return rspMap;
   }
   
   public LoginUserApplet getLoginUserApplet() {
      LoginUserApplet loginUserAppletToken = getLoginUserAppletToken(ServletUtils.getRequest());
   public LoginUser getLoginUserApplet() {
      LoginUser loginUserAppletToken = getLoginUserAppletToken(ServletUtils.getRequest());
      if (loginUserAppletToken == null) {
         throw new RuntimeException("令牌已过期,请重新登录!");
      }
      return loginUserAppletToken;
   }
   
   public LoginUserApplet getLoginUserAppletToken(HttpServletRequest request) {
   public LoginUser getLoginUserAppletToken(HttpServletRequest request) {
      // 获取请求携带的令牌
      String token = SecurityUtils.getToken(request);
      return getLoginUserApplet(token);
@@ -110,8 +106,8 @@
    *
    * @return 用户信息
    */
   public LoginUserApplet getLoginUserApplet(String token) {
      LoginUserApplet user = null;
   public LoginUser getLoginUserApplet(String token) {
      LoginUser user = null;
      try {
         if (StringUtils.isNotEmpty(token)) {
            String userKey = JwtUtils.getUserKeyApplet(token);
@@ -211,7 +207,7 @@
      redisService.setCacheObject(userKey, loginUser, expireTime, TimeUnit.MINUTES);
   }
   
   public void refreshToken1(LoginUserApplet dto) {
   public void refreshToken1(LoginUser dto) {
      dto.setLoginTime(System.currentTimeMillis());
      dto.setExpireTime(dto.getLoginTime() + expireAppletTime * MILLIS_MINUTE);
      // 根据uuid将loginUser缓存