feat: #10000 店铺订单修改

This commit is contained in:
赵世界 2022-08-18 14:57:38 +08:00
parent b774245cf6
commit 31590426e8
2 changed files with 20 additions and 5 deletions

View File

@ -36,9 +36,9 @@ class BusinessOrdersUpdate
{
[$goodsCode, $skuCode] = explode('_', $this->businessOrderItem['external_sku_id']);
$this->goodsSku = GoodsSku::query()->where('sku_code', $skuCode)
->with(['goods' => function ($query) use ($goodsCode) {
->whereHas('goods', function ($query) use ($goodsCode) {
$query->where('goods_code', $goodsCode);
}])
})
->first();
if ($this->goodsSku) {
$this->goodsSku->stock += $this->num;

View File

@ -3,6 +3,7 @@
namespace App\Http\Controllers\Shop;
use App\Http\Controllers\Controller;
use App\Models\GoodsSku;
use App\Models\Shop;
use App\Http\Resources\ShopsResource;
use Illuminate\Http\Request;
@ -113,7 +114,7 @@ class ShopsController extends Controller
$fields = implode(',', [
'shop_id',
'external_sku_id',
'count(id) as count',
'sum(goods_number) as num',
]);
$res = BusinessOrderItem::query()
->select(DB::raw($fields))
@ -123,9 +124,23 @@ class ShopsController extends Controller
->get();
$data = [];
foreach ($res as $item) {
$data[$item->external_sku_id][] = [
[$goodsCode, $skuCode] = explode('_', $item['external_sku_id']);
$sku = GoodsSku::query()->where('sku_code', $skuCode)
->whereHas('goods', function ($query) use ($goodsCode) {
$query->where('goods_code', $goodsCode);
})
->first();
if (empty($sku)) {
continue;
}
$sku = $sku->toArray();
if (!isset($data[$sku['id']]['total'])) {
$data[$sku['id']]['total'] = 0;
}
$data[$sku['id']]['total'] += $item->num;
$data[$sku['id']]['items'][] = [
'shop_name' => $item->shop->name,
'count' => $item->count,
'num' => $item->num,
];
}