From e2a3472a11ed77e743461f7cf5efb9ba47cc1f09 Mon Sep 17 00:00:00 2001 From: lewis <604446095@qq.com> Date: Fri, 10 Jan 2025 14:21:40 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E5=AE=9A=E6=97=B6=E6=9B=B4?= =?UTF-8?q?=E6=96=B0=E5=87=BA=E5=BA=93=E5=95=86=E5=93=81=E4=BE=9B=E8=B4=A7?= =?UTF-8?q?=E4=BB=B7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- process/Task.php | 32 +++++++++++++++++--------------- 1 file changed, 17 insertions(+), 15 deletions(-) diff --git a/process/Task.php b/process/Task.php index 3206a152b..fb94be224 100644 --- a/process/Task.php +++ b/process/Task.php @@ -138,22 +138,24 @@ class Task */ public function setPurchase() { - $list = WarehouseProduct::where('purchase', 0)->order('id desc')->limit(100)->select()->toArray(); - $productIds = array_unique(array_column($list, 'product_id')); - $products = StoreProduct::whereIn('id', $productIds)->field('id,purchase')->select()->toArray(); - $products = reset_index($products, 'id'); - $update = []; - foreach ($list as $item) { - $product = $products[$item['product_id']] ?? []; - if (empty($product) || empty($product['purchase'])) { - continue; + new Crontab('0 0 * * * *', function () { + $list = WarehouseProduct::where('purchase', 0)->order('id desc')->limit(100)->select()->toArray(); + $productIds = array_unique(array_column($list, 'product_id')); + $products = StoreProduct::whereIn('id', $productIds)->field('id,purchase')->select()->toArray(); + $products = reset_index($products, 'id'); + $update = []; + foreach ($list as $item) { + $product = $products[$item['product_id']] ?? []; + if (empty($product) || empty($product['purchase'])) { + continue; + } + $update[] = [ + 'id' => $item['id'], + 'purchase' => min($product['purchase'], $item['price']), + ]; } - $update[] = [ - 'id' => $item['id'], - 'purchase' => min($product['purchase'], $item['price']), - ]; - } - (new WarehouseProduct())->saveAll($update); + (new WarehouseProduct())->saveAll($update); + }); } }