Files
lotteryLaravel/app/Lottery/ErrorCode.php

111 lines
3.3 KiB
PHP
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.
<?php
namespace App\Lottery;
/**
* HTTP JSON 业务码 `code`(与 `ApiResponse`、docs/04 §10 对齐)。
*
* 区间约定0 成功10001999 钱包20002999 下注80008999 SSO/权限90009999 系统。
* 新增错误时在此登记,业务代码引用本枚举,勿散落魔法数字。
*/
enum ErrorCode: int
{
/* ========== 成功 ========== */
/** 业务成功(与 `ApiResponse::success` 默认一致) */
case Success = 0;
/* ========== 10001999 钱包 / 转账 ========== */
/** PRD余额不足 */
case WalletInsufficientBalance = 1001;
/** PRD处理中转账 */
case WalletTransferPending = 1002;
/** PRD金额超出限制 */
case WalletAmountExceedsLimit = 1003;
/** 后台关闭玩家转入lottery_settings.wallet.transfer_in_enabled=false */
case WalletTransferInDisabled = 1004;
/**
* PRD钱包查询等场景下请求参数无效当前用于 `currency` 非法(与 1003 语义区分)。
*/
case WalletInvalidCurrency = 1005;
/** 后台关闭玩家转出 */
case WalletTransferOutDisabled = 1006;
/** 彩票钱包已冻结,不可划转 */
case WalletLotteryFrozen = 1007;
/** 金额非法:须为正整数最小货币单位 */
case WalletInvalidAmount = 1008;
/** 主站钱包接口拒绝或不可用(扣款/加款失败) */
case WalletExternalRejected = 1009;
/** 幂等键与已有订单冲突(金额/币种/方向不一致) */
case WalletIdempotentConflict = 1010;
/* ========== 20002999 下注 / 注单PRD 保留,业务未实现时亦可提前登记) ========== */
/** PRD当期已封盘 */
case DrawClosed = 2001;
/** PRD玩法已关闭 */
case PlayModeClosed = 2002;
/** PRD下注语境余额不足可与 1001 同语义) */
case BetInsufficientBalance = 2003;
/* ========== 80008999 玩家 SSO / Bearer 鉴权 ========== */
/** 无 Bearer / 格式错误 / token 为空 */
case PlayerAuthorizationInvalid = 8001;
/** JWT 无效或过期、dev: 格式错误、缺少站点或玩家标识等 */
case PlayerTokenInvalid = 8002;
/** 库中无对应玩家(未建档) */
case PlayerNotRegistered = 8003;
/** 未配置 `MAIN_SITE_SSO_JWT_SECRET`(通常 HTTP 503 */
case PlayerSsoSecretNotConfigured = 8004;
/** 账号已冻结或禁止登录status ≠ active */
case PlayerAccountSuspended = 8005;
/* ========== 81008199 管理端 API ========== */
/** 未登录或 Token 无效 */
case AdminUnauthenticated = 8110;
/** 登录:验证码错误或过期 */
case AdminCaptchaInvalid = 8111;
/** 登录:账号或密码不匹配(对外统一措辞) */
case AdminCredentialsInvalid = 8112;
/** 登录:账号已禁用 */
case AdminAccountDisabled = 8113;
/* ========== 90009999 系统 / 框架 ========== */
/** 表单或 Query 校验失败ValidationException → 422 */
case ValidationFailed = 9001;
/** 模型或路由不存在 */
case NotFound = 9004;
/** `abort(4xx)` 等客户端类 Http 异常归类 */
case ClientHttpError = 9010;
/** 请求过于频繁 */
case TooManyRequests = 9031;
/** 未分类服务端异常 */
case InternalError = 9999;
}