!29 店铺订单修改

Merge pull request !29 from develop
This commit is contained in:
赵世界 2022-08-18 08:02:00 +00:00 committed by Gitee
commit 3cb73453fb
No known key found for this signature in database
GPG Key ID: 173E9B9CA92EEF8F
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']); [$goodsCode, $skuCode] = explode('_', $this->businessOrderItem['external_sku_id']);
$this->goodsSku = GoodsSku::query()->where('sku_code', $skuCode) $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); $query->where('goods_code', $goodsCode);
}]) })
->first(); ->first();
if ($this->goodsSku) { if ($this->goodsSku) {
$this->goodsSku->stock += $this->num; $this->goodsSku->stock += $this->num;

View File

@ -3,6 +3,7 @@
namespace App\Http\Controllers\Shop; namespace App\Http\Controllers\Shop;
use App\Http\Controllers\Controller; use App\Http\Controllers\Controller;
use App\Models\GoodsSku;
use App\Models\Shop; use App\Models\Shop;
use App\Http\Resources\ShopsResource; use App\Http\Resources\ShopsResource;
use Illuminate\Http\Request; use Illuminate\Http\Request;
@ -113,7 +114,7 @@ class ShopsController extends Controller
$fields = implode(',', [ $fields = implode(',', [
'shop_id', 'shop_id',
'external_sku_id', 'external_sku_id',
'count(id) as count', 'sum(goods_number) as num',
]); ]);
$res = BusinessOrderItem::query() $res = BusinessOrderItem::query()
->select(DB::raw($fields)) ->select(DB::raw($fields))
@ -123,9 +124,23 @@ class ShopsController extends Controller
->get(); ->get();
$data = []; $data = [];
foreach ($res as $item) { 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, 'shop_name' => $item->shop->name,
'count' => $item->count, 'num' => $item->num,
]; ];
} }