CostOrderConfirmForm.php 2.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091
  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\Goods;
  9. use app\models\Order;
  10. use app\models\OrderDetail;
  11. use app\plugins\adopt\models\AdoptCostOrder;
  12. use app\plugins\adopt\models\AdoptOrderInfo;
  13. use app\utils\Notice\NoticeSend;
  14. use yii\base\Model;
  15. class CostOrderConfirmForm extends Model
  16. {
  17. public $store_id;
  18. public $user_id;
  19. public $order_id;
  20. public function rules()
  21. {
  22. return [
  23. [['order_id'], 'required'],
  24. ];
  25. }
  26. public function save()
  27. {
  28. if (!$this->validate()) {
  29. return $this->getErrorSummary(false)[0];
  30. }
  31. $adopt_cost_order = AdoptCostOrder::findOne([
  32. 'store_id' => $this->store_id,
  33. 'user_id' => $this->user_id,
  34. 'id' => $this->order_id,
  35. 'trade_status' => Order::ORDER_FLOW_SEND,
  36. 'is_delete' => 0,
  37. ]);
  38. if (!$adopt_cost_order) {
  39. return [
  40. 'code' => 1,
  41. 'msg' => '订单不存在'
  42. ];
  43. }
  44. $adopt_cost_order->trade_status = Order::ORDER_FLOW_CONFIRM;
  45. $adopt_cost_order->confirm_time = time();
  46. if ($adopt_cost_order->pay_type == 2) {
  47. $adopt_cost_order->is_pay = 1;
  48. $adopt_cost_order->pay_time = time();
  49. }
  50. if ($adopt_cost_order->save()) {
  51. /**
  52. * @var Order $v
  53. */
  54. $adopt_order_info = AdoptOrderInfo::find()->alias('aoi')
  55. ->where([
  56. 'aoi.order_id' => $adopt_cost_order->order_id,
  57. 'aoi.store_id' => $this->store_id,
  58. ])->one();
  59. if ($adopt_order_info->harvest_weight == 0) {
  60. $adopt_order = Order::find()->alias('o')
  61. ->where([
  62. 'o.id' => $adopt_cost_order->order_id,
  63. 'o.store_id' => $this->store_id,
  64. 'o.order_type' => 5,
  65. ])->one();
  66. $adopt_order->trade_status = Order::ORDER_FLOW_CONFIRM;
  67. $adopt_order->save();
  68. $goods = Goods::findOne(OrderDetail::findOne(['order_id' => $this->order_id])->goods_id);
  69. NoticeSend::AdoptOrderStateChange($adopt_order->user_id, $adopt_order_info->mobile, $adopt_order->order_no, $goods->name, 13);
  70. }
  71. return [
  72. 'code' => 0,
  73. 'msg' => '已确认收货'
  74. ];
  75. } else {
  76. return [
  77. 'code' => 1,
  78. 'msg' => '确认收货失败'
  79. ];
  80. }
  81. }
  82. }