diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysUserMapper.java b/ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysUserMapper.java index 0976eb0..ae7cb84 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysUserMapper.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysUserMapper.java @@ -124,4 +124,6 @@ public interface SysUserMapper * @return 结果 */ public SysUser checkEmailUnique(String email); + + int deleteUserByPcIds(Long[] pcIds); } diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java index 9daf5b3..2788541 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java @@ -474,6 +474,28 @@ public class SysUserServiceImpl implements ISysUserService return userMapper.deleteUserByIds(userIds); } + @Override + @Transactional + public int deleteUserByPcIds(Long[] pcIds) { + for (Long pcId : pcIds) { + SysUser param = new SysUser(); + param.setPcId(pcId); + List sysUsers = userMapper.selectUserList(param); + List userIds = sysUsers.stream().map(SysUser::getUserId).collect(Collectors.toList()); + for (Long userId : userIds) + { + checkUserAllowed(new SysUser(userId)); + checkUserDataScope(userId); + } + // 删除用户与角色关联 + userRoleMapper.deleteUserRole(userIds.stream().toArray(Long[]::new)); + // 删除用户与岗位关联 + userPostMapper.deleteUserPost(userIds.stream().toArray(Long[]::new)); + } + return userMapper.deleteUserByPcIds(pcIds); + + } + /** * 导入用户数据 * @@ -547,4 +569,6 @@ public class SysUserServiceImpl implements ISysUserService } return successMsg.toString(); } + + }