Przeglądaj źródła

[智价云] 采集时间回填

tangyuanwang 1 dzień temu
rodzic
commit
6b16e2cb44

+ 103 - 0
app/Http/Controllers/Manager/Process/CollectData.php

@@ -0,0 +1,103 @@
+<?php
+
+namespace App\Http\Controllers\Manager\Process;
+
+use App\Http\Controllers\Controller;
+use Illuminate\Http\Request;
+use App\Models\Manager\Process\LowPriceGoods as LowPriceGoodsModel;
+use App\Models\Manager\Process\ViolationProduct as ViolationProductModel;
+use App\Models\Manager\Process\ViolationStore as ViolationStoreModel;
+
+/**
+ * 清洗后的数据处理
+ * @author    唐远望
+ * @version   1.0
+ * @date      2026-04-29
+ */
+class CollectData extends Controller
+{
+    /**
+     * 低价商品清洗数据回填
+     * @author: 唐远望
+     * @version: 1.0
+     * @date: 2026-04-29
+     */
+    public function low_price_product_collect_data(LowPriceGoodsModel $LowPriceGoodsModel)
+    {
+        //获取非导入的低价商品清洗数据
+        $map = [];
+        $map[] = ['process_lowprice_product.source_id', '!=', '0'];
+        $map[] = ['process_lowprice_product.collection_time', '==', '0'];
+        $map[] = ['scrape_data.insert_time', '!=', 'null'];
+        $limit = '10000';
+        $result = $LowPriceGoodsModel->leftjoin('scrape_data', 'scrape_data.id', '=', 'process_lowprice_product.source_id')
+            ->where($map)->select(['process_lowprice_product.id', 'scrape_data.insert_time as collect_collection_time'])
+            ->orderByDesc('id')->paginate($limit)->toarray();
+        if (!empty($result['data'])) {
+            foreach ($result['data'] as $key => $value) {
+                if (empty($value['collect_collection_time'])) {
+                    continue;
+                }
+                $update_data['collection_time'] = strtotime($value['collect_collection_time']);
+                $LowPriceGoodsModel->where('id', $value['id'])->update($update_data);
+            }
+        }
+        return        json_send(['code' => 'success', 'msg' => '执行成功', 'data' => count($result['data'])]);
+    }
+    /**
+     * 禁止商品清洗数据回填
+     * @author: 唐远望
+     * @version: 1.0
+     * @date: 2026-04-29
+     */
+    public function violation_product_collect_data(ViolationProductModel $ViolationProductModel)
+    {
+        //获取非导入的低价商品清洗数据
+        $map = [];
+        $map[] = ['process_violation_product.source_id', '!=', '0'];
+        $map[] = ['process_violation_product.collection_time', '==', '0'];
+        $map[] = ['scrape_data.insert_time', '!=', 'null'];
+        $limit = '10000';
+        $result = $ViolationProductModel->leftjoin('scrape_data', 'scrape_data.id', '=', 'process_violation_product.source_id')
+            ->where($map)->select(['process_violation_product.id', 'scrape_data.insert_time as collect_collection_time'])
+            ->orderByDesc('id')->paginate($limit)->toarray();
+        if (!empty($result['data'])) {
+            foreach ($result['data'] as $key => $value) {
+                if (empty($value['collect_collection_time'])) {
+                    continue;
+                }
+                $update_data['collection_time'] = strtotime($value['collect_collection_time']);
+                $ViolationProductModel->where('id', $value['id'])->update($update_data);
+            }
+        }
+        return        json_send(['code' => 'success', 'msg' => '执行成功', 'data' => count($result['data'])]);
+    }
+    /**
+     * 违规店铺清洗数据回填
+     * @author: 唐远望
+     * @version: 1.0
+     * @date: 2026-04-29
+     */
+    public function violation_store_collect_data(ViolationStoreModel $ViolationStoreModel)
+    {
+        //获取非导入的低价商品清洗数据
+        $map = [];
+        $map[] = ['process_violation_store.source_id', '!=', '0'];
+        $map[] = ['process_violation_store.collection_time', '==', '0'];
+        $map[] = ['scrape_data.insert_time', '!=', 'null'];
+        $limit = '10000';
+        $result = $ViolationStoreModel->leftjoin('scrape_data', 'scrape_data.id', '=', 'process_violation_store.source_id')
+            ->where($map)->select(['process_violation_store.id', 'scrape_data.insert_time as collect_collection_time'])
+            ->orderByDesc('id')->paginate($limit)->toarray();
+        if (!empty($result['data'])) {
+            foreach ($result['data'] as $key => $value) {
+                if (empty($value['collect_collection_time'])) {
+                    continue;
+                }
+                $update_data['collection_time'] = strtotime($value['collect_collection_time']);
+                $ViolationStoreModel->where('id', $value['id'])->update($update_data);
+            }
+        }
+        return        json_send(['code' => 'success', 'msg' => '执行成功', 'data' => count($result['data'])]);
+    }
+}

+ 8 - 1
routes/manager.php

@@ -434,4 +434,11 @@ Route::any('user/table_config/edit', [App\Http\Controllers\Manager\User\TableCon
 Route::any('user/table_config/detail', [App\Http\Controllers\Manager\User\TableConfig::class, 'detail']);
 Route::any('user/table_config/detail', [App\Http\Controllers\Manager\User\TableConfig::class, 'detail']);
 
 
 //文件下载任务-列表
 //文件下载任务-列表
-Route::any('download_task/list',[\App\Http\Controllers\Manager\Other\DownloadTask::class,'list']);
+Route::any('download_task/list',[\App\Http\Controllers\Manager\Other\DownloadTask::class,'list']);
+
+//清洗后的数据处理-低价商品清洗数据回填
+Route::any('process/Collect_data/low_price_product_collect_data',[\App\Http\Controllers\Manager\Process\CollectData::class,'low_price_product_collect_data']);
+//清洗后的数据处理-违规商品清洗数据回填
+Route::any('process/Collect_data/violation_product_collect_data',[\App\Http\Controllers\Manager\Process\CollectData::class,'violation_product_collect_data']);
+//清洗后的数据处理-违规店铺清洗数据回填
+Route::any('process/Collect_data/violation_store_collect_data',[\App\Http\Controllers\Manager\Process\CollectData::class,'violation_store_collect_data']);