ql_apimanager_backend/Apimanager_backend/Tools/StatusCodeHelper.cs
2024-11-03 22:01:35 +08:00

134 lines
4.6 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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;
}
}
}