From 7734a4fbcc6da9788aafdb5dc78a6405431d9eb3 Mon Sep 17 00:00:00 2001 From: zhangchenbiao Date: Fri, 9 Jun 2023 10:02:00 +0800 Subject: [PATCH] update --- .../java/com/cool/store/constants/CommonConstants.java | 2 +- .../src/main/java/com/cool/store/context/CurrentUser.java | 5 +++++ .../context/{UserContext.java => CurrentUserContext.java} | 2 +- .../com/cool/store/service/impl/LoginServiceImpl.java | 5 +++-- .../java/com/cool/store/config/TokenValidateFilter.java | 8 ++++---- .../java/com/cool/store/controller/LoginController.java | 7 ++++++- .../com/cool/store/controller/OssClientController.java | 2 +- 7 files changed, 21 insertions(+), 10 deletions(-) rename coolstore-partner-service/src/main/java/com/cool/store/context/{UserContext.java => CurrentUserContext.java} (94%) diff --git a/coolstore-partner-common/src/main/java/com/cool/store/constants/CommonConstants.java b/coolstore-partner-common/src/main/java/com/cool/store/constants/CommonConstants.java index ffbff6a66..8e64736e5 100644 --- a/coolstore-partner-common/src/main/java/com/cool/store/constants/CommonConstants.java +++ b/coolstore-partner-common/src/main/java/com/cool/store/constants/CommonConstants.java @@ -16,7 +16,7 @@ public class CommonConstants { public static final String DEFAULT_AVATAR = "DefaultAvatar"; - public static final int ACTION_TOKEN_EXPIRE = 14400; + public static final int ACCESS_TOKEN_EXPIRE = 14400; public static final int REFRESH_TOKEN_EXPIRE = 60*60*24*30; diff --git a/coolstore-partner-service/src/main/java/com/cool/store/context/CurrentUser.java b/coolstore-partner-service/src/main/java/com/cool/store/context/CurrentUser.java index d44a5194c..ddb06bd83 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/context/CurrentUser.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/context/CurrentUser.java @@ -24,5 +24,10 @@ public class CurrentUser { */ private Boolean isAdmin; + /** + * 头像 + */ + private String avatar; + private SysRoleDO sysRoleDO; } diff --git a/coolstore-partner-service/src/main/java/com/cool/store/context/UserContext.java b/coolstore-partner-service/src/main/java/com/cool/store/context/CurrentUserContext.java similarity index 94% rename from coolstore-partner-service/src/main/java/com/cool/store/context/UserContext.java rename to coolstore-partner-service/src/main/java/com/cool/store/context/CurrentUserContext.java index c18e89a11..248d452f5 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/context/UserContext.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/context/CurrentUserContext.java @@ -6,7 +6,7 @@ import org.apache.commons.lang3.StringUtils; /** * */ -public class UserContext { +public class CurrentUserContext { private static final ThreadLocal contextHolder = new ThreadLocal(); diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/LoginServiceImpl.java b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/LoginServiceImpl.java index 411e79c9f..fe8176cd2 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/LoginServiceImpl.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/LoginServiceImpl.java @@ -41,7 +41,7 @@ public class LoginServiceImpl implements LoginService { private RedisUtilPool redisUtilPool; @Resource private EnterpriseUserRoleDAO enterpriseUserRoleDAO; - @Value("${corpId:null}") + @Value("${corp.id:null}") private String corpId; @Override @@ -78,13 +78,14 @@ public class LoginServiceImpl implements LoginService { currentUser.setIsAdmin(enterpriseUser.getIsAdmin()); currentUser.setSysRoleDO(sysRole); currentUser.setCorpId(corpId); + currentUser.setAvatar(enterpriseUser.getAvatar()); //生成令牌 RandomNumberGenerator randomNumberGenerator = new SecureRandomNumberGenerator(); String token = randomNumberGenerator.nextBytes().toHex(); String refreshToken = randomNumberGenerator.nextBytes().toHex(); currentUser.setName(enterpriseUser.getName()); currentUser.setAccessToken(token); - redisUtilPool.setString(CommonConstants.ACCESS_TOKEN_KEY + ":" + token, JSON.toJSONString(currentUser), CommonConstants.ACTION_TOKEN_EXPIRE); + redisUtilPool.setString(CommonConstants.ACCESS_TOKEN_KEY + ":" + token, JSON.toJSONString(currentUser), CommonConstants.ACCESS_TOKEN_EXPIRE); redisUtilPool.setString(currentUser.getUserId(), token); redisUtilPool.setString(CommonConstants.REFRESH_TOKEN_KEY+":"+refreshToken,JSON.toJSONString(refreshUser), CommonConstants.REFRESH_TOKEN_EXPIRE); log.info("[" + enterpriseUser.getName() + "; action_token:"+ token + "; userId:" + currentUser.getUserId() +"]登入系统成功"); diff --git a/coolstore-partner-webb/src/main/java/com/cool/store/config/TokenValidateFilter.java b/coolstore-partner-webb/src/main/java/com/cool/store/config/TokenValidateFilter.java index b9b726b43..da8392c9d 100644 --- a/coolstore-partner-webb/src/main/java/com/cool/store/config/TokenValidateFilter.java +++ b/coolstore-partner-webb/src/main/java/com/cool/store/config/TokenValidateFilter.java @@ -3,7 +3,7 @@ package com.cool.store.config; import com.alibaba.fastjson.JSON; import com.cool.store.enums.ErrorCodeEnum; import com.cool.store.response.ResponseResult; -import com.cool.store.context.UserContext; +import com.cool.store.context.CurrentUserContext; import com.cool.store.utils.RedisUtilPool; import com.cool.store.context.CurrentUser; import com.google.common.collect.Lists; @@ -74,7 +74,7 @@ public class TokenValidateFilter implements Filter { String userStr = ""; CurrentUser currentUser = null; boolean isInWhiteList = excludePath(uri); - String accessToken = reqs.getParameter("access_token"); + String accessToken = reqs.getHeader("accessToken"); String key = "access_token:" + accessToken; if(StringUtils.isNotBlank(accessToken)){ userStr = redisUtilPool.getString(key); @@ -105,10 +105,10 @@ public class TokenValidateFilter implements Filter { return; } try { - UserContext.setUser(userStr); + CurrentUserContext.setUser(userStr); filterChain.doFilter(servletRequest, servletResponse); } finally { - UserContext.removeUser(); + CurrentUserContext.removeUser(); } } diff --git a/coolstore-partner-webb/src/main/java/com/cool/store/controller/LoginController.java b/coolstore-partner-webb/src/main/java/com/cool/store/controller/LoginController.java index e5e998b2b..d5c3bf50f 100644 --- a/coolstore-partner-webb/src/main/java/com/cool/store/controller/LoginController.java +++ b/coolstore-partner-webb/src/main/java/com/cool/store/controller/LoginController.java @@ -1,9 +1,9 @@ package com.cool.store.controller; import com.alibaba.fastjson.JSONObject; +import com.cool.store.context.CurrentUserContext; import com.cool.store.dto.login.FeiShuLoginDTO; import com.cool.store.dto.login.UserIdInfoDTO; -import com.cool.store.enums.AppTypeEnum; import com.cool.store.enums.ErrorCodeEnum; import com.cool.store.exception.ServiceException; import com.cool.store.http.ISVHttpRequest; @@ -56,4 +56,9 @@ public class LoginController { } } + @PostMapping("/getUserInfoByToken") + public ResponseResult getUserInfoByToken(){ + return ResponseResult.success(CurrentUserContext.getUser()); + } + } diff --git a/coolstore-partner-webb/src/main/java/com/cool/store/controller/OssClientController.java b/coolstore-partner-webb/src/main/java/com/cool/store/controller/OssClientController.java index ff1861975..4faee3a14 100644 --- a/coolstore-partner-webb/src/main/java/com/cool/store/controller/OssClientController.java +++ b/coolstore-partner-webb/src/main/java/com/cool/store/controller/OssClientController.java @@ -34,7 +34,7 @@ public class OssClientController { private String endpoint; @Value("${oss.bucket:null}") private String bucket; - @Value("${corpId:null}") + @Value("${corp.id:null}") private String corpId; @GetMapping("/getUploadFileConfig")