!56 订单显示优化

Merge pull request !56 from develop
This commit is contained in:
赵世界 2022-08-23 09:19:03 +00:00 committed by Gitee
commit e3bea34a1b
No known key found for this signature in database
GPG Key ID: 173E9B9CA92EEF8F

View File

@ -66,20 +66,30 @@ class GoodsSkusController extends Controller
foreach ($goodsSkus as &$sku) {
$externalSkuId = $sku['goods']['goods_code'] . '_' . $sku['sku_code'];
$lastInventoryTime = $sku['daily']['inventory_time'];
$addOrderGoodsNum = BusinessOrderItem::query()
$fields = implode(',', [
'shop_id',
'external_sku_id',
'sum(goods_number) as number',
'sum(already_cancel_number) as cancel_number',
]);
$orderDetail = BusinessOrderItem::query()
->select(DB::raw($fields))
->where('external_sku_id', $externalSkuId)
->when($lastInventoryTime, function ($query) use ($lastInventoryTime) {
$query->where('updated_at', '>', $lastInventoryTime);
})
->sum('goods_number');
$reduceOrderGoodsNum = BusinessOrderItem::query()
->where('external_sku_id', $externalSkuId)
->when($lastInventoryTime, function ($query) use ($lastInventoryTime) {
$query->where('updated_at', '>', $lastInventoryTime);
})
->sum('already_cancel_number');
->groupBy(['shop_id', 'external_sku_id'])
->with(['shop:id,name'])
->get();
$addOrderGoodsNum = $reduceOrderGoodsNum = 0;
if ($orderDetail) {
$orderDetail = $orderDetail->toArray();
$addOrderGoodsNum = array_sum(array_column($orderDetail, 'number'));
$reduceOrderGoodsNum = array_sum(array_column($orderDetail, 'cancel_number'));
}
$sku['inventory_time'] = $lastInventoryTime;
$sku['order_goods_num'] = $addOrderGoodsNum - $reduceOrderGoodsNum;
$sku['order_detail'] = $orderDetail;
}
return GoodsSkuResource::collection($goodsSkus);