فهرست منبع

负数与技术

shish 1 سال پیش
والد
کامیت
d6831a48aa
3فایلهای تغییر یافته به همراه30 افزوده شده و 7 حذف شده
  1. 1 1
      app-hd/controllers/ConsoleController.php
  2. 3 1
      app-hd/controllers/RefundController.php
  3. 26 5
      biz-hd/order/classes/OrderClass.php

+ 1 - 1
app-hd/controllers/ConsoleController.php

@@ -79,7 +79,7 @@ class ConsoleController extends BaseController
         $menu = [
             ["name" => "商城", "img" => "ghs/home/shop2.png", "url" => "/admin/cg/mall", 'pf' => 1,],
             ["name" => "改价", "img" => "ghs/home/gj2.png", "url" => "/admin/changePrice/list2", 'pf' => 1,],
-            ["name" => "花材", "img" => "ghs/home/hcgl2.png", "url" => "/admin/item/list2", 'pf' => 1,],
+            ["name" => "花材绿植", "img" => "ghs/home/hcgl2.png", "url" => "/admin/item/list2", 'pf' => 1,],
             ["name" => "接花束", "img" => "ghs/home/shop2.png", "url" => "/admin/order/workOrder", 'pf' => 1,],
             ["name" => "拆散", "img" => "ghs/home/kcyjs2.png", "url" => "/admin/part/list", 'pf' => 1,],
             ["name" => "损耗", "img" => "ghs/home/kcyjs2.png", "url" => "/admin/breakage/list", 'pf' => 1,],

+ 3 - 1
app-hd/controllers/RefundController.php

@@ -159,6 +159,7 @@ class RefundController extends BaseController
             //判断是否开负数订单
             $ret = OrderClass::ifMinusRefund($order, $main, $post['price']);
             $minusOrderRefund = $ret['minusOrderRefund'] ?? 0;
+
             if ($minusOrderRefund == 1) {
                 $customId = $order->customId ?? 0;
                 $custom = CustomClass::getById($customId, true);
@@ -231,7 +232,7 @@ class RefundController extends BaseController
                     'shopAdminId' => $staffId,
                     'shopAdminName' => $staffName,
                     'dealPrice' => 1,
-                    'forward' => 0,
+                    'forward' => 1,
                     'forwardStock' => $forwardStock,
                     'modifyPrice' => $refundPrice,
                     'orderType' => $orderType,
@@ -254,6 +255,7 @@ class RefundController extends BaseController
                 $staff = $this->shopAdmin;
                 //如果开的是负数订单,库存问题要处理,多处需要同步修改 minus_change_stock
                 OrderClass::minusChangeStock($returnOrder, $shop, $staff);
+                $transaction->commit();
                 util::complete();
             } else {
                 //走正常售后

+ 26 - 5
biz-hd/order/classes/OrderClass.php

@@ -101,6 +101,11 @@ class OrderClass extends BaseClass
         if (empty($orderItemList) && empty($orderGoodsList)) {
             return false;
         }
+        $shopId = $shop->id ?? 0;
+        $sjId = $shop->sjId ?? 0;
+        $adminId = $staff->adminId;
+        $staffName = $staff->name ?? '';
+        $mainId = $shop->mainId;
         if (!empty($orderItemList)) {
             $itemInfo = [];
             $ids = array_column($orderItemList, 'itemId');
@@ -123,22 +128,38 @@ class OrderClass extends BaseClass
                 }
                 $itemInfo[] = ['productId' => $productId, 'bigNum' => $bigNum, 'smallNum' => $smallNum];
             }
-            $shopId = $shop->id ?? 0;
-            $sjId = $shop->sjId ?? 0;
-            $adminId = $staff->adminId;
-            $remark = $forwardStock == 0 ? '开负数订单,退货并退款,库存退回' : '开负数订单,只退款';
+            $remark = $forwardStock == 0 ? '开负数订单,退货并退款' : '开负数订单,只退款';
             $itemData = [
                 'remark' => $remark,
                 'itemInfo' => $itemInfo,
                 'sjId' => $sjId,
                 'shopId' => $shopId,
                 'adminId' => $adminId,
+                'staffName' => $staffName,
             ];
             CheckOrderClass::opOrder($itemData);
         }
         if (!empty($orderGoodsList)) {
             foreach ($orderGoodsList as $orderGoods) {
-                $a = 1;
+                $goodsId = $orderGoods['goodsId'] ?? 0;
+                $num = $orderGoods['num'] ?? 0;
+                $num = $forwardStock == 0 ? $num * 2 : $num;
+
+                $ret = \bizHd\goods\classes\GoodsClass::addStock($goodsId, $mainId, $num);
+                $oldStock = $ret['oldStock'] ?? 0;
+                $newStock = $ret['newStock'] ?? 0;
+                $recordData = [];
+                $recordData['sjId'] = $sjId;
+                $recordData['shopId'] = $shopId;
+                $recordData['mainId'] = $mainId;
+                $recordData['orderSn'] = '';
+                $recordData['goodsId'] = $goodsId;
+                $recordData['goodsNum'] = $num;
+                $recordData['oldStock'] = $oldStock;
+                $recordData['newStock'] = $newStock;
+                $recordData['relateName'] = $staffName;
+                GoodsStockRecordClass::pdGoods($recordData);
+
             }
         }
         return true;