{"record":{"id":"c18a133aba7a98ee","repo":"paascloud/paascloud-master","slug":"uac10011027","errorCode":"UAC10011027","errorMessage":"找不到用户,mobile=%s","messagePattern":"找不到用户,mobile=(.+?)","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":492,"sourceCode":"\t\t// TODO 发送重置密码成功的邮件\n\t}\n\n\t@Override\n\tpublic int userResetPwd(UserResetPwdDto userResetPwdDto) {\n\t\tString mobileNo = userResetPwdDto.getMobileNo();\n\t\tString newPassword = userResetPwdDto.getNewPassword();\n\t\tString confirmPwd = userResetPwdDto.getConfirmPwd();\n\n\t\tPreconditions.checkArgument(!StringUtils.isEmpty(mobileNo), \"手机号码不能为空\");\n\t\tPreconditions.checkArgument(!StringUtils.isEmpty(newPassword), \"新密码不能为空\");\n\t\tPreconditions.checkArgument(!StringUtils.isEmpty(confirmPwd), ErrorCodeEnum.UAC10011009.msg());\n\t\tPreconditions.checkArgument(newPassword.equals(confirmPwd), \"两次密码不一致\");\n\n\t\tUacUser query = new UacUser();\n\t\tquery.setMobileNo(mobileNo);\n\t\tUacUser user = uacUserMapper.selectOne(query);\n\t\tif (user == null) {\n\t\t\tthrow new UacBizException(ErrorCodeEnum.UAC10011027, mobileNo);\n\t\t}\n\n\t\tUacUser uacUser = new UacUser();\n\t\tuacUser.setLoginPwd(Md5Util.encrypt(newPassword));\n\t\tuacUser.setId(user.getId());\n\n\t\t// 更新用户最后修改人与修改时间\n\t\tuacUser.setVersion(user.getVersion() + 1);\n\t\tuacUser.setLastOperator(user.getLoginName());\n\t\tuacUser.setLastOperatorId(user.getId());\n\t\tuacUser.setUpdateTime(new Date());\n\n\t\treturn uacUserMapper.updateByPrimaryKeySelective(uacUser);\n\t}\n\n\t@Override\n\tpublic void register(UserRegisterDto registerDto) {\n\t\t// 校验注册信息","sourceCodeStart":474,"sourceCodeEnd":510,"githubUrl":"https://github.com/paascloud/paascloud-master/blob/781281a9503332ed3cef44ea618349d14230a127/paascloud-provider/paascloud-provider-uac/src/main/java/com/paascloud/provider/service/impl/UacUserServiceImpl.java#L474-L510","documentation":"UAC10011027 (message '找不到用户,mobile=%s' — user not found for the given mobile number) is thrown by UacUserServiceImpl.userResetPwd when no user record matches the supplied mobileNo. Resetting the password by mobile phone cannot proceed because the mobile number is not registered to any account.","triggerScenarios":"Calling userResetPwd(mobileNo, verifyCode, newPassword, confirmNewPassword) with a mobileNo that has no matching uac_user row (unregistered number, typo, wrong country code, or user record deleted).","commonSituations":"User enters a phone number different from the one registered; test environments lacking seeded users; formatting differences (spaces, +86 prefix, leading zeros) causing the exact-match selectOne to miss; users registered through a different identity (email/loginName).","solutions":["Verify the mobile number exactly matches the registered value, including country code format stored in the DB","Check the DB: SELECT * FROM uac_user WHERE mobile_no = ?; normalize input (trim, strip +86) before the call","Use an alternative reset path (by email via resetLoginPwd) if mobile is not registered","Catch UacBizException code UAC10011027 and prompt 'no account bound to this mobile number'"],"exampleFix":"// before\nuacUserService.userResetPwd(mobileNo, code, newPwd, confirmPwd);\n// after\nString normalized = mobileNo.trim().replaceFirst(\"^\\\\+86\", \"\");\nUacUser u = uacUserService.findByMobileNo(normalized);\nif (u != null) {\n    uacUserService.userResetPwd(normalized, code, newPwd, confirmPwd);\n}","handlingStrategy":"validation","validationCode":"UacUser q = new UacUser(); q.setMobileNo(normalizeMobile(mobileNo));\nif (uacUserMapper.selectOne(q) == null) { throw new IllegalArgumentException(\"mobile not registered\"); }","typeGuard":null,"tryCatchPattern":"try { uacUserService.userResetPwd(mobileNo, code, newPwd, confirmPwd); } catch (UacBizException e) { if (\"UAC10011027\".equals(e.getCode())) { /* prompt: no account for this mobile */ } }","preventionTips":["Normalize mobile numbers (trim, strip country-code prefixes) before lookup","Verify number registration before sending SMS verification codes","Provide alternative reset channels (email) for unbound numbers"],"tags":["user-not-found","mobile","password-reset"],"backgroundTag":"user-not-found","analyzedSha":"781281a9503332ed3cef44ea618349d14230a127","analyzedAt":"2026-09-10T10:59:02.070Z","contentChangedAt":"2026-09-10T10:59:02.070Z","schemaVersion":2},"datasetVersion":"2026-09-16T04:17:20.429Z"}