904118851 5 mesi fa
parent
commit
6dbd3f2db5

+ 53 - 47
2_PRODUCT_FACTORY/hy_batch_factory.js

@@ -71,69 +71,75 @@ async function processTask(){
         }
         let FilterConfig = await redis_help.getKeyValue("FilterConfig")
         FilterConfig = JSON.parse(FilterConfig)
-        result = await filter_data_controllers.getFilterDataByStatusAndLimit({ status: 0 , tg_platform_id: config.platform_heiyan },500,"DESC");
+        result = await filter_data_controllers.getFilterDataByStatusAndLimit({ status: 0 , tg_platform_id: config.platform_heiyan },1,"DESC");
         if(result.success){
-            let ProductIds = []
-            let FilterList = []
-            let UpdateProductList = []
+            // let ProductIds = []
+            // let FilterList = []
+            // let UpdateProductList = []
             if(result.data.length<=0){
                 throw '没有数据可处理!'
             }
             for (let index = 0; index < result.data.length; index++) {
                 let filter_item = result.data[index];
-                ProductIds.push(filter_item.book_id)
-                FilterList[filter_item.book_id] = filter_item
-                if(UpdateProductList[filter_item.book_id]==null){
-                    UpdateProductList[filter_item.book_id]= []
+                let product_info = await video_product_controllers.getProductData(filter_item.book_id);
+                if(!product_info.success){
+                    task_queue.push({result:{data:filter_item}})
+                }else{
+                    await filter_data_controllers.updateFilterData({id:filter_item.id},{status:1,book_id:filter_item.book_id,book_name:filter_item.book_name,genre:filter_item.genre,words:filter_item.words})
                 }
-                UpdateProductList[filter_item.book_id].push(filter_item.id)
+                // ProductIds.push(filter_item.book_id)
+                // FilterList[filter_item.book_id] = filter_item
+                // if(UpdateProductList[filter_item.book_id]==null){
+                //     UpdateProductList[filter_item.book_id]= []
+                // }
+                // UpdateProductList[filter_item.book_id].push(filter_item.id)
             }
 
-            let product_list_result = await video_product_controllers.findNonExistentProductIds(ProductIds);
-            if(product_list_result.success){
-                let FinishProductList = []
-                for (let index = 0; index < result.data.length; index++) {
-                    let filter_item = result.data[index];
-                    if(product_list_result.data.existingProductIds.has(filter_item.book_id)&&!FinishProductList[filter_item.book_id]){
-                        let info = filter_item;
-                        FinishProductList[filter_item.book_id] = true
-                        let product_item = getProductById(product_list_result.data.existingRecords,filter_item.book_id)
-                        if (!info) {
-                            throw `No filter info found for book_id: ${filter_item.book_id}`
-                        }
-                        if (!product_item) {
-                            throw `product_item is null: ${filter_item.book_id}`
-                        }
-                        info.words = product_item.words
-                        info.genre =  product_item.genre
-                        info.book_id = product_item.product_id
-                        info.book_name = product_item.product_name
-                        info.book_platform = product_item.book_platform
-                        await CMD.update_filter_data(FilterConfig,info)
-                        await updateSameProductId(UpdateProductList[info.book_id],info)
-                        await new Promise(resolve => setTimeout(resolve,100));
-                    }
-                }
-
-                let remove_product_list = []
-
-                for (let index = 0; index < product_list_result.data.nonExistentIds.length; index++) {
-                    const product_id = product_list_result.data.nonExistentIds[index];
-                    if(remove_product_list[product_id]==true){
+            // let product_list_result = await video_product_controllers.findNonExistentProductIds(ProductIds);
+            // if(product_list_result.success){
+            //     let FinishProductList = []
+            //     for (let index = 0; index < result.data.length; index++) {
+            //         let filter_item = result.data[index];
+            //         if(product_list_result.data.existingProductIds.has(filter_item.book_id)&&!FinishProductList[filter_item.book_id]){
+            //             let info = filter_item;
+            //             FinishProductList[filter_item.book_id] = true
+            //             let product_item = getProductById(product_list_result.data.existingRecords,filter_item.book_id)
+            //             if (!info) {
+            //                 throw `No filter info found for book_id: ${filter_item.book_id}`
+            //             }
+            //             if (!product_item) {
+            //                 throw `product_item is null: ${filter_item.book_id}`
+            //             }
+            //             info.words = product_item.words
+            //             info.genre =  product_item.genre
+            //             info.book_id = product_item.product_id
+            //             info.book_name = product_item.product_name
+            //             info.book_platform = product_item.book_platform
+            //             await CMD.update_filter_data(FilterConfig,info)
+            //             await updateSameProductId(UpdateProductList[info.book_id],info)
+            //             await new Promise(resolve => setTimeout(resolve,100));
+            //         }
+            //     }
+
+            //     let remove_product_list = []
+
+            //     for (let index = 0; index < product_list_result.data.nonExistentIds.length; index++) {
+            //         const product_id = product_list_result.data.nonExistentIds[index];
+            //         if(remove_product_list[product_id]==true){
           
-                    }else{
-                        remove_product_list[product_id] = true
-                        task_queue.push({result:{data:FilterList[product_id]}})
-                    }
-                }
+            //         }else{
+            //             remove_product_list[product_id] = true
+            //             task_queue.push({result:{data:FilterList[product_id]}})
+            //         }
+            //     }
 
-            }
+            // }
             
         }
     }catch(e){
         console.error("processTask error:",e)
     } finally{
-        global.setTimeout(processTask, 1000);
+        global.setTimeout(processTask, 2000);
     }
 
 }

+ 5 - 0
logs/combined.log

@@ -8,3 +8,8 @@
 2025-03-31T16:40:27: > node tg_factory_main.js
 2025-03-31T16:40:27: 
 2025-03-31T16:40:31: Connected to Redis
+2025-03-31T17:18:41: 
+2025-03-31T17:18:41: > heiyan@1.0.0 start
+2025-03-31T17:18:41: > node tg_factory_main.js
+2025-03-31T17:18:41: 
+2025-03-31T17:18:45: Connected to Redis

+ 5 - 0
logs/out.log

@@ -8,3 +8,8 @@
 2025-03-31T16:40:27: > node tg_factory_main.js
 2025-03-31T16:40:27: 
 2025-03-31T16:40:31: Connected to Redis
+2025-03-31T17:18:41: 
+2025-03-31T17:18:41: > heiyan@1.0.0 start
+2025-03-31T17:18:41: > node tg_factory_main.js
+2025-03-31T17:18:41: 
+2025-03-31T17:18:45: Connected to Redis

BIN
src/api/hy/qr.gif


BIN
src/api/hy/qr_resized.gif


+ 22 - 0
src/data_manager/Controllers/filter_data_controllers.js

@@ -2,6 +2,28 @@ const filter_data_model =  require('../Model/filter_data_model');
 
 class filter_data_controllers {
 
+    async getFilterDataByWeight(params) {
+        try {
+ 
+            const filterData = await filter_data_model.findOne({ status:params.status,tg_platform_id: params.tg_platform_id,weight:params.weight });
+
+            if (!filterData) {
+                return {
+                    success: false,
+                    data: null
+                };
+            }
+
+            return {
+                success: true,
+                data: filterData
+            };
+        } catch (error) {
+
+            throw error;
+        }
+    }
+
     async findNonExistentVideoIDs(videoIds) {
         try {
             // 参数验证