孙永军 il y a 1 an
Parent
commit
c506758608

+ 15 - 1
src/main/java/com/sxtvs/open/api/user/controller/MenusController.java

@@ -1,8 +1,14 @@
 package com.sxtvs.open.api.user.controller;
 
+import com.sxtvs.open.api.user.entity.Menus;
+import com.sxtvs.open.api.user.service.impl.MenusServiceImpl;
+import com.sxtvs.open.core.auth.LoginRequired;
+import jakarta.annotation.Resource;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 
+import java.util.List;
+
 /**
  * <p>
  *  前端控制器
@@ -12,7 +18,15 @@ import org.springframework.web.bind.annotation.RestController;
  * @since 2023-05-26
  */
 @RestController
-@RequestMapping("/user/menus")
+@RequestMapping("/menus")
 public class MenusController {
 
+    @Resource
+    private MenusServiceImpl menusService;
+
+    @RequestMapping("list")
+    @LoginRequired
+    public List<Menus> menus(){
+        return menusService.list();
+    }
 }

+ 17 - 0
src/main/java/com/sxtvs/open/api/user/controller/UserController.java

@@ -1,8 +1,11 @@
 package com.sxtvs.open.api.user.controller;
 
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.sxtvs.open.api.user.dto.LoginDto;
 import com.sxtvs.open.api.user.dto.PwdResetDTO;
 import com.sxtvs.open.api.user.dto.TokenDto;
+import com.sxtvs.open.api.user.dto.UserDTO;
 import com.sxtvs.open.api.user.entity.User;
 import com.sxtvs.open.api.user.service.impl.UserServiceImpl;
 import com.sxtvs.open.core.auth.LoginRequired;
@@ -13,6 +16,8 @@ import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 
+import java.util.List;
+
 /**
  * <p>
  * 前端控制器
@@ -51,4 +56,16 @@ public class UserController {
         userService.reset(pwdResetDTO);
     }
 
+    @RequestMapping("list")
+    @LoginRequired
+    public Page<User> users(@RequestBody UserDTO userDTO){
+        return userService.users(userDTO);
+    }
+
+    @RequestMapping("update")
+    @LoginRequired
+    public void update(@RequestBody UserDTO userDTO){
+        userService.updateRole(userDTO);
+    }
+
 }

+ 18 - 0
src/main/java/com/sxtvs/open/api/user/dto/UserDTO.java

@@ -0,0 +1,18 @@
+package com.sxtvs.open.api.user.dto;
+
+import lombok.Data;
+
+@Data
+public class UserDTO {
+
+    private Long id;
+
+    private String name;
+
+    private Integer roleId;
+
+    private Integer page = 1;
+
+    private Integer pageSize = 5;
+
+}

+ 26 - 0
src/main/java/com/sxtvs/open/api/user/service/impl/UserServiceImpl.java

@@ -2,10 +2,15 @@ package com.sxtvs.open.api.user.service.impl;
 
 import cn.hutool.crypto.SecureUtil;
 import com.alibaba.fastjson.JSON;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.sxtvs.open.api.user.dto.LoginDto;
 import com.sxtvs.open.api.user.dto.PwdResetDTO;
 import com.sxtvs.open.api.user.dto.TokenDto;
+import com.sxtvs.open.api.user.dto.UserDTO;
 import com.sxtvs.open.api.user.entity.Menus;
 import com.sxtvs.open.api.user.entity.User;
 import com.sxtvs.open.api.user.entity.UserRole;
@@ -16,6 +21,7 @@ import com.sxtvs.open.core.auth.AESUtil;
 import com.sxtvs.open.core.auth.HttpContextUtil;
 import com.sxtvs.open.core.sls.AliyunLogger;
 import jakarta.annotation.Resource;
+import org.apache.http.util.TextUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
@@ -132,4 +138,24 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements IU
         updateById(user);
 
     }
+
+    public Page<User> users(UserDTO userDTO){
+        LambdaQueryWrapper<User> lambdaQueryWrapper = Wrappers.lambdaQuery();
+
+        return baseMapper.selectPage(new Page<>(userDTO.getPage(), userDTO.getPageSize()),
+                lambdaQueryWrapper.like(!TextUtils.isEmpty(userDTO.getName()), User::getLoginName, userDTO.getName())
+                        .eq(userDTO.getRoleId() != null && userDTO.getRoleId() > 0, User::getRoleId, userDTO.getRoleId())
+        );
+    }
+
+    public void updateRole(UserDTO userDTO){
+        User user = getById(userDTO.getId());
+        if(null == user){
+            throw new BizException(40001, "不存在的用户");
+        }
+
+        user.setRoleId(userDTO.getRoleId());
+
+        updateById(user);
+    }
 }