From 467697f78bf5c953a81a978e5f2e67737de45569 Mon Sep 17 00:00:00 2001
From: 李林 <z1292839451@163.com>
Date: 星期一, 04 三月 2024 18:32:24 +0800
Subject: [PATCH] 标准库开发
---
user-server/src/main/java/com/yuanchu/mom/controller/UserController.java | 54 ++++++++++++++++++++++++++++++++++++++++--------------
1 files changed, 40 insertions(+), 14 deletions(-)
diff --git a/user-server/src/main/java/com/yuanchu/mom/controller/UserController.java b/user-server/src/main/java/com/yuanchu/mom/controller/UserController.java
index c9a93bc..f0792ec 100644
--- a/user-server/src/main/java/com/yuanchu/mom/controller/UserController.java
+++ b/user-server/src/main/java/com/yuanchu/mom/controller/UserController.java
@@ -1,20 +1,25 @@
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;
import com.yuanchu.mom.dto.UserPageDto;
import com.yuanchu.mom.pojo.User;
+import com.yuanchu.mom.service.PowerService;
import com.yuanchu.mom.service.UserService;
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;
import io.swagger.annotations.ApiOperation;
+import lombok.AllArgsConstructor;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.util.DigestUtils;
import org.springframework.validation.annotation.Validated;
@@ -26,32 +31,46 @@
@RequestMapping("/user")
@RestController
@Api(tags = "鐢ㄦ埛妯″潡")
+@AllArgsConstructor
public class UserController {
- @Autowired
- UserService userService;
+ private UserService userService;
- @Autowired
+ private PowerService powerService;
+
private Jwt jwt;
@ApiOperation(value = "鐧诲綍")
@PostMapping("/enter")
+ @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);
- Map<String, String> map = new HashMap<>();
+ 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);
map.put("name", user.getName());
+ map.put("power", powerService.selectPowerByRoleId(user.getRoleId()));
return Result.success("鐧诲綍鎴愬姛", map);
}
@ApiOperation(value = "token鍒锋柊")
@PostMapping("/refresh")
+ @ValueAuth
public Result refresh(String reToken) throws Exception {
Map<String, String> map = new Jwt().readJWT(reToken);
Map<String, String> maps = JackSonUtil.unmarshal(map.get("data"), Map.class);
@@ -62,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);
@@ -98,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());
+ }
}
--
Gitblit v1.9.3