OrderRevokeForm.php 2.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182
  1. <?php
  2. /**
  3. * 重庆赤晓店信息科技有限公司
  4. * https://www.chixiaodian.com
  5. * Copyright (c) 2023 赤店商城 All rights reserved.
  6. */
  7. namespace app\modules\alliance\models;
  8. use app\constants\OptionSetting;
  9. use app\models\CloudGoodsBind;
  10. use app\models\OrderDetail;
  11. use app\models\OrderTransit;
  12. use app\models\OrderUnion;
  13. use app\models\Order;
  14. use app\models\StoreCloud;
  15. use app\models\UserCoupon;
  16. use app\utils\Notice\NoticeSend;
  17. use app\utils\OrderRevoke;
  18. use app\utils\PrintOrder;
  19. use Yii;
  20. use yii\base\Model;
  21. use yii\helpers\Json;
  22. class OrderRevokeForm extends Model
  23. {
  24. public $store_id;
  25. public $user_id;
  26. public $saas_id;
  27. public $order_id;
  28. public $delete_pass = false;
  29. public $form_id='';
  30. public function rules()
  31. {
  32. return [
  33. [['order_id'], 'required'],
  34. ];
  35. }
  36. public function save()
  37. {
  38. if (!$this->validate()) {
  39. return $this->getErrorSummary(false)[0];
  40. }
  41. /**
  42. * @var Order $order
  43. */
  44. $order = Order::find()->andWhere([
  45. //'store_id' => $this->store_id,
  46. // 'saas_id' => $this->saas_id,
  47. 'id' => $this->order_id,
  48. 'is_delete' => 0,
  49. ])->one();
  50. if (!$order) {
  51. return [
  52. 'code' => 1,
  53. 'msg' => '订单不存在'
  54. ];
  55. }
  56. if ($order->is_delivery != 1 && !in_array($order->trade_status, [Order::ORDER_FLOW_DEFAULT, Order::ORDER_FLOW_NO_SEND])) {
  57. return [
  58. 'code' => 1,
  59. 'msg' => '订单不存在'
  60. ];
  61. }
  62. // 已支付订单需要后台先审核
  63. if ($order->is_pay == 1 && !$this->delete_pass) {
  64. $order->apply_delete = Order::ORDER_APPLY_DELETE;
  65. if ($order->save()) {
  66. //NoticeSend::MchCancel($order->order_no, $order->mch_id);
  67. return [
  68. 'code' => 0,
  69. 'msg' => '订单取消申请已提交,请等候管理员审核'
  70. ];
  71. } else {
  72. return ['code' => 1, 'msg' => $order->errors[0]];
  73. }
  74. }
  75. return OrderRevoke::allianceOrderRevoke($order);
  76. }
  77. }