Przeglądaj źródła

做到了售后下架流程

shish 2 lat temu
rodzic
commit
e72cb35d6f
1 zmienionych plików z 19 dodań i 7 usunięć
  1. 19 7
      biz-ghs/cg/services/CgRefundService.php

+ 19 - 7
biz-ghs/cg/services/CgRefundService.php

@@ -102,18 +102,30 @@ class CgRefundService extends BaseService
                     'price' => $totalPrice,
                     'price' => $totalPrice,
                 ];
                 ];
                 CgRefundItemClass::addData($refundItemData, $order);
                 CgRefundItemClass::addData($refundItemData, $order);
-                //售后产生下架
-                //CgOrderItemSendClass::afterSaleOut($shop, $order, $currentCgItem, $num);
 
 
-                $sendRefund = $currentProduct['sendRefund'] ?? [];
+                $sendRefundData = $currentProduct['sendRefund'] ?? [];
                 if ($shop->bookSn == $bookSn && !empty($bookSn)) {
                 if ($shop->bookSn == $bookSn && !empty($bookSn)) {
-                    if (empty($sendRefund)) {
+                    if (empty($sendRefundData)) {
                         util::fail('请填写货位要退的数量');
                         util::fail('请填写货位要退的数量');
                     }
                     }
-                    print_r($sendRefund);
-                    die;
+                    $sendIds = array_column($sendRefundData, 'id');
+                    $sendRes = CgOrderItemSendClass::getAllByCondition(['id' => ['in', $sendIds]], null, '*', null, true);
+                    $totalSendRefundNum = 0;
+                    foreach ($sendRefundData as $sendKey => $send) {
+                        $sendRefundNum = $send['refundNum'] ?? 0;
+                        $totalSendRefundNum = bcadd($totalSendRefundNum, $sendRefundNum);
+                        $sendId = $send['id'] ?? 0;
+                        $currentSend = $sendRes[$sendId] ?? null;
+                        if (empty($currentSend)) {
+                            util::fail('没有找到采购单花材的配送信息呢');
+                        }
+                    }
+                    if (floatval($num) != floatval($totalSendRefundNum)) {
+                        util::fail("{$name} 退货数量必须和货位退货数和一致");
+                    }
+                    //售后产生下架
+                    //CgOrderItemSendClass::afterSaleOut($shop, $order, $currentCgItem, $num);
                 }
                 }
-
             }
             }
 
 
         }
         }