|
|
@@ -102,18 +102,30 @@ class CgRefundService extends BaseService
|
|
|
'price' => $totalPrice,
|
|
|
];
|
|
|
CgRefundItemClass::addData($refundItemData, $order);
|
|
|
- //售后产生下架
|
|
|
- //CgOrderItemSendClass::afterSaleOut($shop, $order, $currentCgItem, $num);
|
|
|
|
|
|
- $sendRefund = $currentProduct['sendRefund'] ?? [];
|
|
|
+ $sendRefundData = $currentProduct['sendRefund'] ?? [];
|
|
|
if ($shop->bookSn == $bookSn && !empty($bookSn)) {
|
|
|
- if (empty($sendRefund)) {
|
|
|
+ if (empty($sendRefundData)) {
|
|
|
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);
|
|
|
}
|
|
|
-
|
|
|
}
|
|
|
|
|
|
}
|