From fe2d5b14031edbe43238770fb1fc21e8a322b51a Mon Sep 17 00:00:00 2001
From: rentaiming <806181062@qq.com>
Date: 星期四, 13 六月 2024 18:18:08 +0800
Subject: [PATCH] 用户端商品

---
 ruoyi-common/ruoyi-common-security/src/main/java/com/ruoyi/common/security/service/TokenService.java |   78 +++++++++++++++++++++++++++++++++++++--
 1 files changed, 74 insertions(+), 4 deletions(-)

diff --git a/ruoyi-common/ruoyi-common-security/src/main/java/com/ruoyi/common/security/service/TokenService.java b/ruoyi-common/ruoyi-common-security/src/main/java/com/ruoyi/common/security/service/TokenService.java
index 139ee8b..19d9c4e 100644
--- a/ruoyi-common/ruoyi-common-security/src/main/java/com/ruoyi/common/security/service/TokenService.java
+++ b/ruoyi-common/ruoyi-common-security/src/main/java/com/ruoyi/common/security/service/TokenService.java
@@ -4,6 +4,9 @@
 import java.util.Map;
 import java.util.concurrent.TimeUnit;
 import javax.servlet.http.HttpServletRequest;
+
+import com.ruoyi.common.core.constant.Constants;
+import com.ruoyi.system.api.domain.AppMiniLoginVO;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
 import com.ruoyi.common.core.constant.CacheConstants;
@@ -32,7 +35,8 @@
 
     protected static final long MILLIS_MINUTE = 60 * MILLIS_SECOND;
 
-    private final static long expireTime = CacheConstants.EXPIRATION;
+
+    private final static long EXPIRE_TIME = CacheConstants.EXPIRATION;
 
     private final static String ACCESS_TOKEN = CacheConstants.LOGIN_TOKEN_KEY;
 
@@ -61,7 +65,73 @@
         // 接口返回信息
         Map<String, Object> rspMap = new HashMap<String, Object>();
         rspMap.put("access_token", JwtUtils.createToken(claimsMap));
-        rspMap.put("expires_in", expireTime);
+        rspMap.put("expires_in", EXPIRE_TIME);
+        return rspMap;
+    }
+
+    public Map<String, Object> createMiniToken(AppMiniLoginVO appMiniLoginVo)
+    {
+        LoginUser loginUser = new LoginUser();
+        // Jwt存储信息
+        Map<String, Object> claimsMap = new HashMap<String, Object>();
+        // 接口返回信息
+        Map<String, Object> rspMap = new HashMap<String, Object>();
+        //用户为空只返回openid
+        rspMap.put("mobile","");
+        rspMap.put("access_token", "");
+        if(appMiniLoginVo.getSysUser()!=null){
+            loginUser.setSysUser(appMiniLoginVo.getSysUser());
+            String token = IdUtils.fastUUID();
+            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);
+            claimsMap.put(SecurityConstants.USER_KEY, token);
+            claimsMap.put(SecurityConstants.DETAILS_USER_ID, userId);
+            claimsMap.put(SecurityConstants.DETAILS_USERNAME, userName);
+            claimsMap.put(SecurityConstants.LOGIN_FROM, Constants.FROM_MINI_APP);
+            rspMap.put("access_token", JwtUtils.createToken(claimsMap));
+            rspMap.put("expires_in", EXPIRE_TIME);
+        }
+        rspMap.put("wx_unionid", appMiniLoginVo.getWxUnionid());
+        rspMap.put("mini_openid", appMiniLoginVo.getMiniOpenid());
+        rspMap.put("zfb_userid", appMiniLoginVo.getZfbuserid());
+        rspMap.put("phone",appMiniLoginVo.getPhone());
+        rspMap.put("memberid",appMiniLoginVo.getMemberid().toString());
+        return rspMap;
+    }
+
+    public Map<String, Object> createMiniToken1(AppMiniLoginVO appMiniLoginVo)
+    {
+        LoginUser loginUser = new LoginUser();
+        // Jwt存储信息
+        Map<String, Object> claimsMap = new HashMap<String, Object>();
+        // 接口返回信息
+        Map<String, Object> rspMap = new HashMap<String, Object>();
+        //用户为空只返回openid
+        rspMap.put("mobile","");
+        rspMap.put("access_token", "");
+        if(appMiniLoginVo.getSysUser()!=null){
+            loginUser.setSysUser(appMiniLoginVo.getSysUser());
+            String token = IdUtils.fastUUID();
+            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);
+            claimsMap.put(SecurityConstants.USER_KEY, token);
+            claimsMap.put(SecurityConstants.DETAILS_USER_ID, userId);
+            claimsMap.put(SecurityConstants.DETAILS_USERNAME, userName);
+            claimsMap.put(SecurityConstants.LOGIN_FROM, Constants.FROM_MINI_APP);
+            rspMap.put("access_token", JwtUtils.createToken(claimsMap));
+            rspMap.put("expires_in", EXPIRE_TIME);
+        }
+        rspMap.put("phone",appMiniLoginVo.getPhone());
         return rspMap;
     }
 
@@ -156,10 +226,10 @@
     public void refreshToken(LoginUser loginUser)
     {
         loginUser.setLoginTime(System.currentTimeMillis());
-        loginUser.setExpireTime(loginUser.getLoginTime() + expireTime * MILLIS_MINUTE);
+        loginUser.setExpireTime(loginUser.getLoginTime() + EXPIRE_TIME * MILLIS_MINUTE);
         // 根据uuid将loginUser缓存
         String userKey = getTokenKey(loginUser.getToken());
-        redisService.setCacheObject(userKey, loginUser, expireTime, TimeUnit.MINUTES);
+        redisService.setCacheObject(userKey, loginUser, EXPIRE_TIME, TimeUnit.MINUTES);
     }
 
     private String getTokenKey(String token)

--
Gitblit v1.7.1