diff --git a/laws-modules-docking/src/main/java/com/jero/modules/docking/iam/service/SyncIamService.java b/laws-modules-docking/src/main/java/com/jero/modules/docking/iam/service/SyncIamService.java index 00fc2b38..3eaae6ef 100644 --- a/laws-modules-docking/src/main/java/com/jero/modules/docking/iam/service/SyncIamService.java +++ b/laws-modules-docking/src/main/java/com/jero/modules/docking/iam/service/SyncIamService.java @@ -883,7 +883,13 @@ public class SyncIamService { try { for (UserRoleDto userRoleDto : userRoleDtoList){ QueryWrapper queryWrapper = new QueryWrapper(); - queryWrapper.eq("user_id", userRoleDto.getUserId()); + // 根据 accountCode 字段(即用户名username) 从数据库里查出来用户id,在给到sysUserRole + LoginUser userInfo = sysBaseAPI.getUserByName(userRoleDto.getAccountCode()); + if (userInfo == null){ + continue; + } + + queryWrapper.eq("user_id", userInfo.getId()); queryWrapper.eq("role_id", userRoleDto.getArId()); this.sysUserRoleService.remove(queryWrapper);