李林
2024-02-28 780578502875aa0c339cb73f11b1e635df458c77
user-server/src/main/java/com/yuanchu/mom/controller/UserController.java
@@ -1,8 +1,9 @@
package com.yuanchu.mom.controller;
import cn.hutool.json.JSON;
import cn.hutool.http.HttpUtil;
import cn.hutool.json.JSONObject;
import cn.hutool.json.JSONUtil;
import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yuanchu.mom.annotation.ValueAuth;
import com.yuanchu.mom.common.PrintChina;
@@ -13,6 +14,7 @@
import com.yuanchu.mom.utils.JackSonUtil;
import com.yuanchu.mom.utils.Jwt;
import com.yuanchu.mom.utils.RedisUtil;
import com.yuanchu.mom.utils.ServletUtils;
import com.yuanchu.mom.vo.Result;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiModelProperty;
@@ -43,11 +45,21 @@
    @ValueAuth
    public Result login(String account, String password) {
        User user = userService.selectUserByPwd(account, password);
        if (user == null) return Result.fail("登录失败");
        String jwtToken = jwt.createJwt(user.getName(), user.getId(), 60);
        String jwtReToken = jwt.createJwt(user.getName(), user.getId(), 24 * 60);
        RedisUtil.set("" + user.getId(), jwtToken, 60);
        RedisUtil.set(user.getId() + "Re", jwtReToken, 24 * 60);
        if (user == null) return Result.fail("账号密码错误或者账号已被停用");
        String jwtToken;
        String jwtReToken;
        if(RedisUtil.hasKey("" + user.getId())){
            jwtToken = RedisUtil.get("" + user.getId()) + "";
        }else{
            jwtToken = jwt.createJwt(user.getName(), user.getId(), 24 * 60);
            RedisUtil.set("" + user.getId(), jwtToken, 24 * 60);
        }
        if(RedisUtil.hasKey(user.getId() + "Re")){
            jwtReToken = RedisUtil.get(user.getId() + "Re") + "";
        }else{
            jwtReToken = jwt.createJwt(user.getName(), user.getId(), 48 * 60);
            RedisUtil.set(user.getId() + "Re", jwtReToken, 48 * 60);
        }
        Map<String, Object> map = new HashMap<>();
        map.put("token", jwtToken);
        map.put("reToken", jwtReToken);
@@ -69,10 +81,10 @@
            } else if (redisToken.equals(reToken)) {
                int id = Integer.parseInt(maps.get("id").replaceAll("\"", ""));
                String name = maps.get("name").replaceAll("\"", "");
                String jwtToken = jwt.createJwt(name, id, 60);
                String jwtReToken = jwt.createJwt(name, id, 24 * 60);
                RedisUtil.set("" + id, jwtToken, 60);
                RedisUtil.set(id + "Re", jwtReToken, 24 * 60);
                String jwtToken = jwt.createJwt(name, id,  24 * 60);
                String jwtReToken = jwt.createJwt(name, id, 48 * 60);
                RedisUtil.set("" + id, jwtToken, 24 * 60);
                RedisUtil.set(id + "Re", jwtReToken, 48 * 60);
                Map<String, String> map1 = new HashMap<>();
                map1.put("token", jwtToken);
                map1.put("reToken", jwtReToken);
@@ -105,4 +117,11 @@
        else user.setPassword(DigestUtils.md5DigestAsHex(user.getPassword().getBytes()));
        return Result.success(userService.addUser(user));
    }
    @ApiOperation(value = "获取用户信息枚举")
    @GetMapping("/getUserMenu")
    @ValueAuth
    public Result<?> getUserMenu() {
        return Result.success(userService.getUserMenu());
    }
}