From 4c6dcf757cc7962a8dbaefd83588cc576ee44594 Mon Sep 17 00:00:00 2001 From: 13693261870 <252740454@qq.com> Date: 星期三, 23 七月 2025 11:29:40 +0800 Subject: [PATCH] 迁移redis服务 --- se-common/src/main/java/com/terra/common/service/TokenHelper.java | 78 +++++++++++++++++++++++++++++++++++++++ 1 files changed, 78 insertions(+), 0 deletions(-) diff --git a/se-common/src/main/java/com/terra/common/service/TokenHelper.java b/se-common/src/main/java/com/terra/common/service/TokenHelper.java new file mode 100644 index 0000000..24aa174 --- /dev/null +++ b/se-common/src/main/java/com/terra/common/service/TokenHelper.java @@ -0,0 +1,78 @@ +package com.terra.common.service; + +import com.terra.common.entity.all.RedisCacheKey; +import com.terra.common.entity.lf.TokenPo; +import com.terra.common.entity.lf.UserPo; +import com.terra.common.helper.StringHelper; +import com.terra.common.helper.WebHelper; +import com.terra.common.mapper.OperatePoMapper; +import org.springframework.stereotype.Component; + +import javax.annotation.Resource; +import javax.servlet.http.HttpServletRequest; +import java.util.concurrent.TimeUnit; + +/** + * 浠ょ墝甯姪绫� + * @author WWW + */ +@Component +public class TokenHelper { + @Resource + RedisService redisService; + + @Resource + OperatePoMapper mapper; + + public static Integer getCurrentUserId(HttpServletRequest req) { + String token = WebHelper.getToken(req); + + return null; + } + + public UserPo getUserByToken(String token) { + if (StringHelper.isNull(token)) { + return null; + } + + // redis + String userKey = RedisCacheKey.signUserKey(token); + Object obj = redisService.get(userKey); + if (obj instanceof UserPo) { + return (UserPo) obj; + } + + // db + UserPo po = mapper.selectByToken(token); + if (null != po) { + getEntityByToken(token); + } + + return po; + } + + public TokenPo getEntityByToken(String token) { + String tokenKey = RedisCacheKey.signTokenKey(token); + + // redis + Object obj = redisService.get(tokenKey); + if (obj instanceof TokenPo) { + return (TokenPo) obj; + } + + // db + TokenPo te = mapper.selectOneByToken(token); + if (null != te) { + long min = StringHelper.getMinuteDifference(te.getExpire()); + if (min > 0) { + redisService.put(tokenKey, te, min, TimeUnit.MINUTES); + } + } + + return te; + } + + public static String getCurrentUserName() { + return null; + } +} -- Gitblit v1.9.3