{"record":{"id":"b9dde9ab5d9875ea","repo":"paascloud/paascloud-master","slug":"uac10011003","errorCode":"UAC10011003","errorMessage":"ErrorCodeEnum.UAC10011003","messagePattern":"ErrorCodeEnum\\.UAC10011003","errorType":"error_code","errorClass":"UacBizException","httpStatus":null,"severity":"error","filePath":"paascloud-provider/paascloud-provider-uac/src/main/java/com/paascloud/provider/service/impl/UacUserServiceImpl.java","lineNumber":302,"sourceCode":"\n\t\tLong operUserId = bindUserRolesDto.getUserId();\n\t\tLong loginUserId = authResDto.getUserId();\n\t\tList<Long> roleIdList = bindUserRolesDto.getRoleIdList();\n\n\t\tif (null == operUserId) {\n\t\t\tthrow new UacBizException(ErrorCodeEnum.UAC10011001);\n\t\t}\n\n\t\t// 任何用户不能操作admin用户\n\t\tif (Objects.equals(operUserId, GlobalConstant.Sys.SUPER_MANAGER_USER_ID)) {\n\t\t\tthrow new UacBizException(ErrorCodeEnum.UAC10011034);\n\t\t}\n\n\t\tUacUser user = this.queryByUserId(operUserId);\n\n\t\tif (user == null) {\n\t\t\tlogger.error(\"找不到用户信息 operUserId={}\", operUserId);\n\t\t\tthrow new UacBizException(ErrorCodeEnum.UAC10011003, operUserId);\n\t\t}\n\n\t\tif (PublicUtil.isNotEmpty(roleIdList) && roleIdList.contains(GlobalConstant.Sys.SUPER_MANAGER_ROLE_ID)) {\n\t\t\tlogger.error(\"操作超级管理员角色 userId={}\", loginUserId);\n\t\t\tthrow new UacBizException(ErrorCodeEnum.UAC10011023);\n\t\t}\n\n\t\t// 1. 先取消对该角色的用户绑定(不包含超级管理员用户)\n\t\tList<UacRoleUser> userRoles = uacRoleUserService.listByUserId(operUserId);\n\n\t\tif (PublicUtil.isNotEmpty(userRoles)) {\n\t\t\tuacRoleUserService.deleteByUserId(operUserId);\n\t\t}\n\n\t\t// 更新用户的操作时间\n\t\tfinal UacUser updateUser = new UacUser();\n\t\tupdateUser.setId(operUserId);\n\t\tupdateUser.setUpdateInfo(authResDto);","sourceCodeStart":284,"sourceCodeEnd":320,"githubUrl":"https://github.com/paascloud/paascloud-master/blob/781281a9503332ed3cef44ea618349d14230a127/paascloud-provider/paascloud-provider-uac/src/main/java/com/paascloud/provider/service/impl/UacUserServiceImpl.java#L284-L320","documentation":"UacBizException with ErrorCodeEnum.UAC10011003 (\"找不到用户,userId=%s\") is thrown by UacUserServiceImpl.bindUserRoles when this.queryByUserId(operUserId) returns null — the target user for role binding does not exist in uac_user.","triggerScenarios":"Calling bindUserRoles with a DTO whose userId references a deleted/nonexistent user, or an id from a different database/environment.","commonSituations":"Stale user list in the UI after concurrent deletion; script or test fixture with hard-coded ids; ids copied between dev/prod environments; soft-deleted users invisible to queryByUserId.","solutions":["Verify the user exists via the user-detail API before binding roles","Refresh user lists after deletions so the client never submits a stale userId","Catch UacBizException code 10011003 and report 'target user no longer exists'","Check soft-delete state of the user row if you believe the id is valid"],"exampleFix":"// before\nBindUserRolesDto dto = new BindUserRolesDto();\ndto.setUserId(request.getUserId());\nuacUserService.bindUserRoles(dto, authResDto);\n// after\nUacUser target = uacUserService.queryByUserId(request.getUserId());\nif (target != null) {\n    BindUserRolesDto dto = new BindUserRolesDto();\n    dto.setUserId(request.getUserId());\n    uacUserService.bindUserRoles(dto, authResDto);\n}","handlingStrategy":"validation","validationCode":"UacUser target = uacUserService.queryByUserId(dto.getUserId());\nif (target == null) {\n    throw new BusinessException(\"target user not found\");\n}","typeGuard":null,"tryCatchPattern":"try {\n    uacUserService.bindUserRoles(dto, authResDto);\n} catch (UacBizException e) {\n    if (e.getCode() == 10011003) { /* report user no longer exists */ }\n    else throw e;\n}","preventionTips":["Verify user existence before role operations","Refresh user lists after deletes","Avoid hard-coded ids across environments"],"tags":["record-not-found","user-management","role-binding"],"backgroundTag":"record-not-found","analyzedSha":"781281a9503332ed3cef44ea618349d14230a127","analyzedAt":"2026-09-10T10:59:02.070Z","contentChangedAt":"2026-09-10T10:59:02.070Z","schemaVersion":2},"datasetVersion":"2026-09-16T09:17:16.951Z"}