mirror of
https://gitee.com/hzchunfen/erp.git
synced 2025-12-01 06:30:49 +00:00
增加锁
This commit is contained in:
parent
a8290bd5d0
commit
c017753fe6
@ -67,7 +67,6 @@ class GoodsCombinationController extends Controller
|
|||||||
->sum('already_cancel_number');
|
->sum('already_cancel_number');
|
||||||
$item['total_orders_num'] = $number - $cancelNumber;
|
$item['total_orders_num'] = $number - $cancelNumber;
|
||||||
foreach ($item['combinationGoods'] as $combinationItem) {
|
foreach ($item['combinationGoods'] as $combinationItem) {
|
||||||
Log::info("TEST", [$combinationItem]);
|
|
||||||
$title = !empty($combinationItem['goodsSkuItem']['name']) ? $combinationItem['goodsSkuItem']['name'] :
|
$title = !empty($combinationItem['goodsSkuItem']['name']) ? $combinationItem['goodsSkuItem']['name'] :
|
||||||
(!empty($combinationItem['goodsSkuItem']['goods']) ? $combinationItem['goodsSkuItem']['goods']['title']
|
(!empty($combinationItem['goodsSkuItem']['goods']) ? $combinationItem['goodsSkuItem']['goods']['title']
|
||||||
. " " . $combinationItem['goodsSkuItem']['title'] : $combinationItem['goodsSkuItem']['title']);
|
. " " . $combinationItem['goodsSkuItem']['title'] : $combinationItem['goodsSkuItem']['title']);
|
||||||
|
|||||||
@ -9,6 +9,7 @@ use App\Utils\DateTimeUtils;
|
|||||||
use Illuminate\Contracts\Queue\ShouldQueue;
|
use Illuminate\Contracts\Queue\ShouldQueue;
|
||||||
use Illuminate\Queue\InteractsWithQueue;
|
use Illuminate\Queue\InteractsWithQueue;
|
||||||
use App\Events\BatchStockUpdateEvent;
|
use App\Events\BatchStockUpdateEvent;
|
||||||
|
use Illuminate\Support\Facades\DB;
|
||||||
use Illuminate\Support\Facades\Log;
|
use Illuminate\Support\Facades\Log;
|
||||||
|
|
||||||
class CombinationGoodsStockUpdateListener implements ShouldQueue
|
class CombinationGoodsStockUpdateListener implements ShouldQueue
|
||||||
@ -54,6 +55,7 @@ class CombinationGoodsStockUpdateListener implements ShouldQueue
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
$updateIds = [];
|
||||||
//拉取三分订单时可能出现组合订单的情况 需要同步扣减库存
|
//拉取三分订单时可能出现组合订单的情况 需要同步扣减库存
|
||||||
if ($combinationGoodsIds) {
|
if ($combinationGoodsIds) {
|
||||||
$combinationGoods = CombinationGood::query()
|
$combinationGoods = CombinationGood::query()
|
||||||
@ -61,7 +63,8 @@ class CombinationGoodsStockUpdateListener implements ShouldQueue
|
|||||||
->whereIn('goods_sku_id', $combinationGoodsIds)
|
->whereIn('goods_sku_id', $combinationGoodsIds)
|
||||||
->get();
|
->get();
|
||||||
foreach ($combinationGoods as $item) {
|
foreach ($combinationGoods as $item) {
|
||||||
$goodsSku = GoodsSku::query()->find($item['item_id']);
|
DB::transaction(function () use ($item, &$updateIds) {
|
||||||
|
$goodsSku = GoodsSku::query()->find($item['item_id'])->lockForUpdate();
|
||||||
$stock = $goodsSku->stock - $item['item_num'];
|
$stock = $goodsSku->stock - $item['item_num'];
|
||||||
//新增逻辑 在线库存同步扣减
|
//新增逻辑 在线库存同步扣减
|
||||||
$saleStock = max($goodsSku->sale_stock - $item['item_num'], 0);
|
$saleStock = max($goodsSku->sale_stock - $item['item_num'], 0);
|
||||||
@ -71,6 +74,7 @@ class CombinationGoodsStockUpdateListener implements ShouldQueue
|
|||||||
$goodsSku->sale_stock = $saleStock;
|
$goodsSku->sale_stock = $saleStock;
|
||||||
$goodsSku->save();
|
$goodsSku->save();
|
||||||
$updateIds[] = $goodsSku->id;
|
$updateIds[] = $goodsSku->id;
|
||||||
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// 计算主商品库存
|
// 计算主商品库存
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user