ErrorCodeEnum.php 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. <?php
  2. namespace app\common\Enum;
  3. /**
  4. * 错误码枚举类
  5. * 统一管理系统中的所有错误码
  6. *
  7. * 注意:这些错误码主要用于:
  8. * 1. 日志记录和调试追踪
  9. * 2. 内部业务逻辑区分
  10. *
  11. * 前端接收的API响应中,所有业务异常统一返回 code=0(与验证异常一致)
  12. * 具体错误信息通过 msg 字段传递
  13. */
  14. class ErrorCodeEnum
  15. {
  16. // ============ 抽奖相关错误码 (1000-1999) ============
  17. const LOTTERY_ACTIVITY_NOT_FOUND = 1001; // 活动不存在或未开始
  18. const LOTTERY_NOT_IN_TIME = 1002; // 不在抽奖时间内
  19. const LOTTERY_USER_NOT_QUALIFIED = 1003; // 用户不符合参与条件
  20. const LOTTERY_NO_CHANCE = 1004; // 没有抽奖机会
  21. const LOTTERY_REACH_LIMIT = 1005; // 已达到参与次数上限
  22. const LOTTERY_ORDER_ALREADY_DRAWN = 1006; // 该订单已参与过抽奖
  23. // ============ 用户相关错误码 (2000-2999) ============
  24. const USER_NOT_LOGIN = 2002; // 请先登录
  25. const USER_ACTIVITY_NOT_FOUND = 2001; // 活动不存在
  26. const USER_WIN_RECORD_NOT_FOUND = 2003; // 中奖记录不存在
  27. const USER_PRIZE_ALREADY_PROCESSED = 2004; // 该奖品已处理,无法修改地址
  28. // ============ 商品折扣相关错误码 (3000-3999) ============
  29. const GOODS_NO_DISCOUNT = 3001; // 该商品当前没有参与折扣活动
  30. // ============ 订单相关错误码 (4000-4999) ============
  31. // 预留给订单相关功能
  32. // ============ 支付相关错误码 (5000-5999) ============
  33. // 预留给支付相关功能
  34. /**
  35. * 获取错误码对应的默认消息
  36. * @param int $code 错误码
  37. * @return string
  38. */
  39. public static function getMessage($code)
  40. {
  41. $messages = [
  42. // 抽奖相关
  43. self::LOTTERY_ACTIVITY_NOT_FOUND => '活动不存在或未开始',
  44. self::LOTTERY_NOT_IN_TIME => '不在抽奖时间内',
  45. self::LOTTERY_USER_NOT_QUALIFIED => '用户不符合参与条件',
  46. self::LOTTERY_NO_CHANCE => '没有抽奖机会',
  47. self::LOTTERY_REACH_LIMIT => '已达到参与次数上限',
  48. self::LOTTERY_ORDER_ALREADY_DRAWN => '该订单已参与过抽奖',
  49. // 用户相关
  50. self::USER_NOT_LOGIN => '请先登录',
  51. self::USER_ACTIVITY_NOT_FOUND => '活动不存在',
  52. self::USER_WIN_RECORD_NOT_FOUND => '中奖记录不存在',
  53. self::USER_PRIZE_ALREADY_PROCESSED => '该奖品已处理,无法修改地址',
  54. // 商品折扣相关
  55. self::GOODS_NO_DISCOUNT => '该商品当前没有参与折扣活动',
  56. ];
  57. return $messages[$code] ?? '未知错误';
  58. }
  59. }