namespace Apimanager_backend.Tools { public static class StatusCodeHelper { public static int GetHttpStatusCode(int customErrorCode) { int httpStatusCode; switch (customErrorCode) { // 通用错误码 case 1000: // 成功 httpStatusCode = 200; break; case 1001: // 参数错误 httpStatusCode = 400; break; case 1002: // 用户未登录或认证失败 httpStatusCode = 401; break; case 1003: // 无权限访问 httpStatusCode = 403; break; case 1004: // 资源未找到 httpStatusCode = 404; break; case 1005: // 服务器内部错误 httpStatusCode = 500; break; case 1006: // 服务暂时不可用 httpStatusCode = 503; break; // 用户模块错误码 case 2000: // 登录成功 httpStatusCode = 200; break; case 2001: // 用户名或密码错误 httpStatusCode = 401; break; case 2002: // 用户账户被禁用 httpStatusCode = 401; break; case 2003: // 用户名已存在 httpStatusCode = 409; break; case 2004: // 用户不存在 httpStatusCode = 404; break; case 2005: // 邮箱已存在 httpStatusCode = 409; break; case 2006: // 用户无权限进行该操作 httpStatusCode = 403; break; case 2007: // 密码重置失败 httpStatusCode = 400; break; case 2008: // 凭证到期或无效 httpStatusCode = 403; break; case 2009: // 刷新令牌到期或无效 httpStatusCode = 403; break; // API模块错误码 case 3000: // API调用成功 httpStatusCode = 200; break; case 3001: // API访问受限 httpStatusCode = 403; break; case 3002: // API不存在 httpStatusCode = 404; break; case 3003: // API调用次数超限 httpStatusCode = 429; break; case 3004: // 未购买该API套餐或权限不足 httpStatusCode = 403; break; case 3005: // API调用失败,服务器错误 httpStatusCode = 500; break; // 套餐与支付模块错误码 case 4000: // 支付成功 httpStatusCode = 200; break; case 4001: // 支付请求无效 httpStatusCode = 400; break; case 4002: // 支付失败,余额不足 httpStatusCode = 402; break; case 4003: // 订单未找到 httpStatusCode = 404; break; case 4004: // 重复支付或订单冲突 httpStatusCode = 409; break; case 4005: // 支付系统错误 httpStatusCode = 500; break; case 4006: // 退款成功 httpStatusCode = 200; break; // 日志与系统模块错误码 case 5000: // 日志查询成功 httpStatusCode = 200; break; case 5001: // 日志记录未找到 httpStatusCode = 404; break; case 5002: // 日志服务异常 httpStatusCode = 500; break; case 5003: // 无权限查看操作日志 httpStatusCode = 403; break; default: // 未知错误码,返回 500 httpStatusCode = 500; break; } return httpStatusCode; } } }