From 18fcc8fbc557cf6fadd29884272eaaf67902e19e Mon Sep 17 00:00:00 2001 From: puhui999 Date: Tue, 10 Jun 2025 10:14:27 +0800 Subject: [PATCH] feat: 新增用户批量删除接口 --- yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/controller/admin/user/UserController.java | 9 +++++++++ yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/service/user/AdminUserService.java | 7 +++++++ yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/service/user/AdminUserServiceImpl.java | 22 ++++++++++++++++++++++ 3 files changed, 38 insertions(+), 0 deletions(-) diff --git a/yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/controller/admin/user/UserController.java b/yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/controller/admin/user/UserController.java index 1015bc0..a562ab4 100644 --- a/yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/controller/admin/user/UserController.java +++ b/yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/controller/admin/user/UserController.java @@ -71,6 +71,15 @@ public class UserController { return success(true); } + @DeleteMapping("/delete-list") + @Parameter(name = "ids", description = "编号列表", required = true) + @Operation(summary = "批量删除用户") + @PreAuthorize("@ss.hasPermission('system:user:delete')") + public CommonResult deleteUserList(@RequestParam("ids") List ids) { + userService.deleteUserList(ids); + return success(true); + } + @PutMapping("/update-password") @Operation(summary = "重置用户密码") @PreAuthorize("@ss.hasPermission('system:user:update-password')") diff --git a/yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/service/user/AdminUserService.java b/yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/service/user/AdminUserService.java index d5c83bc..947c723 100644 --- a/yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/service/user/AdminUserService.java +++ b/yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/service/user/AdminUserService.java @@ -96,6 +96,13 @@ public interface AdminUserService { void deleteUser(Long id); /** + * 批量删除用户 + * + * @param ids 用户编号数组 + */ + void deleteUserList(List ids); + + /** * 通过用户名查询用户 * * @param username 用户名 diff --git a/yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/service/user/AdminUserServiceImpl.java b/yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/service/user/AdminUserServiceImpl.java index a2bf89a..40664ec 100644 --- a/yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/service/user/AdminUserServiceImpl.java +++ b/yudao-module-system/src/main/java/cn/iocoder/yudao/module/system/service/user/AdminUserServiceImpl.java @@ -249,6 +249,28 @@ public class AdminUserServiceImpl implements AdminUserService { } @Override + @Transactional(rollbackFor = Exception.class) + public void deleteUserList(List ids) { + if (CollUtil.isEmpty(ids)) { + return; + } + // 1. 校验用户存在 + List users = userMapper.selectByIds(ids); + if (CollUtil.isEmpty(users)) { + return; + } + + // 2. 批量删除用户 + userMapper.deleteByIds(ids); + + // 3. 批量删除用户关联数据 + ids.forEach(id -> { + permissionService.processUserDeleted(id); + userPostMapper.deleteByUserId(id); + }); + } + + @Override public AdminUserDO getUserByUsername(String username) { return userMapper.selectByUsername(username); } -- libgit2 0.21.4