workcode 仅针对 system_users 表

This commit is contained in:
ranke
2026-01-27 10:08:06 +08:00
parent 01e6384e27
commit 76e2cf0d60
2 changed files with 5 additions and 9 deletions

View File

@@ -96,6 +96,7 @@ public class DeptDataPermissionRule implements DataPermissionRule {
/** /**
* 基于用户的表字段配置 * 基于用户的表字段配置
* 一般情况下,每个表的部门编号字段是 dept_id通过该配置自定义。 * 一般情况下,每个表的部门编号字段是 dept_id通过该配置自定义。
* key表名
* value字段名 * value字段名
*/ */
private final Map<String, String> userColumns = new HashMap<>(); private final Map<String, String> userColumns = new HashMap<>();
@@ -261,20 +262,16 @@ public class DeptDataPermissionRule implements DataPermissionRule {
if (Boolean.FALSE.equals(self)) { if (Boolean.FALSE.equals(self)) {
return null; return null;
} }
String userColumnsKey = tableName; String columnName = userColumns.get(tableName);
if (StrUtil.isNotBlank(workCode)) {
userColumnsKey = userColumnsKey + "_work_code";
}
String columnName = userColumns.get(userColumnsKey);
if (StrUtil.isEmpty(columnName)) { if (StrUtil.isEmpty(columnName)) {
return null; return null;
} }
// 拼接条件 // 拼接条件
if (StrUtil.isBlank(workCode)) { if (StrUtil.isNotBlank(workCode) && "system_users".equals(tableName)) {
return new EqualsTo(MyBatisUtils.buildColumn(tableName, tableAlias, columnName), new LongValue(userId)); return new EqualsTo(MyBatisUtils.buildColumn(tableName, tableAlias, "workcode"), new StringValue(workCode));
} else { } else {
return new EqualsTo(MyBatisUtils.buildColumn(tableName, tableAlias, columnName), new StringValue(workCode)); return new EqualsTo(MyBatisUtils.buildColumn(tableName, tableAlias, columnName), new LongValue(userId));
} }
} }

View File

@@ -24,7 +24,6 @@ public class DataPermissionConfiguration {
rule.addDeptColumn(DeptDO.class, "id"); rule.addDeptColumn(DeptDO.class, "id");
// user // user
rule.addUserColumn(AdminUserDO.class, "id"); rule.addUserColumn(AdminUserDO.class, "id");
rule.addUserColumn("system_users_work_code", "workcode");
}; };
} }