修复:当前用户【如果没有绑定任何部门的情况下】在查询用户列表分页的时候 调用 SysUserMapper 的 selectPageUserList() 时候报错:sql错误

This commit is contained in:
keke
2025-07-15 00:02:44 +08:00
parent bc6ed508b0
commit 9a816bb0c7

View File

@@ -39,7 +39,17 @@ public class SysDataScopeServiceImpl implements ISysDataScopeService {
if (CollUtil.isNotEmpty(list)) {
return StreamUtils.join(list, rd -> Convert.toStr(rd.getDeptId()));
}
return null;
// 问题描述: 当前用户【如果没有绑定任何部门的情况下】在查询用户列表分页的时候 调用 SysUserMapper 的 selectPageUserList() 时候报错sql错误
// 通过打印sql发现 select count(*) as total from sysUser u left join sys_dept d on u.dept_id where (u.del_flag = ?) and (d.dept_id in ())
// 在 (d.dept_id in ()) 这个位置报错了, 这个在sql中执行也是不行的
// 我发现 在 PlusPostInitTableInfoHandler 中的
// String sql = DataPermissionHelper.ignore(() ->
// parser.parseExpression(type.getSqlTemplate(), parserContext).getValue(context, String.class)
// );
// 把这个方法交给框架去处理了, 所以没办法进行判空
// 于是我找到了这里,想着给这里默认赋值一个 -1
// 下面的那个 getDeptAndChild 暂时没发现有问题,如果发现问题可以考虑参考这种方法
return "-1";
}
@Override