shish пре 1 година
родитељ
комит
22021cdf87

+ 2 - 2
app-hd/controllers/OrderController.php

@@ -590,8 +590,8 @@ class OrderController extends BaseController
             $return = OrderService::createHdOrder($post, $custom, $hasPay);
             $shop = $this->shop;
             $staff = $this->shopAdmin;
-            //如果开的是负数订单,库存问题要处理,多处需要同步修改 minus_change_stock
-            OrderClass::minusChangeStock($return, $shop, $staff);
+            //售后开付款单,库存要变化,关系要建立,多处需要同步修改 sh_pay_change ssh
+            OrderClass::shPayChange($return, $shop, $staff);
             $transaction->commit();
 
             //打印小票和语音播报

+ 2 - 2
app-hd/controllers/RefundController.php

@@ -253,8 +253,8 @@ class RefundController extends BaseController
                 $returnOrder = OrderService::createHdOrder($orderData, $custom, $hasPay);
                 $shop = $this->shop;
                 $staff = $this->shopAdmin;
-                //如果开的是负数订单,库存问题要处理,多处需要同步修改 minus_change_stock
-                OrderClass::minusChangeStock($returnOrder, $shop, $staff);
+                //售后开付款单,库存要变化,关系要建立,多处需要同步修改 sh_pay_change ssh
+                OrderClass::shPayChange($returnOrder, $shop, $staff, $order);
                 $transaction->commit();
                 $orderId = $returnOrder->id;
                 util::success(['forward' => 1, 'orderId' => $orderId]);

+ 8 - 1
biz-hd/order/classes/OrderClass.php

@@ -107,7 +107,7 @@ class OrderClass extends BaseClass
     }
 
     //因为开负数订单时引导库存变化 ssh 20250731
-    public static function minusChangeStock($order, $shop, $staff)
+    public static function shPayChange($order, $shop, $staff, $originOrder = null)
     {
         $forward = $order['forward'] ?? 0;
         if ($forward == 0) {
@@ -181,6 +181,13 @@ class OrderClass extends BaseClass
 
             }
         }
+        if (is_object($order) && !empty($originOrder)) {
+            //建立关系
+            $originOrder->hasForward = 1;
+            $originOrder->save();
+            $map = ['orderId' => $originOrder->id, 'shOrderId' => $order->id];
+            OrderForwardClass::add($map, true);
+        }
         return true;
     }
 

+ 14 - 0
biz-hd/order/classes/OrderForwardClass.php

@@ -0,0 +1,14 @@
+<?php
+
+namespace bizHd\order\classes;
+
+use common\components\util;
+use Yii;
+use bizHd\base\classes\BaseClass;
+
+class OrderForwardClass extends BaseClass
+{
+
+    public static $baseFile = '\bizHd\order\models\OrderForward';
+
+}

+ 15 - 0
biz-hd/order/models/OrderForward.php

@@ -0,0 +1,15 @@
+<?php
+
+namespace bizHd\order\models;
+
+use bizHd\base\models\Base;
+
+class OrderForward extends Base
+{
+
+	public static function tableName()
+	{
+		return 'xhOrderForward';
+	}
+
+}

+ 15 - 0
biz-hd/order/services/OrderForwardService.php

@@ -0,0 +1,15 @@
+<?php
+
+namespace bizHd\order\services;
+
+use bizHd\base\services\BaseService;
+use common\components\stringUtil;
+use common\components\util;
+use Yii;
+
+class OrderForwardService extends BaseService
+{
+
+    public static $baseFile = '\bizHd\order\classes\OrderForwardClass';
+
+}