Status.php 5.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125
  1. <?php
  2. namespace App\Models\Traits\Orders;
  3. /**
  4. * 订单状态
  5. *
  6. */
  7. trait Status
  8. {
  9. // 交易类型 与 支付方式
  10. private $statusList = ['0'=>[
  11. 'id' =>0,
  12. 'name' =>'创建订单',// 未付款,系统报单不走支付流程的状态
  13. 'state' =>'待付款',
  14. ],'1'=>[
  15. 'id' =>1,
  16. 'name' =>'创建订单',// 未付款,系统报单不走支付流程的状态
  17. 'state' =>'进行中',
  18. ],'2'=>[
  19. 'id' =>2,
  20. 'name' =>'已付款未发货',// 已付款未发货
  21. 'state' =>'待发货',
  22. ],'3'=>[
  23. 'id' =>3,
  24. 'name' =>'已发货未收货',// 已发货未收货
  25. 'state' =>'待收货',
  26. ],'4'=>[
  27. 'id' =>4,
  28. 'name' =>'已取消',// 已取消
  29. 'state' =>'已取消',
  30. ],'5'=>[
  31. 'id' =>5,
  32. 'name' =>'退款中',// 退款中
  33. 'state' =>'退款中',
  34. ],'6'=>[
  35. 'id' =>6,
  36. 'name' =>'已退款',// 已退款
  37. 'state' =>'已退款',
  38. ],'7'=>[
  39. 'id' =>7,
  40. 'name' =>'已关闭',// 已关闭
  41. 'state' =>'已关闭',
  42. ],'8'=>[
  43. 'id' =>8,
  44. 'name' =>'已完成',// 已收货
  45. 'state' =>'已完成',
  46. ],'9'=>[
  47. 'id' =>9,
  48. 'name' =>'回执审核',// 回执审核
  49. 'state' =>'回执审核',
  50. ],'10'=>[
  51. 'id' =>10,
  52. 'name' =>'拼团中',// 拼团中
  53. 'state' =>'拼团中',
  54. ],'11'=>[
  55. 'id' =>11,
  56. 'name' =>'拼团失败',// 拼团失败
  57. 'state' =>'拼团失败',
  58. ],'12'=>[
  59. 'id' =>11,
  60. 'name' =>'取消拼团',// 取消拼团
  61. 'state' =>'取消拼团',
  62. ]];
  63. /**
  64. * 交易类型列表
  65. *
  66. */
  67. public function getStatusList(){
  68. // 返回数据
  69. return $this->statusList;
  70. }
  71. /**
  72. * 获取交易类型
  73. *
  74. * @param int $status 交易状态
  75. * @param string $field 字段
  76. *
  77. */
  78. public function getState($status,$field=''){
  79. // 获取交易类型
  80. $status = isset($this->statusList[$status]) ? $this->statusList[$status] : [];
  81. // 如果存在需要的字段
  82. if( $field ) return isset($status[$field]) ? $status[$field] : null;
  83. // 返回结果
  84. return $status;
  85. }
  86. /**
  87. * 获取交易类型
  88. *
  89. * @param string $state 交易状态
  90. *
  91. */
  92. public function getStateToStatus($state){
  93. // 状态列表
  94. $list = $this->getStatusList();
  95. // 状态
  96. foreach ($list as $value) {
  97. if($value['state'] == $state ) return $value['id'];
  98. }
  99. // 返回结果
  100. return -1;
  101. }
  102. /**
  103. * 获取交易类型
  104. *
  105. * @param string getWeibanStatus 交易状态
  106. *
  107. */
  108. public function getWeibanStatus($weibanStatus){
  109. // 状态列表
  110. $list = ['待付款'=>0,'待发货'=>2,'待收货'=>3,'已完成'=>8,'已退款'=>6,'取消交易'=>4];
  111. // 返回结果
  112. return isset($list[$weibanStatus]) ? $list[$weibanStatus] : 0;
  113. }
  114. }