From 8e14d803fe86f794dfd6759ee1eef10887f05ced Mon Sep 17 00:00:00 2001 From: travis <310243791@qq.com> Date: Sat, 7 Dec 2019 17:13:57 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E9=83=A8=E5=88=86=E5=8F=91=E8=B4=A7?= =?UTF-8?q?=E5=8A=9F=E8=83=BD=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../modules/shop/logic/delivery/DeliveryManager.php | 10 +++++++++- backend/modules/shop/models/ars/Delivery.php | 2 ++ 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/backend/modules/shop/logic/delivery/DeliveryManager.php b/backend/modules/shop/logic/delivery/DeliveryManager.php index 2a95b5b..1a97af1 100644 --- a/backend/modules/shop/logic/delivery/DeliveryManager.php +++ b/backend/modules/shop/logic/delivery/DeliveryManager.php @@ -44,6 +44,7 @@ class DeliveryManager $model->goods_id = $value->goods_id; $model->goods_name = $value->goods_name; $model->goods_count = $value->goods_count; + /*如果是部分发货*/ if ($model->goods_count < $value->lack_number) { $order->status = Order::STATUS_SHIPMENT_PORTION; } @@ -51,10 +52,17 @@ class DeliveryManager throw new Exception('delivery_goods save false'); } } - if (!$order->save()) { throw new Exception('order shipping_status update false'); } + if ($order->status == Order::STATUS_SHIPMENT_PORTION|| Delivery::findOne(['!=', 'id', $delivery->id])) { + $delivery->type = Delivery::TYPE_SHIPMENT_PORTION; + } else { + $delivery->type = Delivery::TYPE_SHIPMENT_ALL; + } + if (!$delivery->save()) { + throw new Exception('保存物流信息失败'); + } $transaction->commit(); return ['status' => true]; diff --git a/backend/modules/shop/models/ars/Delivery.php b/backend/modules/shop/models/ars/Delivery.php index 6cc1dbe..866b413 100755 --- a/backend/modules/shop/models/ars/Delivery.php +++ b/backend/modules/shop/models/ars/Delivery.php @@ -21,6 +21,8 @@ use yii\behaviors\TimestampBehavior; */ class Delivery extends \yii\db\ActiveRecord { + const TYPE_SHIPMENT_ALL = 1; + const TYPE_SHIPMENT_PORTION = 2; /** * {@inheritdoc} */