diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/common/utils/ErrorCodeMatcher.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/common/utils/ErrorCodeMatcher.java new file mode 100644 index 00000000..a5d7664c --- /dev/null +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/common/utils/ErrorCodeMatcher.java @@ -0,0 +1,93 @@ +package org.dromara.common.utils; + +import java.util.HashMap; +import java.util.Map; + +/** + * 接口错误码匹配工具(用户展示用) + */ +public class ErrorCodeMatcher { + + private static final Map 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)... + } +} diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/common/utils/baiduUtil/BaiDuFace.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/common/utils/baiduUtil/BaiDuFace.java index 8f8dc798..49ce101a 100644 --- a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/common/utils/baiduUtil/BaiDuFace.java +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/common/utils/baiduUtil/BaiDuFace.java @@ -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. 校验对比结果 diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/project/service/impl/BusAttendanceServiceImpl.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/project/service/impl/BusAttendanceServiceImpl.java index 958e8fa7..15bc0785 100644 --- a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/project/service/impl/BusAttendanceServiceImpl.java +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/project/service/impl/BusAttendanceServiceImpl.java @@ -361,7 +361,7 @@ public class BusAttendanceServiceImpl extends ServiceImpl