fuint-application/application-service/src/main/java/com/fuint/application/service/token/TokenService.java

(开头部分) 3KB

这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。

package com.fuint.application.service.token;

import com.fuint.application.dao.repositories.MtUserRepository;
import com.fuint.application.enums.StatusEnum;
import com.fuint.application.service.member.MemberService;
import com.fuint.application.util.MD5Util;
import com.fuint.application.util.TimeUtils;
import com.fuint.cache.redis.RedisTemplate;
import com.fuint.exception.BusinessCheckException;
import nl.bitwalker.useragentutils.UserAgent;
import org.apache.commons.lang.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import com.fuint.application.dao.entities.MtUser;
import org.springframework.stereotype.Service;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Random;

@Service
public class TokenService {
    @Autowired
    private RedisTemplate redisTemplate;

    @Autowired
    private MemberService memberService;

    @Autowired
    private MtUserRepository userRepository;

    /**
     * 生成token
     * */
    public String generateToken(String userAgent, String userId) {
        StringBuilder token = new StringBuilder();
        UserAgent userAgent1 = UserAgent.parseUserAgentString(userAgent);
        if (userAgent1.getOperatingSystem().isMobileDevice()) {
            token.append("MOBILE_");
        } else {
            token.append("PC_");
        }

        token.append(userId);

        // 加时间
        token.append(new SimpleDateFormat("yyyyMMddHHmmssSSS").format(new Date()) + "_");

        // 加六位随机数
        token.append(new Random().nextInt((999999 - 111111 + 1)) + 111111);

        String result = MD5Util.getMD5(token.toString());

        return result;
    }

    /**
     * 保存token
     * */
    public void saveToken(String token, MtUser mtUser) {
        // 如果是PC端,那么token保存24个小时
        if (token.startsWith("PC")) {
后面还有 66 行代码,购买后查看完整代码

24 小时内免费解锁 3 个项目,之后 1 算力/个。 规则说明

AI 解读 AI

登录后可用,每次 10 算力,解读结果公开显示在下面。

还没有人解读过这个文件。