OrderEnum.php 5.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192
  1. <?php
  2. namespace app\common\Enum;
  3. class OrderEnum
  4. {
  5. /**
  6. * 订单状态
  7. */
  8. const STATUS_CREATE = 101;
  9. const STATUS_PAY = 201;
  10. const STATUS_SHIP = 301;
  11. const STATUS_CONFIRM = 401;
  12. const STATUS_COMMENT = 501;
  13. const STATUS_CANCEL = 102;
  14. const STATUS_AUTO_CANCEL = 103;
  15. const STATUS_ADMIN_CANCEL = 104;
  16. const STATUS_REFUND = 202;
  17. const STATUS_REFUND_CONFIRM = 203;
  18. const STATUS_GROUPON_TIMEOUT = 204;
  19. const STATUS_AUTO_CONFIRM = 402;
  20. // pay_mode 支付模式:online=线上支付,offline=线下支付
  21. const PAY_MODE_ONLINE = 'online';
  22. const PAY_MODE_OFFLINE = 'offline';
  23. // 订单类型
  24. const TYPE_NORMAL = 1; // 普通订单
  25. const TYPE_GROUP = 2; // 拼团订单
  26. const TYPE_SECKILL = 3; // 秒杀订单
  27. const TYPE_PRESALE = 4; // 预售订单
  28. // 发货方式
  29. const DELIVERY_TYPE_EXPRESS = 1; // 快递配送
  30. const DELIVERY_TYPE_PICKUP = 2; // 门店自提
  31. const DELIVERY_TYPE_LOCAL = 3; // 同城配送
  32. const DELIVERY_TYPE_VIRTUAL = 4; // 无需配送
  33. // 发票状态
  34. const INVOICE_STATUS_UNAVAILABLE = -1; // 不可开具
  35. const INVOICE_STATUS_NOT_APPLIED = 0; // 未申请
  36. const INVOICE_STATUS_APPLIED = 1; // 已申请
  37. const INVOICE_STATUS_ISSUED = 2; // 已开具
  38. // 活动类型
  39. const ACTIVITY_TYPE_NORMAL = 'normal'; // 普通活动
  40. const ACTIVITY_TYPE_SECKILL = 'seckill'; // 秒杀活动
  41. const ACTIVITY_TYPE_GROUP = 'group'; // 拼团活动
  42. const ACTIVITY_TYPE_PRESALE = 'presale'; // 预售活动
  43. const ACTIVITY_TYPE_DISCOUNT = 'discount'; // 折扣活动
  44. public static function getPayModeList()
  45. {
  46. return [
  47. self::PAY_MODE_ONLINE => '线上支付',
  48. self::PAY_MODE_OFFLINE => '线下支付',
  49. ];
  50. }
  51. public static function getPayModeText($pay_mode)
  52. {
  53. return self::getPayModeList()[$pay_mode] ?? '未知';
  54. }
  55. public static function getOrderTypeList()
  56. {
  57. return [
  58. self::TYPE_NORMAL => '普通订单',
  59. self::TYPE_GROUP => '拼团订单',
  60. self::TYPE_SECKILL => '秒杀订单',
  61. self::TYPE_PRESALE => '预售订单',
  62. ];
  63. }
  64. public static function getOrderTypeText($type)
  65. {
  66. return self::getOrderTypeList()[$type] ?? '未知类型';
  67. }
  68. public static function getDeliveryTypeList()
  69. {
  70. return [
  71. self::DELIVERY_TYPE_EXPRESS => '快递配送',
  72. self::DELIVERY_TYPE_PICKUP => '门店自提',
  73. self::DELIVERY_TYPE_LOCAL => '同城配送',
  74. self::DELIVERY_TYPE_VIRTUAL => '无需配送',
  75. ];
  76. }
  77. public static function getDeliveryTypeText($deliveryType)
  78. {
  79. return self::getDeliveryTypeList()[$deliveryType] ?? '未知';
  80. }
  81. public static function getInvoiceStatusList()
  82. {
  83. return [
  84. self::INVOICE_STATUS_UNAVAILABLE => '不可开具',
  85. self::INVOICE_STATUS_NOT_APPLIED => '未申请',
  86. self::INVOICE_STATUS_APPLIED => '已申请',
  87. self::INVOICE_STATUS_ISSUED => '已开具',
  88. ];
  89. }
  90. public static function getInvoiceStatusText($invoiceStatus)
  91. {
  92. return self::getInvoiceStatusList()[$invoiceStatus] ?? '未知';
  93. }
  94. public static function getActivityTypeList()
  95. {
  96. return [
  97. self::ACTIVITY_TYPE_NORMAL => '普通活动',
  98. self::ACTIVITY_TYPE_SECKILL => '秒杀活动',
  99. self::ACTIVITY_TYPE_GROUP => '拼团活动',
  100. self::ACTIVITY_TYPE_PRESALE => '预售活动',
  101. self::ACTIVITY_TYPE_DISCOUNT => '折扣活动',
  102. ];
  103. }
  104. public static function getActivityTypeText($activityType)
  105. {
  106. return self::getActivityTypeList()[$activityType] ?? $activityType;
  107. }
  108. const STATUS_TEXT_MAP = [
  109. self::STATUS_CREATE => '未付款',
  110. self::STATUS_CANCEL => "已取消",
  111. self::STATUS_AUTO_CANCEL => "已取消(系统)",
  112. self::STATUS_ADMIN_CANCEL => "已取消(管理员)",
  113. self::STATUS_PAY => "待发货",
  114. // self::STATUS_REFUND => "订单取消,退款中",
  115. // self::STATUS_REFUND_CONFIRM => "已退款",
  116. // self::STATUS_GROUPON_TIMEOUT => "已超时团购",
  117. self::STATUS_SHIP => "待收货",
  118. self::STATUS_CONFIRM => "已完成",
  119. self::STATUS_AUTO_CONFIRM => "已收货(系统)",
  120. self::STATUS_COMMENT => "已评价",
  121. ];
  122. const STATUS_TIME_MAP = [
  123. self::STATUS_CREATE => 'createtime',
  124. self::STATUS_PAY => 'pay_time',
  125. self::STATUS_SHIP => 'shipping_time',
  126. self::STATUS_CONFIRM => 'receive_time',
  127. self::STATUS_AUTO_CONFIRM => 'receive_time',
  128. self::STATUS_COMMENT => 'evaluate_time',
  129. self::STATUS_REFUND => 'refund_time',
  130. self::STATUS_REFUND_CONFIRM => 'refund_time',
  131. self::STATUS_AUTO_CANCEL => 'expire_time',
  132. self::STATUS_CANCEL => 'cancel_time',
  133. ];
  134. public static function isValidOrderStatus($status)
  135. {
  136. return isset(self::STATUS_TEXT_MAP[$status]);
  137. }
  138. public static function getOrderStatusList()
  139. {
  140. return self::STATUS_TEXT_MAP;
  141. }
  142. public static function getOrderStatusText($status)
  143. {
  144. return self::STATUS_TEXT_MAP[$status] ?? '未知';
  145. }
  146. const SHOW_TYPE_ALL = 0;//全部订单
  147. const SHOW_TYPE_WAIT_PAY = 1;//待付款订单
  148. const SHOW_TYPE_WAIT_DELIVERY = 2;//待发货订单
  149. const SHOW_TYPE_WAIT_RECEIPT = 3;//待收货订单
  150. const SHOW_TYPE_WAIT_COMMENT = 4;//待评价订单
  151. const SHOW_TYPE_STATUS_MAP = [
  152. self::SHOW_TYPE_ALL => [],
  153. self::SHOW_TYPE_WAIT_PAY => [self::STATUS_CREATE],
  154. self::SHOW_TYPE_WAIT_DELIVERY => [self::STATUS_PAY],
  155. self::SHOW_TYPE_WAIT_RECEIPT => [self::STATUS_SHIP],
  156. self::SHOW_TYPE_WAIT_COMMENT => [self::STATUS_CONFIRM],
  157. ];
  158. }