Springboot, 删除角色功能,代码
```java
-------systemRoleController 中删相关代码
@DeleteMapping("{id}")
@RequiresPermissions("system:role:deleteById")
public Result deleteById(@PathVariable Integer id) {
return Result.success(systemRoleService.deleteById(id));
}
------systemRoleService 删除角色相关代码
@Transactional
public Result deleteById(Integer id) {
if (systemAdminRoleService.checkRoleIsUse(id)) {
return Result.fail(ResultCode.FAIL, "角色已被使用,无法删除");
}
try{
//删除角色
//super.deleteById(id);
this.removeById(id); // 删除角色
//删除角色关联的菜单
systemRoleMenuService.deleteByRoleId(id);
//删除角色用户关联的信息
systemAdminRoleService.deleteByAdminId(id);
return Result.success(ResultCode.SUCCESS,"删除角色成功");
}catch (Exception e){
logger.error("删除角色异常",e);
throw new BusinessException(new ResultCode(ResultCode.FAIL,"删除角色异常"));
}
-------systemRoleMapper.Java 删除角色相关代码
int deleteById(Integer id);
------systemRoleMapper.xml 删除角色相关代码
</select>
<delete id="deleteById" parameterType="Integer">
delete from system_role where id = #{id}
</delete>
------systemRoleMenusService 删除角色相关代码
public int deleteByRoleId(Integer roleId) {
LambdaQueryWrapper queryWrapper = Wrappers.lambdaQuery(SystemRoleMenu.class)
.eq(SystemRoleMenu::getRoleId, roleId);
return baseMapper.delete(queryWrapper);
}
------systemRoleMenusMapper.java删除角色相关代码int deleteByRoleId(Integer roleId);
------systemRoleMenusMapper.xml 删除角色相关代码
<delete id="deleteByRoleId" parameterType="Int">
delete from system_role_menu where role_id=#{roleId}
</delete>
------SystemAdminRoleMapper.java删除角色相关代码int deleteByAdminId(Integer adminId);
------SystemAdminRoleMapper.xml 删除角色相关代码
<delete id="deleteByAdminId" parameterType="Integer">
delete from system_admin_role where admin_id=#{adminId}
</delete>
###### 程序正常启动,选中角色,点击确认删除,提示系统异常,网页端提示200,删除请求正常。 后台提示:
![img](https://img-mid.csdnimg.cn/release/static/image/mid/ask/312052424866150.png "#left")
求教,哪里错误,应该怎么改的。