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);
+        });
     }
 
 }