From 780578502875aa0c339cb73f11b1e635df458c77 Mon Sep 17 00:00:00 2001
From: 李林 <z1292839451@163.com>
Date: 星期三, 28 二月 2024 14:55:05 +0800
Subject: [PATCH] 系统调整

---
 user-server/src/main/java/com/yuanchu/mom/controller/UserController.java |   84 +++++++++++++++++++++++++++++++++++------
 1 files changed, 71 insertions(+), 13 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 ab1a56f..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,14 +1,28 @@
 package com.yuanchu.mom.controller;
 
+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;
 import org.springframework.web.bind.annotation.*;
 
 import java.util.HashMap;
@@ -17,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);
@@ -53,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);
@@ -66,4 +94,34 @@
         return Result.fail(map.get("info"));
     }
 
+    @ApiOperation(value = "鑾峰彇鐢ㄦ埛鍒楄〃")
+    @PostMapping("/selectUserList")
+    public Result selectUserList(@RequestBody Map<String, Object> data) throws Exception {
+        Page page = JackSonUtil.unmarshal(JackSonUtil.marshal(data.get("page")), Page.class);
+        UserPageDto user = JackSonUtil.unmarshal(JackSonUtil.marshal(data.get("entity")), UserPageDto.class);
+        return Result.success(userService.selectUserList(page, user));
+    }
+
+    @ApiOperation(value = "淇敼鐢ㄦ埛淇℃伅")
+    @PostMapping("/updateUser")
+    public Result<?> updateUser(@RequestBody User user) {
+        if ("".equals(user.getPassword())) user.setPassword(null);
+        else user.setPassword(DigestUtils.md5DigestAsHex(user.getPassword().getBytes()));
+        return Result.success(userService.updateUser(user));
+    }
+
+    @ApiOperation(value = "娣诲姞鐢ㄦ埛淇℃伅")
+    @PostMapping("/addUser")
+    public Result<?> addUser(@RequestBody User user) {
+        if ("".equals(user.getPassword())) user.setPassword(null);
+        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