134 lines
4.6 KiB
C#
134 lines
4.6 KiB
C#
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;
|
||
}
|
||
|
||
}
|
||
}
|