From 6b9aef1acde0477110f23ebd7db97a46047aa17c Mon Sep 17 00:00:00 2001 From: ZZX9599 <536509593@qq.com> Date: Wed, 22 Oct 2025 17:26:11 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/yj/earth/auth/AuthGenerator.java | 2 +- .../business/controller/RoleController.java | 35 ++++++++++++++++--- .../business/controller/SystemController.java | 2 +- .../business/controller/UserController.java | 15 ++++---- .../com/yj/earth/dto/role/AddRoleDto.java | 4 +-- .../com/yj/earth/dto/role/UpdateRoleDto.java | 4 +-- .../com/yj/earth/dto/user/AddUserDto.java | 3 ++ .../com/yj/earth/dto/user/UpdateUserDto.java | 4 +++ 8 files changed, 51 insertions(+), 18 deletions(-) diff --git a/src/main/java/com/yj/earth/auth/AuthGenerator.java b/src/main/java/com/yj/earth/auth/AuthGenerator.java index 29b537e..ef9d859 100644 --- a/src/main/java/com/yj/earth/auth/AuthGenerator.java +++ b/src/main/java/com/yj/earth/auth/AuthGenerator.java @@ -72,6 +72,6 @@ public class AuthGenerator { } public static void main(String[] args) { - System.out.println(generateAuth("标准版", 1000, 365, "8661A5D7040288C20E17A1D117E20045")); + System.out.println(generateAuth("标准版", 1000, 365, "DAC653349FD15F1E6DB2F9322AD628F4")); } } diff --git a/src/main/java/com/yj/earth/business/controller/RoleController.java b/src/main/java/com/yj/earth/business/controller/RoleController.java index f8b9df5..2e4624b 100644 --- a/src/main/java/com/yj/earth/business/controller/RoleController.java +++ b/src/main/java/com/yj/earth/business/controller/RoleController.java @@ -1,5 +1,7 @@ package com.yj.earth.business.controller; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.StringUtils; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.yj.earth.annotation.CheckAuth; import com.yj.earth.business.domain.Role; @@ -14,6 +16,7 @@ import org.springframework.beans.BeanUtils; import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; +import java.util.List; @Tag(name = "角色数据管理") @CheckAuth @@ -33,9 +36,9 @@ public class RoleController { } @Operation(summary = "删除角色") - @PostMapping("/delete") - public ApiResponse delete(@Parameter(description = "角色ID") String id) { - roleService.removeById(id); + @PostMapping("/deletes") + public ApiResponse deletes(@Parameter(description = "用户ID列表") @RequestBody List ids) { + roleService.removeByIds(ids); return ApiResponse.success(null); } @@ -57,8 +60,30 @@ public class RoleController { @Operation(summary = "角色列表") @GetMapping("/list") - public ApiResponse list(@Parameter(description = "分页数量") Integer pageNum, @Parameter(description = "分页大小") Integer pageSize) { - Page rolePage = roleService.page(new Page<>(pageNum, pageSize)); + public ApiResponse list(@Parameter(description = "分页数量") Integer pageNum, + @Parameter(description = "分页大小") Integer pageSize, + @Parameter(description = "角色名称") String roleName, + @Parameter(description = "角色状态") Integer status) { + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + + // 根据角色名称进行模糊搜索 + if (StringUtils.isNotBlank(roleName)) { + queryWrapper.like(Role::getRoleName, roleName); + } + // 角色状态 + if (status != null) { + queryWrapper.eq(Role::getStatus, status); + } + Page rolePage = roleService.page(new Page<>(pageNum, pageSize), queryWrapper); return ApiResponse.success(rolePage); } + + @Operation(summary = "管理员数量查询") + @GetMapping("/count") + public ApiResponse count() { + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.eq(Role::getIsSuper, 1); + return ApiResponse.success(roleService.count(queryWrapper)); + } + } diff --git a/src/main/java/com/yj/earth/business/controller/SystemController.java b/src/main/java/com/yj/earth/business/controller/SystemController.java index 7ffbbca..4640994 100644 --- a/src/main/java/com/yj/earth/business/controller/SystemController.java +++ b/src/main/java/com/yj/earth/business/controller/SystemController.java @@ -92,7 +92,7 @@ public class SystemController { @Operation(summary = "工程导出") @GetMapping("/export") public void exportProject(HttpServletResponse response) { - // 获取SQLite文件绝对路径 + // 获取 SQLite 文件绝对路径 String sqliteFilePath = DatabaseManager.getSqliteDbFilePath(); // 校验路径与文件有效性 if (sqliteFilePath == null || sqliteFilePath.isEmpty()) { diff --git a/src/main/java/com/yj/earth/business/controller/UserController.java b/src/main/java/com/yj/earth/business/controller/UserController.java index 31d9593..9cdf155 100644 --- a/src/main/java/com/yj/earth/business/controller/UserController.java +++ b/src/main/java/com/yj/earth/business/controller/UserController.java @@ -47,10 +47,6 @@ public class UserController { } String password = user.getPassword(); user.setPassword(BCrypt.hashpw(password, BCrypt.gensalt())); - if (addUserDto.getRoleId() == null) { - // 查询系统名字为默认角色的角色ID - user.setRoleId(roleService.getOne(new LambdaQueryWrapper().eq(Role::getRoleName, "默认角色")).getId()); - } userService.save(user); return ApiResponse.success(null); } @@ -91,16 +87,21 @@ public class UserController { public ApiResponse list(@Parameter(description = "分页数量") Integer pageNum, @Parameter(description = "分页大小") Integer pageSize, @Parameter(description = "搜索字段") String searchKey, - @Parameter(description = "角色ID") String roleId) { + @Parameter(description = "角色ID") String roleId, + @Parameter(description = "用户状态") Integer status) { LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); // 根据用户名或者昵称进行模糊搜索 if (StringUtils.isNotBlank(searchKey)) { - wrapper.like(User::getUsername, searchKey).or().like(User::getNickname, searchKey); + wrapper.nested(q -> q.like(User::getUsername, searchKey).or().like(User::getNickname, searchKey)); } // 根据角色ID等值搜索 if (StringUtils.isNotBlank(roleId)) { wrapper.eq(User::getRoleId, roleId); } + // 角色状态处理 + if (status != null) { + wrapper.eq(User::getStatus, status); + } Page userPage = userService.page(new Page<>(pageNum, pageSize), wrapper); return ApiResponse.success(userPage); } @@ -154,7 +155,7 @@ public class UserController { @Operation(summary = "删除用户") @PostMapping("/deletes") @RoleAccess(roleNames = "管理员") - public ApiResponse deletes(@RequestBody List ids) { + public ApiResponse deletes(@Parameter(description = "用户ID列表") @RequestBody List ids) { userService.removeByIds(ids); return ApiResponse.success(null); } diff --git a/src/main/java/com/yj/earth/dto/role/AddRoleDto.java b/src/main/java/com/yj/earth/dto/role/AddRoleDto.java index d727b81..0747ea4 100644 --- a/src/main/java/com/yj/earth/dto/role/AddRoleDto.java +++ b/src/main/java/com/yj/earth/dto/role/AddRoleDto.java @@ -7,10 +7,10 @@ import lombok.Data; public class AddRoleDto { @Schema(description = "角色名称") private String roleName; - @Schema(description = "角色描述") private String description; - @Schema(description = "是否超级管理员") private Integer isSuper; + @Schema(description = "状态") + private Integer status; } diff --git a/src/main/java/com/yj/earth/dto/role/UpdateRoleDto.java b/src/main/java/com/yj/earth/dto/role/UpdateRoleDto.java index c8559e0..d8e9692 100644 --- a/src/main/java/com/yj/earth/dto/role/UpdateRoleDto.java +++ b/src/main/java/com/yj/earth/dto/role/UpdateRoleDto.java @@ -7,10 +7,10 @@ import lombok.Data; public class UpdateRoleDto { @Schema(description = "主键") private String id; - @Schema(description = "角色描述") private String description; - @Schema(description = "是否超级管理员") private Integer isSuper; + @Schema(description = "角色状态") + private Integer status; } diff --git a/src/main/java/com/yj/earth/dto/user/AddUserDto.java b/src/main/java/com/yj/earth/dto/user/AddUserDto.java index bc86dbe..2e93c9f 100644 --- a/src/main/java/com/yj/earth/dto/user/AddUserDto.java +++ b/src/main/java/com/yj/earth/dto/user/AddUserDto.java @@ -23,4 +23,7 @@ public class AddUserDto { @Schema(description = "所属角色") private String roleId; + + @Schema(description = "状态") + private Integer status; } diff --git a/src/main/java/com/yj/earth/dto/user/UpdateUserDto.java b/src/main/java/com/yj/earth/dto/user/UpdateUserDto.java index c9572cd..dc4e4b9 100644 --- a/src/main/java/com/yj/earth/dto/user/UpdateUserDto.java +++ b/src/main/java/com/yj/earth/dto/user/UpdateUserDto.java @@ -8,6 +8,8 @@ import lombok.Data; public class UpdateUserDto { @Schema(description = "主键") private String id; + @Schema(description = "用户名") + private String username; @Schema(description = "头像") private String avatar; @Schema(description = "昵称") @@ -16,4 +18,6 @@ public class UpdateUserDto { private String phone; @Schema(description = "用户状态") private Integer status; + @Schema(description = "角色ID") + private String roleId; }