月球大数据地理空间分析展示平台-【后端】-月球后台服务
13693261870
2023-10-08 5d2d88a8ed4987f178f38f2162b9d25ed23c8cb7
修订令牌的有效期设定
已修改2个文件
58 ■■■■■ 文件已修改
src/main/java/com/moon/server/helper/StringHelper.java 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/moon/server/service/sys/TokenService.java 42 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/moon/server/helper/StringHelper.java
@@ -1,7 +1,9 @@
package com.moon.server.helper;
import cn.hutool.core.date.DateTime;
import com.moon.server.entity.all.StaticData;
import java.sql.Timestamp;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
@@ -139,9 +141,6 @@
    /**
     * 获取图形的WKT字符串
     *
     * @param wkt
     * @return
     */
    public static String getGeomWkt(String wkt) {
        if (StringHelper.isEmpty(wkt)) {
@@ -193,11 +192,16 @@
    /**
     * 获取GUID
     *
     * @return
     */
    public static String getGuid() {
        return UUID.randomUUID().toString();
    }
    /**
     * 获取分钟差数
     */
    public static long getMinuteDifference(Timestamp ts) {
        return (ts.getTime() - DateTime.now().getTime()) / 1000 / 60;
    }
    /**
@@ -216,7 +220,7 @@
        StringBuilder sb = new StringBuilder();
        for (T t : list) {
            if (null != t) {
                sb.append(t.toString() + join);
                sb.append(t.toString()).append(join);
            }
        }
src/main/java/com/moon/server/service/sys/TokenService.java
@@ -9,9 +9,9 @@
import com.moon.server.helper.WebHelper;
import com.moon.server.mapper.sys.TokenMapper;
import com.moon.server.service.all.RedisService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.util.Date;
@@ -25,16 +25,16 @@
 */
@Service
public class TokenService implements TokenMapper {
    @Autowired
    @Resource
    TokenMapper tokenMapper;
    @Autowired
    @Resource
    UserService usersService;
    @Autowired
    @Resource
    LoginService loginService;
    @Autowired
    @Resource
    RedisService redisService;
    @Override
@@ -156,20 +156,9 @@
            return false;
        }
        // redis
        String tokenKey = RedisCacheKey.signTokenKey(token);
        if (redisService.hasKey(tokenKey)) {
            return true;
        }
        TokenEntity te = getEntityByToken(token);
        // db
        TokenEntity te = selectOneByToken(token);
        if (null != te) {
            redisService.put(tokenKey, te, te.getDuration(), TimeUnit.MINUTES);
            return true;
        }
        return false;
        return null != te;
    }
    /**
@@ -177,7 +166,7 @@
     */
    public Boolean logout(String token, HttpServletRequest req, HttpServletResponse res) {
        TokenEntity te = getEntityByToken(token);
        if (te == null) {
        if (null == te) {
            return false;
        }
@@ -218,10 +207,6 @@
     * 根据令牌获取实体
     */
    public TokenEntity getEntityByToken(String token) {
        if (StringHelper.isNull(token)) {
            return null;
        }
        String tokenKey = RedisCacheKey.signTokenKey(token);
        // redis
@@ -233,7 +218,10 @@
        // db
        TokenEntity te = selectOneByToken(token);
        if (null != te) {
            redisService.put(tokenKey, te, te.getDuration(), TimeUnit.MINUTES);
            long min = StringHelper.getMinuteDifference(te.getExpire());
            if (min > 0) {
                redisService.put(tokenKey, te, min, TimeUnit.MINUTES);
            }
        }
        return te;
@@ -281,9 +269,9 @@
        // db
        UserEntity ue = usersService.selectByToken(token);
//        if (null != ue) {
//            getEntityByToken(token);
//        }
        if (null != ue) {
            getEntityByToken(token);
        }
        return ue;
    }