diff --git a/app/Service/Api/Order/OrderInfoService.php b/app/Service/Api/Order/OrderInfoService.php index a7f7db5..7fc56d0 100644 --- a/app/Service/Api/Order/OrderInfoService.php +++ b/app/Service/Api/Order/OrderInfoService.php @@ -144,6 +144,7 @@ class OrderInfoService extends BaseService 'is_add_staple_food' => GoodCode::IS_NOT_ADD_STAPLE_FOOD, ]; + $breakFlag = 0; foreach ($newOrderSkuList[$i] as $item) { if ($item['order_id'] != $orderInfo['id'] || $item['copies'] != $i) continue; @@ -154,6 +155,7 @@ class OrderInfoService extends BaseService $addStapleFood['total_price'] = bcadd((string)$oneCopiesInfo['total_price'], bcmul((string)$item['unit_price'],(string)$item['quantity'],2), 2); $addStapleFood['total_quantity'] += $item['quantity']; $addStapleFood['url'] = $imageList[$imageId]['url'] ?? ''; + $breakFlag = 1; continue; } @@ -173,10 +175,10 @@ class OrderInfoService extends BaseService $oneCopiesInfo['total_quantity'] += $item['quantity']; } - $orderCopiesList[] = $oneCopiesInfo; + if ($breakFlag == 0) $orderCopiesList[] = $oneCopiesInfo; } - if (!empty($addStapleFood)) $orderCopiesList[] = $addStapleFood; + if (!empty($addStapleFood) && $addStapleFood['total_quantity'] >= 0) $orderCopiesList[] = $addStapleFood; $orderInfo['copies_list'] = $orderCopiesList; $orderInfo['site'] = $this->siteCache->getSiteInfo($orderInfo['site_id']); } diff --git a/app/Service/Api/Order/OrderListService.php b/app/Service/Api/Order/OrderListService.php index b13c8f1..e6f8db7 100644 --- a/app/Service/Api/Order/OrderListService.php +++ b/app/Service/Api/Order/OrderListService.php @@ -116,8 +116,6 @@ class OrderListService extends BaseService } unset($orderSkuList); - -// $skuIds = array_unique(array_column($orderSkuList, 'sku_id')); $skuList = $this->skuModel->getDataArrByIds($skuIds); $imageIdArr = array_column($skuList,'image_ids'); $skuList = array_column($skuList, null,'id'); @@ -131,21 +129,20 @@ class OrderListService extends BaseService $addStapleFood = [ 'total_price' => '0.00', 'total_quantity' => 0, - 'sku_list' => [], - 'take_food_code' => '', //取餐码 + 'take_food_code' => '', //这个没有取餐码 + 'image_list' => [], 'is_add_staple_food' => GoodCode::IS_ADD_STAPLE_FOOD, ]; } for ($i = 1; $i <= ($order['copies'] ?? 0); $i++) { - + $breakFlag = 0; $oneCopiesInfo = [ 'total_price' => '0.00', 'total_quantity' => 0, -// 'sku_list' => [], 'image_list' => [], - 'take_food_code' => [], //todo 取餐码 -// 'copies_type' => 0, + 'take_food_code' => '', //todo 取餐码 + 'is_add_staple_food' => GoodCode::IS_NOT_ADD_STAPLE_FOOD, ]; foreach ($newOrderSkuList[$order['id']][$i] as $item) { @@ -157,32 +154,20 @@ class OrderListService extends BaseService if ($skuInfo['is_add_staple_food'] == GoodCode::IS_ADD_STAPLE_FOOD) { $addStapleFood['total_price'] = bcadd((string)$oneCopiesInfo['total_price'], bcmul((string)$item['unit_price'],(string)$item['quantity'],2), 2); $addStapleFood['total_quantity'] += $item['quantity']; - $addStapleFood['url'] = $imageList[$imageId]['url'] ?? ''; + $addStapleFood['image_list'][] = $imageList[$imageId]['url'] ?? ''; + $breakFlag = 1; continue; } $oneCopiesInfo['total_price'] = bcadd($oneCopiesInfo['total_price'], bcmul($item['unit_price'],(string)$item['quantity'],2), 2); $oneCopiesInfo['total_quantity'] += $item['quantity']; -// $oneCopiesInfo['sku_list'][] = []; + $oneCopiesInfo['image_list'][] = $imageList[$imageId]['url'] ?? []; - -// if ($oneCopiesInfo['copies_type'] == 0) $oneCopiesInfo['copies_type'] = $item['type']; } -// foreach ($newOrderSkuList as $item) { -// if ($item['order_id'] != $order['id'] || $item['copies'] != $i) continue; -// -// $skuInfo = $skuList[$item['sku_id']] ?? []; -// $imageId = !empty($skuInfo) && !empty(explode(',',$skuInfo['image_ids'])[0]) ? explode(',',$skuInfo['image_ids'])[0] : []; -// $oneCopiesInfo['total_price'] = bcadd($oneCopiesInfo['total_price'], bcmul($item['unit_price'],$item['quantity'],2), 2); -// $oneCopiesInfo['total_quantity'] += $item['quantity']; -// $oneCopiesInfo['sku_list'][] = $skuInfo; -// $oneCopiesInfo['image_list'][] = $imageList[$imageId] ?? []; -// } - if (!empty($addStapleFood)) $oneCopiesInfo[] = $addStapleFood; - $orderCopiesList[] = $oneCopiesInfo; + if ($breakFlag == 0) $orderCopiesList[] = $oneCopiesInfo; } - + if (!empty($addStapleFood) && $addStapleFood['total_quantity'] >= 0) $orderCopiesList[] = $addStapleFood; $order['copies_list'] = $orderCopiesList; $order['site'] = $this->siteCache->getSiteInfo((int)$order['site_id']) ?? []; }