From 2c965ed7b2e9ef4e0ef7d49ea2d79db766e04fed Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=A8=E5=BB=BA=E7=82=8A?= <924182103@qq.com> Date: Fri, 8 Nov 2024 16:04:31 +0800 Subject: [PATCH] =?UTF-8?q?a=E8=AE=A2=E5=8D=95=E5=AF=BC=E5=87=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/Http/Controllers/Goods/GoodsSkusController.php | 10 ++++++++-- app/Services/GoodSku/GoodSkuService.php | 3 ++- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/app/Http/Controllers/Goods/GoodsSkusController.php b/app/Http/Controllers/Goods/GoodsSkusController.php index 5a9e5e1..9a170ba 100644 --- a/app/Http/Controllers/Goods/GoodsSkusController.php +++ b/app/Http/Controllers/Goods/GoodsSkusController.php @@ -119,9 +119,13 @@ class GoodsSkusController extends Controller foreach ($ids as $id => $number) { $finalIds[] = $id; } + if(empty($finalIds)){ + $goodsSkusBuilder->orderBy("id",$sortValue); + }else{ + $idField = implode(',', $finalIds); + $goodsSkusBuilder->orderByRaw("FIELD(id,{$idField}) {$sortValue}"); + } - $idField = implode(',', $finalIds); - $goodsSkusBuilder->orderByRaw("FIELD(id,{$idField}) {$sortValue}"); } else { $goodsSkusBuilder->orderBy($sortField, $sortValue); } @@ -148,6 +152,8 @@ class GoodsSkusController extends Controller } else { $sku['sale_ratio'] = 0; } + $sku['yesterday_num'] = bcadd($sku['stock'], $sku['order_goods_num']); + } $data = ["manage" => ["is_admin" => in_array($rolesName[0], ["运营", "超级管理员", "管理员", "系统管理员", "店铺运营"]) ? 1 : 0]]; return GoodsSkuResource::collection($goodsSkus)->additional($data); diff --git a/app/Services/GoodSku/GoodSkuService.php b/app/Services/GoodSku/GoodSkuService.php index cfcbdac..0448c14 100644 --- a/app/Services/GoodSku/GoodSkuService.php +++ b/app/Services/GoodSku/GoodSkuService.php @@ -26,9 +26,10 @@ class GoodSkuService public function inventory(array $skusWithCombinationGoods) { $skusWithCombinationGoods = $this->handleSkusWithCombinationGoods($skusWithCombinationGoods); + //传进来的sku可能包含组合商品 所以这里需要事先计算好数据 $inventoryKeyBySkuIdMap = collect($skusWithCombinationGoods)->where('is_combination', "=", 0) - ->pluck("real_stock", "id")->filter()->toArray(); + ->pluck("real_stock", "id")->toArray(); Log::info("库存原始操作map", $inventoryKeyBySkuIdMap); //计算组合商品