bug修复

This commit is contained in:
杨建炊 2024-11-12 13:49:03 +08:00
parent 837b92e06a
commit c027c7ef0a
7 changed files with 63 additions and 19 deletions

View File

@ -38,7 +38,8 @@ class GoodsSkusExport implements FromCollection, ShouldAutoSize
$headTitle = [
'商品编码',
'商品名称',
'可售库存',
'在售库存',
"剩余库存",
'创建时间',
];
$map = [
@ -91,17 +92,18 @@ class GoodsSkusExport implements FromCollection, ShouldAutoSize
foreach ($data as $item) {
$arr[0] = $item['external_sku_id'];
$arr[1] = $item['name'];
$arr[2] = $item['sale_stock'] ?? 0;
$arr[3] = $item['created_at'];
$arr[2] = $item['sale_stock'] ?? '0';
$arr[3] = $item['stock'] ?? '0';
$arr[4] = $item['created_at'];
if ('cost' === $this->type) {
$arr[4] = (string)$item['cost'];
$arr[5] = (string)$update[$item['id']]['before_update'];
$arr[6] = (string)$update[$item['id']]['after_update'];
$arr[5] = (string)$item['cost'];
$arr[6] = (string)$update[$item['id']]['before_update'];
$arr[7] = (string)$update[$item['id']]['after_update'];
}
if ('inventory' === $this->type) {
$arr[4] = (string)$item['stock'];
$arr[5] = (string)$update[$item['id']]['inventory'];
$arr[6] = (string)$update[$item['id']]['arrived_today_num'];
$arr[5] = (string)$item['stock'];
$arr[6] = (string)$update[$item['id']]['inventory'];
$arr[7] = (string)$update[$item['id']]['arrived_today_num'];
}
$bodyData[] = $arr;
}

View File

@ -42,4 +42,34 @@ class GoodsSkuFilter extends Filters
$end = Carbon::parse($value)->endOfDay()->toDateTimeString();
return $this->builder->where('created_at', "<=", $end);
}
protected function minStock($value)
{
return $this->builder->where('stock',">=", $value);
}
protected function maxStock($value)
{
return $this->builder->where('stock',"<=", $value);
}
protected function minSaleStock($value)
{
return $this->builder->where('sale_stock',">=", $value);
}
protected function maxSaleStock($value)
{
return $this->builder->where('sale_stock',"<=", $value);
}
protected function neqSaleStock($value)
{
return $this->builder->where('sale_stock',"!=", $value);
}
protected function neqStock($value)
{
return $this->builder->where('stock',"!=", $value);
}
}

View File

@ -34,8 +34,11 @@ class GoodsCombinationController extends Controller
$orderRestTime = DeveloperConfig::query()
->where('key', DeveloperConfig::$ORDER_RESET_TIME)
->value('value');
$time = date('Y-m-d 07:00:00');
if (is_null($orderRestTime)) {
$orderRestTime = date('Y-m-d 07:00:00');
$orderRestTime = $time;
} else {
$orderRestTime = Carbon::parse($orderRestTime)->lt(Carbon::parse($time)) ? $time : $orderRestTime;
}
$businessOrderItems = BusinessOrderItem::query()

View File

@ -59,8 +59,11 @@ class GoodsSkusController extends Controller
$orderRestTime = DeveloperConfig::query()
->where('key', DeveloperConfig::$ORDER_RESET_TIME)
->value('value');
$time = date('Y-m-d 07:00:00');
if (is_null($orderRestTime)) {
$orderRestTime = date('Y-m-d 07:00:00');
$orderRestTime = $time;
} else {
$orderRestTime = Carbon::parse($orderRestTime)->lt(Carbon::parse($time)) ? $time : $orderRestTime;
}
$businessOrderItems = BusinessOrderItem::query()
->select(DB::raw($fields))

View File

@ -74,6 +74,7 @@ class CombinationGoodsStockUpdateListener implements ShouldQueue
$goodsSku->stock = $stock;
$goodsSku->sale_stock = $saleStock;
$goodsSku->save();
Log::info("sku 业务订单库存更:{$goodsSku->id},num:{$num}", [$stock, $saleStock]);
$mainGoodsSku = GoodsSku::query()->find($item['goods_sku_id']);
$mainGoodsSku->stock = min($mainGoodsSku->stock, (int)($stock / $item['item_num']));
$mainGoodsSku->sale_stock = min($mainGoodsSku->sale_stock, (int)($saleStock / $item['item_num']));

View File

@ -16,7 +16,13 @@ class GoodsSku extends Model
'external_sku_id',
'is_combination',
"create_time_start",
"create_time_end"
"create_time_end",
'min_stock',
'max_stock',
'min_sale_stock',
'max_sale_stock',
"neq_stock",
"neq_sale_stock",
];
protected $fillable = [

View File

@ -28,8 +28,7 @@ class EventServiceProvider extends ServiceProvider
protected $listen = [
BusinessOrdersUpdate::class => [
UpdateBusinessGoodsStock::class,
CombinationGoodsStockUpdateListener::class,
BusinessOrderUpdateListener::class
CombinationGoodsStockUpdateListener::class
],
BatchStockUpdateEvent::class => [
BatchStockUpdateListener::class,