OrderEnum.php 6.7 KB

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