管道基础大数据平台系统开发-【后端】-Server
1
13693261870
2022-09-30 74c698fb0f094d7d322cfe6a218cf7c86e82a43f
src/main/java/com/lf/server/service/data/TokenService.java
@@ -29,6 +29,9 @@
    @Autowired
    TokenMapper tokenMapper;
    @Autowired
    UsersService usersService;
    @Override
    public Integer selectCount(String token) {
        return tokenMapper.selectCount(token);
@@ -70,6 +73,11 @@
    }
    @Override
    public TokenEntity selectOneByToken(String token) {
        return tokenMapper.selectOneByToken(token);
    }
    @Override
    public List<TokenEntity> selectTokenAll() {
        return tokenMapper.selectTokenAll();
    }
@@ -97,7 +105,7 @@
    }
    /**
     * 是否登录
     * 是/否登录
     *
     * @param req
     * @param res
@@ -110,7 +118,15 @@
        }
        // redis
        if (redisService.hasKey(RedisCacheKey.signTokenKey(token))) {
        String tokenKey = RedisCacheKey.signTokenKey(token);
        if (redisService.hasKey(tokenKey)) {
            return true;
        }
        // db
        TokenEntity te = selectOneByToken(token);
        if (te != null) {
            redisService.put(tokenKey, te, te.getDuration(), TimeUnit.MINUTES);
            return true;
        }
@@ -128,13 +144,21 @@
            return null;
        }
        String key = RedisCacheKey.signTokenKey(token);
        Object obj = redisService.get(key);
        String tokenKey = RedisCacheKey.signTokenKey(token);
        // redis
        Object obj = redisService.get(tokenKey);
        if (obj != null && obj instanceof TokenEntity) {
            return (TokenEntity) obj;
        }
        return null;
        // db
        TokenEntity te = selectOneByToken(token);
        if (te != null) {
            redisService.put(tokenKey, te, te.getDuration(), TimeUnit.MINUTES);
        }
        return te;
    }
    /**
@@ -158,6 +182,7 @@
    /**
     * 获取当前用户
     *
     * @param req
     * @return
     */
@@ -168,11 +193,22 @@
        }
        String userKey = RedisCacheKey.signUserKey(token);
        // redis
        Object obj = redisService.get(userKey);
        if (obj != null && obj instanceof UsersEntity) {
            return (UsersEntity) obj;
        }
        return null;
        // db
        UsersEntity ue = usersService.selectByToken(token);
        if (ue != null) {
            TokenEntity te = getEntityByToken(token);
            if (te != null) {
                redisService.put(userKey, ue, te.getDuration(), TimeUnit.MINUTES);
            }
        }
        return ue;
    }
}