CostOrderRevokeForm.php 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596
  1. <?php
  2. /**
  3. * 重庆赤晓店信息科技有限公司
  4. * https://www.chixiaodian.com
  5. * Copyright (c) 2023 赤店商城 All rights reserved.
  6. */
  7. namespace app\plugins\adopt\models\client;
  8. use app\models\OrderUnion;
  9. use app\models\Order;
  10. use app\models\UserCoupon;
  11. use app\plugins\adopt\models\AdoptCostOrder;
  12. use app\plugins\adopt\models\AdoptOrderInfo;
  13. use app\utils\Notice\NoticeSend;
  14. use app\utils\OrderRevoke;
  15. use app\utils\PrintOrder;
  16. use Yii;
  17. use yii\base\Model;
  18. use yii\helpers\Json;
  19. class CostOrderRevokeForm extends Model
  20. {
  21. public $store_id;
  22. public $user_id;
  23. public $order_id;
  24. public $delete_pass = false;
  25. public $form_id='';
  26. public function rules()
  27. {
  28. return [
  29. [['order_id'], 'required'],
  30. ];
  31. }
  32. public function save()
  33. {
  34. if (!$this->validate()) {
  35. return $this->getErrorSummary(false)[0];
  36. }
  37. /**
  38. * @var Order $order
  39. */
  40. $order = AdoptCostOrder::find()->andWhere([
  41. 'store_id' => $this->store_id,
  42. // 'user_id' => $this->user_id,
  43. 'id' => $this->order_id,
  44. 'is_delete' => 0,
  45. ])->one();
  46. if (!$order) {
  47. return [
  48. 'code' => 1,
  49. 'msg' => '订单不存在'
  50. ];
  51. }
  52. if ($order->trade_status == 1) {
  53. return [
  54. 'code' => 1,
  55. 'msg' => '订单已取消'
  56. ];
  57. }
  58. // if ($order->is_delivery != 1 && !in_array($order->trade_status, [AdoptCostOrder::ORDER_FLOW_DEFAULT, AdoptCostOrder::ORDER_FLOW_NO_SEND])) {
  59. // return [
  60. // 'code' => 1,
  61. // 'msg' => '订单不存在'
  62. // ];
  63. // }
  64. if ($order->is_pay == 1) {
  65. return [
  66. 'code' => 1,
  67. 'msg' => '订单不存在'
  68. ];
  69. }
  70. $order->trade_status = Order::ORDER_FLOW_CANCEL;
  71. // $order->is_delete = Order::IS_DELETE_TRUE;
  72. if ($order->order_type == 1) {
  73. $adopt_order = AdoptOrderInfo::find()->where(['order_id' => $order->order_id, 'is_delete' => 0, 'store_id' => $this->store_id,])->one();
  74. $adopt_order->harvest_weight += $order->weight;
  75. $adopt_order->save();
  76. }
  77. if ($order->save()) {
  78. return [
  79. 'code' => 0,
  80. 'msg' => '订单已取消'
  81. ];
  82. } else{
  83. return [
  84. 'code' => 0,
  85. 'msg' => '订单取消失败'
  86. ];
  87. }
  88. }
  89. }