人脸报错
This commit is contained in:
@ -0,0 +1,93 @@
|
||||
package org.dromara.common.utils;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* 接口错误码匹配工具(用户展示用)
|
||||
*/
|
||||
public class ErrorCodeMatcher {
|
||||
|
||||
private static final Map<String, String> ERROR_MAP = new HashMap<>();
|
||||
|
||||
static {
|
||||
// 基础错误码
|
||||
ERROR_MAP.put("1", "抱歉,出现未知错误,请您重试。若问题持续,请联系管理员。");
|
||||
ERROR_MAP.put("2", "服务暂时不可用,请稍后重试。若多次尝试仍有问题,请联系管理员。");
|
||||
ERROR_MAP.put("3", "调用的接口不存在,请检查请求地址是否正确(建议避免特殊字符,如手动输入重试)。");
|
||||
ERROR_MAP.put("4", "当前集群请求量超限,请稍后再试。持续异常请联系管理员。");
|
||||
ERROR_MAP.put("6", "暂无该接口调用权限,请联系管理员开通相关权限。");
|
||||
ERROR_MAP.put("14", "鉴权失败,请检查密钥是否正确,或联系管理员协助处理。");
|
||||
ERROR_MAP.put("17", "今日免费额度已用完。如需继续使用,请联系管理员获取更多资源。");
|
||||
ERROR_MAP.put("18", "请求频率超限(QPS限制)。如需提高限制,请联系管理员咨询。");
|
||||
ERROR_MAP.put("19", "总请求量已达限额,请联系管理员获取更多资源。");
|
||||
ERROR_MAP.put("100", "访问令牌无效,请联系管理员重新获取。");
|
||||
ERROR_MAP.put("110", "访问令牌无效(有效期30天),请联系管理员更新。");
|
||||
ERROR_MAP.put("111", "访问令牌已过期,请联系管理员重新获取。");
|
||||
|
||||
// 216xxx系列错误码
|
||||
ERROR_MAP.put("216100", "请求中包含无效参数,请检查后重新提交。");
|
||||
ERROR_MAP.put("216101", "缺少必要的请求参数,请核对后补充完整。");
|
||||
ERROR_MAP.put("216102", "请求的服务暂不支持,请检查调用地址是否正确,或联系管理员确认。");
|
||||
ERROR_MAP.put("216103", "部分参数长度超限,请缩短后重新尝试。");
|
||||
ERROR_MAP.put("216110", "应用ID不存在,请核对是否为正确ID,或联系管理员确认。");
|
||||
ERROR_MAP.put("216200", "上传的图片为空,请检查图片是否正确上传。");
|
||||
ERROR_MAP.put("216201", "图片格式不支持,目前仅支持PNG、JPG、JPEG、BMP格式,请转码后重试。");
|
||||
ERROR_MAP.put("216202", "图片大小不符合要求,请参考接口文档的限制重新上传,或联系管理员咨询。");
|
||||
ERROR_MAP.put("216205", "请求体过大(base64编码后需小于10M),请压缩内容后重试。");
|
||||
ERROR_MAP.put("216306", "文件上传失败,请检查请求参数是否符合要求。");
|
||||
ERROR_MAP.put("216307", "图片解析失败,若多次尝试仍有问题,请联系管理员。");
|
||||
ERROR_MAP.put("216308", "PDF页码参数超过实际页数,请核对后修改。");
|
||||
ERROR_MAP.put("216401", "请求提交失败,请稍后重试。");
|
||||
ERROR_MAP.put("216402", "获取结果失败,请稍后重试或检查任务状态。");
|
||||
ERROR_MAP.put("216603", "无法获取PDF页数,请检查文件是否完整或编码是否正确。");
|
||||
ERROR_MAP.put("216604", "请求总量已达限额,请联系管理员获取更多额度。");
|
||||
ERROR_MAP.put("216630", "识别失败,请重试。若问题持续,请联系管理员。");
|
||||
ERROR_MAP.put("216631", "银行卡识别失败,请确保上传的是银行卡正面完整清晰的图片(异形卡可能无法识别)。");
|
||||
ERROR_MAP.put("216633", "身份证识别失败,请确保上传的是身份证完整清晰的图片(非身份证或模糊图片无法识别)。");
|
||||
ERROR_MAP.put("216634", "检测失败,请重试。若持续异常,请联系管理员。");
|
||||
ERROR_MAP.put("216600", "企业核验服务请求失败,请重试。持续问题请联系管理员(适用于工商信息查询、要素核验等)。");
|
||||
ERROR_MAP.put("216601", "企业核验查询成功,但未找到相关结果,请确认信息是否正确后重试。");
|
||||
ERROR_MAP.put("216602", "企业核验服务超时,请稍后重试。持续问题请联系管理员。");
|
||||
|
||||
// 282xxx系列错误码
|
||||
ERROR_MAP.put("282000", "服务器内部错误。若使用通用文字识别,可能因图片文字过多导致超时,建议分割图片后重试;其他情况可稍后再试,持续问题请联系管理员。");
|
||||
ERROR_MAP.put("282003", "请求缺少必要参数,请核对后补充。");
|
||||
ERROR_MAP.put("282005", "批量任务处理出错,请根据具体错误提示排查。");
|
||||
ERROR_MAP.put("282006", "批量任务数量超限,单次最多处理10个任务,请减少数量后重试。");
|
||||
ERROR_MAP.put("282100", "图片压缩转码失败,请更换图片后重试。");
|
||||
ERROR_MAP.put("282102", "未检测到可识别的卡证/票据,请确保图片包含清晰完整的目标(非卡证或模糊图片无法识别)。");
|
||||
ERROR_MAP.put("282103", "卡证/票据识别失败,请确保图片包含清晰完整的目标(非对应类型或模糊图片无法识别)。");
|
||||
ERROR_MAP.put("282110", "图片URL不存在,请核对地址后重新提交。");
|
||||
ERROR_MAP.put("282111", "图片URL格式错误,请检查是否符合接口要求的格式。");
|
||||
ERROR_MAP.put("282112", "图片URL下载超时,可能因图片过大(超过3M)、地址无效或存在防盗链。建议更换图片地址或下载后直接上传。");
|
||||
ERROR_MAP.put("282113", "图片URL返回无效内容,请检查地址是否正确。");
|
||||
ERROR_MAP.put("282114", "图片URL长度不符合要求(需1-1024字节),请修改后重试。");
|
||||
ERROR_MAP.put("282134", "增值税发票验真失败,可能因系统维护,建议次日再试。持续问题请联系管理员。");
|
||||
ERROR_MAP.put("282808", "请求ID不存在,请核对ID是否正确。");
|
||||
ERROR_MAP.put("282809", "返回结果格式错误(需为excel或json),请稍后重试。");
|
||||
ERROR_MAP.put("282810", "图像识别失败,请重试。若问题持续,请联系管理员。");
|
||||
ERROR_MAP.put("282160", "行驶证核验资源超限,请联系管理员咨询。");
|
||||
ERROR_MAP.put("282161", "行驶证核验请求过于频繁,请稍后再试。");
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据错误码获取用户友好的错误信息
|
||||
* @param errorCode 错误码(字符串/整数)
|
||||
* @return 优化后的错误提示,未匹配时返回"未知错误(错误码:xxx)"
|
||||
*/
|
||||
public static String getFriendlyMessage(String errorCode) {
|
||||
return ERROR_MAP.getOrDefault(errorCode, "未知错误(错误码:" + errorCode + "),请重试或联系管理员。");
|
||||
}
|
||||
|
||||
public static String getFriendlyMessage(int errorCode) {
|
||||
return getFriendlyMessage(String.valueOf(errorCode));
|
||||
}
|
||||
|
||||
// 测试示例
|
||||
public static void main(String[] args) {
|
||||
System.out.println(getFriendlyMessage(1)); // 输出:抱歉,出现未知错误,请您重试...
|
||||
System.out.println(getFriendlyMessage("216201")); // 输出:图片格式不支持,目前仅支持PNG...
|
||||
System.out.println(getFriendlyMessage(9999)); // 输出:未知错误(错误码:9999)...
|
||||
}
|
||||
}
|
||||
@ -3,6 +3,7 @@ package org.dromara.common.utils.baiduUtil;
|
||||
import com.fasterxml.jackson.core.JsonProcessingException;
|
||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.dromara.common.utils.ErrorCodeMatcher;
|
||||
import org.dromara.common.utils.baiduUtil.entity.face.ComparisonRes;
|
||||
import org.dromara.common.utils.baiduUtil.entity.face.HumanFaceReq;
|
||||
import org.dromara.common.utils.baiduUtil.entity.face.HumanFaceRes;
|
||||
@ -208,8 +209,7 @@ public class BaiDuFace {
|
||||
|
||||
// 8. 处理API返回错误
|
||||
if (comparisonRep.getErrorCode() != 0) {
|
||||
throw new RuntimeException("人脸对比失败:" + comparisonRep.getErrorMsg()
|
||||
+ "(错误码:" + comparisonRep.getErrorCode() + ")");
|
||||
throw new RuntimeException("人脸对比失败:" + ErrorCodeMatcher.getFriendlyMessage(comparisonRep.getErrorCode()));
|
||||
}
|
||||
|
||||
// 9. 校验对比结果
|
||||
|
||||
@ -361,7 +361,7 @@ public class BusAttendanceServiceImpl extends ServiceImpl<BusAttendanceMapper, B
|
||||
try {
|
||||
result = constructionUserService.faceComparison(file, userId);
|
||||
} catch (Exception e) {
|
||||
throw new ServiceException("人脸识别失败,请重新识别", HttpStatus.ERROR);
|
||||
throw new ServiceException(e.getMessage(), HttpStatus.ERROR);
|
||||
}
|
||||
|
||||
if (!result) {
|
||||
|
||||
Reference in New Issue
Block a user