鲜花2.0-导购成本价覆盖
This commit is contained in:
parent
2a36638d75
commit
0e78cc2d43
@ -76,7 +76,7 @@ class LossRecordController extends Controller
|
||||
$lossRecords->external_sku_id = $allParams['external_sku_id'];
|
||||
$lossRecords->num = $allParams['num'];
|
||||
$lossRecords->cost = $allParams['cost'];
|
||||
$lossRecords->date = $today;
|
||||
$lossRecords->date = $allParams['date'] ?? $today;
|
||||
$lossRecords->buyer_user_id = $allParams['buyer_user_id'] ?? ($buyerUserId ?? 0);
|
||||
$lossRecords->buyer_name = $allParams['buyer_name'] ?? '';
|
||||
$lossRecords->reason = $allParams['reason'] ?? '';
|
||||
|
||||
@ -5,6 +5,7 @@ namespace App\Http\Controllers\Supplier;
|
||||
use App\Events\BatchStockUpdateEvent;
|
||||
use App\Http\Controllers\Controller;
|
||||
use App\Http\Enum\ExcelKeyEnum;
|
||||
use App\Http\Enum\TargetTypeEnum;
|
||||
use App\Http\Resources\GoodsSkuResource;
|
||||
use App\Http\Resources\RolesResource;
|
||||
use App\Imports\PurchaseImport;
|
||||
@ -98,7 +99,7 @@ class PurchaseRecordController extends Controller
|
||||
}
|
||||
$purchaseRecords->save();
|
||||
|
||||
$updateIds = GoodSkuService::computeSkuStock($goodsSku->toArray(), $allParams);
|
||||
$updateIds = GoodSkuService::computeSkuStock($goodsSku->toArray(), $allParams,TargetTypeEnum::PURCHASE);
|
||||
event(new BatchStockUpdateEvent($updateIds));
|
||||
} else {
|
||||
$this->res = [
|
||||
@ -200,7 +201,7 @@ class PurchaseRecordController extends Controller
|
||||
$purchaseRecords->expire_time = Carbon::now()->addDays($expireDay)->toDateTimeString();
|
||||
$purchaseRecords->save();
|
||||
|
||||
$updateIds = GoodSkuService::computeSkuStock($goodsSkuItem, $v);
|
||||
$updateIds = GoodSkuService::computeSkuStock($goodsSkuItem, $v,TargetTypeEnum::PURCHASE);
|
||||
|
||||
}
|
||||
//如果是組合商品会触发重算逻辑
|
||||
|
||||
13
app/Http/Enum/TargetTypeEnum.php
Normal file
13
app/Http/Enum/TargetTypeEnum.php
Normal file
@ -0,0 +1,13 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Enum;
|
||||
|
||||
|
||||
class TargetTypeEnum
|
||||
{
|
||||
|
||||
const PURCHASE = "purchase";
|
||||
|
||||
const LOSS = "loss";
|
||||
|
||||
}
|
||||
@ -3,6 +3,7 @@
|
||||
namespace App\Imports;
|
||||
|
||||
use App\Events\BatchStockUpdateEvent;
|
||||
use App\Http\Enum\TargetTypeEnum;
|
||||
use App\Jobs\SyncCostToMiaoXuan;
|
||||
use App\Models\DailyStockRecord;
|
||||
use App\Models\GoodsSku;
|
||||
@ -79,7 +80,7 @@ class PurchaseImport implements ToArray, SkipsEmptyRows
|
||||
$purchaseRecords->expire_time = Carbon::now()->addDays($expireDay)->toDateTimeString();
|
||||
$purchaseRecords->save();
|
||||
|
||||
$updateIds += GoodSkuService::computeSkuStock($goodsSkuItem, ["num" => $row[2], 'cost' => $row[3]]);
|
||||
$updateIds += GoodSkuService::computeSkuStock($goodsSkuItem, ["num" => $row[2], 'cost' => $row[3]], TargetTypeEnum::PURCHASE);
|
||||
}
|
||||
Log::info("采购导入内容:", $collection);
|
||||
// 批量更新
|
||||
|
||||
@ -3,6 +3,7 @@
|
||||
namespace App\Services\GoodSku;
|
||||
|
||||
use App\Events\BatchStockUpdateEvent;
|
||||
use App\Http\Enum\TargetTypeEnum;
|
||||
use App\Models\BusinessOrderItem;
|
||||
use App\Models\CombinationGood;
|
||||
use App\Models\DailyStockRecord;
|
||||
@ -112,7 +113,7 @@ class GoodSkuService
|
||||
}
|
||||
|
||||
|
||||
public static function computeSkuStock(array $goodsSkuItem, array $v)
|
||||
public static function computeSkuStock(array $goodsSkuItem, array $v, $targetType = TargetTypeEnum::LOSS)
|
||||
{
|
||||
$updateIds = [];
|
||||
Log::info("库存更新前完整商品信息", $goodsSkuItem);
|
||||
@ -122,14 +123,15 @@ class GoodSkuService
|
||||
$updateParam = [
|
||||
'stock' => $goodsSkuItem['stock'] + $v['num'],
|
||||
'sale_stock' => $goodsSkuItem['sale_stock'] + $v['num'],
|
||||
'cost' => $v['cost'],
|
||||
];
|
||||
if ($targetType == TargetTypeEnum::PURCHASE) {
|
||||
$updateParam['cost'] = $v['cost'];
|
||||
}
|
||||
GoodsSku::query()->where('external_sku_id', "=", $goodsSkuItem['external_sku_id'])
|
||||
->update($updateParam);
|
||||
$updateIds[] = $goodsSkuItem['id'];
|
||||
$updateParams[] = $updateParam;
|
||||
} else {
|
||||
//组合商品 这里需要重新获取 减少更新丢失概率
|
||||
$combinationGood = CombinationGood::query()->with('goodsSkuItem:id,stock,sale_stock')
|
||||
->where('goods_sku_id', $goodsSkuItem['id'])->get();
|
||||
foreach ($combinationGood as $item) {
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user