From 2862c3e4da3adbb4bea43151514f0c43b86476d6 Mon Sep 17 00:00:00 2001 From: mitao <2763622819@qq.com> Date: 星期六, 07 九月 2024 17:49:17 +0800 Subject: [PATCH] APP端冥想首页相关接口 --- xinquan-common/xinquan-common-security/src/main/java/com/xinquan/common/security/service/TokenService.java | 70 +++++++++++++++++++++------------- 1 files changed, 43 insertions(+), 27 deletions(-) diff --git a/xinquan-common/xinquan-common-security/src/main/java/com/xinquan/common/security/service/TokenService.java b/xinquan-common/xinquan-common-security/src/main/java/com/xinquan/common/security/service/TokenService.java index b36ae3e..d4a3a53 100644 --- a/xinquan-common/xinquan-common-security/src/main/java/com/xinquan/common/security/service/TokenService.java +++ b/xinquan-common/xinquan-common-security/src/main/java/com/xinquan/common/security/service/TokenService.java @@ -9,8 +9,8 @@ import com.xinquan.common.core.utils.uuid.IdUtils; import com.xinquan.common.redis.service.RedisService; import com.xinquan.common.security.utils.SecurityUtils; +import com.xinquan.system.api.model.AppLoginUser; import com.xinquan.system.api.model.LoginUser; -import com.xinquan.system.api.model.WXLoginUser; import java.util.HashMap; import java.util.Map; import java.util.concurrent.TimeUnit; @@ -36,6 +36,7 @@ private final static long expireTime = CacheConstants.EXPIRATION; private final static String ACCESS_TOKEN = CacheConstants.LOGIN_TOKEN_KEY; + private final static String APP_USER_ACCESS_TOKEN = CacheConstants.APP_USER_LOGIN_TOKEN_KEY; private final static Long MILLIS_MINUTE_TEN = CacheConstants.REFRESH_TIME * MILLIS_MINUTE; @@ -163,40 +164,55 @@ redisService.setCacheObject(userKey, loginUser, expireTime, TimeUnit.MINUTES); } + private void refreshToken4AppLoginUser(AppLoginUser appLoginUser) { + appLoginUser.setLoginTime(System.currentTimeMillis()); + appLoginUser.setExpireTime(appLoginUser.getLoginTime() + expireTime * MILLIS_MINUTE); + // 根据uuid将loginUser缓存 + String userKey = getTokenKeyByAppLoginUser(appLoginUser.getToken()); + redisService.setCacheObject(userKey, appLoginUser, expireTime, TimeUnit.MINUTES); + } + + private String getTokenKeyByAppLoginUser(String token) { + return APP_USER_ACCESS_TOKEN + token; + } + private String getTokenKey(String token) { return ACCESS_TOKEN + token; } - public Map<String, Object> createToken4WXLoginUser(WXLoginUser wxLoginUser) { - LoginUser loginUser = new LoginUser(); + /** + * app用户创建token + * + * @param appLoginUser + * @return + */ + public AppLoginUser createToken4AppLoginUser(AppLoginUser appLoginUser) { // Jwt存储信息 Map<String, Object> claimsMap = new HashMap<String, Object>(); // 接口返回信息 Map<String, Object> rspMap = new HashMap<String, Object>(); - // 用户为空只返回openid - rspMap.put("cellPhone", ""); - rspMap.put("access_token", ""); - if (wxLoginUser.getSysUser() != null) { - loginUser.setSysUser(wxLoginUser.getSysUser()); - String token = IdUtils.fastUUID(); - Long userId = loginUser.getSysUser().getUserId(); - String userName = loginUser.getSysUser().getUserName(); - loginUser.setToken(token); - loginUser.setUserid(userId); - 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); - if (StringUtils.isNotBlank(wxLoginUser.getCellPhone())) { - rspMap.put("cellPhone", wxLoginUser.getCellPhone()); - } else { - rspMap.put("cellPhone", ""); - } - rspMap.put("access_token", JwtUtils.createToken(claimsMap)); - rspMap.put("expires_in", expireTime); - } - return rspMap; + String token = IdUtils.fastUUID(); + Long userId = appLoginUser.getAppUserId(); + String userName = appLoginUser.getSysUser().getNickName(); + appLoginUser.setToken(token); + appLoginUser.setUserid(userId); + appLoginUser.setIpaddr(IpUtils.getIpAddr()); + LoginUser loginUser = new LoginUser(); + loginUser.setSysUser(appLoginUser.getSysUser()); + loginUser.setToken(token); + loginUser.setUserid(userId); + loginUser.setUsername(userName); + loginUser.setIpaddr(IpUtils.getIpAddr()); + refreshToken(loginUser); + // refreshToken4AppLoginUser(appLoginUser); + claimsMap.put(SecurityConstants.USER_KEY, token); + claimsMap.put(SecurityConstants.DETAILS_USER_ID, userId); + claimsMap.put(SecurityConstants.DETAILS_USERNAME, userName); + appLoginUser.setAccessToken(JwtUtils.createToken(claimsMap)); + appLoginUser.setExpireIn(expireTime); + return appLoginUser; } + + } \ No newline at end of file -- Gitblit v1.7.1