From 98fbc9bef757f5988bd1f567033f46665386c454 Mon Sep 17 00:00:00 2001 From: jinpengyong <jpy123456> Date: Tue, 24 Oct 2023 10:23:00 +0800 Subject: [PATCH] chore:修复日数据空指针异常 --- screen-common/src/main/java/com/moral/util/TokenUtils.java | 83 +++++++++++++++++++++++++++++++++++++++-- 1 files changed, 78 insertions(+), 5 deletions(-) diff --git a/screen-common/src/main/java/com/moral/util/TokenUtils.java b/screen-common/src/main/java/com/moral/util/TokenUtils.java index 9bc1d5e..e8ae947 100644 --- a/screen-common/src/main/java/com/moral/util/TokenUtils.java +++ b/screen-common/src/main/java/com/moral/util/TokenUtils.java @@ -10,8 +10,11 @@ import org.springframework.data.redis.core.RedisTemplate; import org.springframework.stereotype.Component; import org.springframework.util.ObjectUtils; +import org.springframework.web.context.request.RequestContextHolder; +import org.springframework.web.context.request.ServletRequestAttributes; +import javax.servlet.http.HttpServletRequest; import java.util.concurrent.TimeUnit; /** @@ -73,16 +76,37 @@ ResponseCodeEnum.TOKEN_CREATE_ERROR.getMsg()); } } + public static String getTokenApp(String uid, Object userInfo) { + //������������token + try { + //������token + String token = TokenEncryptUtils.encoded(uid + "/" + System.currentTimeMillis() / 1000); + //������������token + String oldToken = (String) redisTemplate.opsForHash().get("user_token", uid); + if (oldToken != null) + redisTemplate.delete(oldToken); + //���token���������value��� + redisTemplate.opsForValue().set(token, userInfo); + //redisTemplate.expire(token, validity_time, TimeUnit.SECONDS); + //���token���������Hash��� + redisTemplate.opsForHash().put("user_token", uid, token); + return token; + } catch (Exception e) { + log.error("token���������������" + e.getMessage()); + throw new TokenException(ResponseCodeEnum.TOKEN_CREATE_ERROR.getCode(), + ResponseCodeEnum.TOKEN_CREATE_ERROR.getMsg()); + } + } /** * @Description: ������token * @Param: [type, token] type��� ���������������manage ���������������api - * @return: java.util.Map<java.lang.String , java.lang.Object> + * @return: java.util.Map<java.lang.String , java.lang.Object> * @Author: ��������� * @Date: 2021/3/10 */ - public static void checkToken(String token) { + public static boolean checkToken(String token) { try { String[] tokenArray = TokenEncryptUtils.decoded(token).split("/"); //������token������������ @@ -96,16 +120,16 @@ ResponseCodeEnum.TOKEN_INVALID.getMsg()); } } catch (Exception e) { - throw new TokenException(ResponseCodeEnum.TOKEN_INVALID.getCode(), - ResponseCodeEnum.TOKEN_INVALID.getMsg()); + return false; } + return true; } /** * @Description: ������token������������������ * @Param: [token] - * @return: java.util.Map<java.lang.String , java.lang.Object> + * @return: java.util.Map<java.lang.String , java.lang.Object> * @Author: ��������� * @Date: 2021/3/11 */ @@ -117,6 +141,11 @@ return userInfo; } + public static Object getUserInfo() { + String token = getCurrentToken(); + return getUserInfoByToken(token); + } + /** * @Description: ������token * @Param: [uid, token] @@ -125,9 +154,12 @@ * @Date: 2021/3/11 */ public static void destoryToken(String uid, String token) { + if(ObjectUtils.isEmpty(uid)||ObjectUtils.isEmpty(token)) + return; redisTemplate.delete(token); redisTemplate.opsForHash().delete("user_token", uid); } + /** * @Description: ������token @@ -140,6 +172,35 @@ destoryToken(getUidByToken(token), token); } + + /** + * @Description: ���������������������token + * @Param: [] + * @return: void + * @Author: ��������� + * @Date: 2021/5/21 + */ + public static void destoryToken() { + destoryToken(getCurrentToken()); + } + + public static void destoryToken(Integer id) { + String token = getTokenById(id); + destoryToken(String.valueOf(id),token); + } + + /** + * @Description: ������id������token + * @Param: [] + * @return: java.lang.String + * @Author: ��������� + * @Date: 2021/5/21 + */ + public static String getTokenById(Integer id) { + return (String)redisTemplate.opsForHash().get("user_token", String.valueOf(id)); + } + + /** * @Description: ������TOKEN������Id * @Param: [token] @@ -152,6 +213,18 @@ return string[0]; } + /** + * @Description: ���������������������token + * @Param: [] + * @return: java.lang.String + * @Author: ��������� + * @Date: 2021/5/21 + */ + public static String getCurrentToken() { + HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest(); + return request.getHeader("token"); + } + /** * @Description: token������ -- Gitblit v1.8.0