From 18fcc8fbc557cf6fadd29884272eaaf67902e19e Mon Sep 17 00:00:00 2001 From: puhui999 Date: Tue, 10 Jun 2025 10:14:27 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E6=96=B0=E5=A2=9E=E7=94=A8=E6=88=B7?= =?UTF-8?q?=E6=89=B9=E9=87=8F=E5=88=A0=E9=99=A4=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/admin/user/UserController.java | 9 ++++++++ .../system/service/user/AdminUserService.java | 7 ++++++ .../service/user/AdminUserServiceImpl.java | 22 +++++++++++++++++++ 3 files changed, 38 insertions(+) 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 1015bc0736..a562ab4387 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 d5c83bc44a..947c72376c 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 @@ -95,6 +95,13 @@ public interface AdminUserService { */ void deleteUser(Long id); + /** + * 批量删除用户 + * + * @param ids 用户编号数组 + */ + void deleteUserList(List ids); + /** * 通过用户名查询用户 * 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 a2bf89a770..40664ecafd 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 @@ -248,6 +248,28 @@ public class AdminUserServiceImpl implements AdminUserService { LogRecordContext.putVariable("user", user); } + @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);