136 Star 1.2K Fork 685

likeadmin / likeadmin(Java版)- MIT协议-免费任意商用 - 管理后台_小程序_手机H5_PC端_uni-app

 / 详情

【BUG】角色删除报错,和删除部门、删除岗位问题一致

进行中
创建于  
2023-04-09 19:08

删除角色报错

org.springframework.jdbc.BadSqlGrammarException: 
### Error querying database.  Cause: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown column 'role' in 'field list'
### The error may exist in com/mdd/common/mapper/system/SystemAuthAdminMapper.java (best guess)
### The error may involve defaultParameterMap
### The error occurred while setting parameters
### SQL: SELECT     id,role,nickname     FROM la_system_auth_admin           WHERE (role = ? AND is_delete = ?)
### Cause: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown column 'role' in 'field list'
; bad SQL grammar []; nested exception is com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown column 'role' in 'field list'

错误代码

Assert.isNull(systemAuthAdminMapper.selectOne(new QueryWrapper<SystemAuthAdmin>()
                .select("id", "role", "nickname")
                .eq("role", id)
                .eq("is_delete", 0)),
                "角色已被管理员使用,请先移除");

正确代码:

Assert.isNull(systemAuthAdminMapper.selectOne(new QueryWrapper<SystemAuthAdmin>()
                .select("id", "role", "nickname")
                .apply("find_in_set({0}, role_ids)", id)
                .eq("is_delete", 0)),
                "角色已被管理员使用,请先移除");

另外:建议role表也加上逻辑删除,现在直接是物理删除。岗位和部门都采用逻辑删除,角色直接物理删除,后期排查问题也没法追溯

评论 (0)

Martin 创建了任务
Ants 任务状态待办的 修改为进行中
展开全部操作日志

登录 后才可以发表评论

状态
负责人
里程碑
Pull Requests
关联的 Pull Requests 被合并后可能会关闭此 issue
分支
开始日期   -   截止日期
-
置顶选项
优先级
参与者(1)
504769 moses devclub 1578925946
Java
1
https://gitee.com/likeadmin/likeadmin_java.git
git@gitee.com:likeadmin/likeadmin_java.git
likeadmin
likeadmin_java
likeadmin(Java版)- MIT协议-免费任意商用 - 管理后台_小程序_手机H5_PC端_uni-app

搜索帮助