OrderEnum.php 6.3 KB

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