mirror of
				https://github.com/continew-org/continew-admin.git
				synced 2025-10-31 22:57:17 +08:00 
			
		
		
		
	优化:调整部门、菜单、角色、用户删除的代码逻辑顺序,先删除关联再删除主体
This commit is contained in:
		| @@ -109,12 +109,12 @@ public class DeptServiceImpl extends BaseServiceImpl<DeptMapper, DeptDO, DeptVO, | |||||||
|             isSystemData.orElseGet(DeptDO::new).getName()); |             isSystemData.orElseGet(DeptDO::new).getName()); | ||||||
|         CheckUtils.throwIf(userService.countByDeptIds(ids) > 0, "所选部门存在用户关联,请解除关联后重试"); |         CheckUtils.throwIf(userService.countByDeptIds(ids) > 0, "所选部门存在用户关联,请解除关联后重试"); | ||||||
|  |  | ||||||
|         // 删除部门 |  | ||||||
|         super.delete(ids); |  | ||||||
|         // 删除子部门 |  | ||||||
|         baseMapper.lambdaUpdate().in(DeptDO::getParentId, ids).remove(); |  | ||||||
|         // 删除角色和部门关联 |         // 删除角色和部门关联 | ||||||
|         roleDeptService.deleteByDeptIds(ids); |         roleDeptService.deleteByDeptIds(ids); | ||||||
|  |         // 删除子部门 | ||||||
|  |         baseMapper.lambdaUpdate().in(DeptDO::getParentId, ids).remove(); | ||||||
|  |         // 删除部门 | ||||||
|  |         super.delete(ids); | ||||||
|     } |     } | ||||||
|  |  | ||||||
|     @Override |     @Override | ||||||
|   | |||||||
| @@ -70,8 +70,8 @@ public class MenuServiceImpl extends BaseServiceImpl<MenuMapper, MenuDO, MenuVO, | |||||||
|     @Override |     @Override | ||||||
|     @Transactional(rollbackFor = Exception.class) |     @Transactional(rollbackFor = Exception.class) | ||||||
|     public void delete(List<Long> ids) { |     public void delete(List<Long> ids) { | ||||||
|         super.delete(ids); |  | ||||||
|         baseMapper.lambdaUpdate().in(MenuDO::getParentId, ids).remove(); |         baseMapper.lambdaUpdate().in(MenuDO::getParentId, ids).remove(); | ||||||
|  |         super.delete(ids); | ||||||
|     } |     } | ||||||
|  |  | ||||||
|     @Override |     @Override | ||||||
|   | |||||||
| @@ -114,12 +114,12 @@ public class RoleServiceImpl extends BaseServiceImpl<RoleMapper, RoleDO, RoleVO, | |||||||
|             isSystemData.orElseGet(RoleDO::new).getName()); |             isSystemData.orElseGet(RoleDO::new).getName()); | ||||||
|         CheckUtils.throwIf(userRoleService.countByRoleIds(ids) > 0, "所选角色存在用户关联,请解除关联后重试"); |         CheckUtils.throwIf(userRoleService.countByRoleIds(ids) > 0, "所选角色存在用户关联,请解除关联后重试"); | ||||||
|  |  | ||||||
|         // 删除角色 |  | ||||||
|         super.delete(ids); |  | ||||||
|         // 删除角色和菜单关联 |         // 删除角色和菜单关联 | ||||||
|         roleMenuService.deleteByRoleIds(ids); |         roleMenuService.deleteByRoleIds(ids); | ||||||
|         // 删除角色和部门关联 |         // 删除角色和部门关联 | ||||||
|         roleDeptService.deleteByRoleIds(ids); |         roleDeptService.deleteByRoleIds(ids); | ||||||
|  |         // 删除角色 | ||||||
|  |         super.delete(ids); | ||||||
|     } |     } | ||||||
|  |  | ||||||
|     @Override |     @Override | ||||||
|   | |||||||
| @@ -125,10 +125,10 @@ public class UserServiceImpl extends BaseServiceImpl<UserMapper, UserDO, UserVO, | |||||||
|         CheckUtils.throwIf(isSystemData::isPresent, "所选用户 [{}] 是系统内置用户,不允许删除", |         CheckUtils.throwIf(isSystemData::isPresent, "所选用户 [{}] 是系统内置用户,不允许删除", | ||||||
|             isSystemData.orElseGet(UserDO::new).getNickname()); |             isSystemData.orElseGet(UserDO::new).getNickname()); | ||||||
|  |  | ||||||
|         // 删除用户 |  | ||||||
|         super.delete(ids); |  | ||||||
|         // 删除用户和角色关联 |         // 删除用户和角色关联 | ||||||
|         userRoleService.deleteByUserIds(ids); |         userRoleService.deleteByUserIds(ids); | ||||||
|  |         // 删除用户 | ||||||
|  |         super.delete(ids); | ||||||
|     } |     } | ||||||
|  |  | ||||||
|     @Override |     @Override | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user