904118851 8 月之前
父节点
当前提交
2af9bdafb7
共有 2 个文件被更改,包括 100 次插入88 次删除
  1. 96 88
      2_PRODUCT_FACTORY/PRODUCT_FACTORY.js
  2. 4 0
      2_PRODUCT_FACTORY/collect_hy_book.js

+ 96 - 88
2_PRODUCT_FACTORY/PRODUCT_FACTORY.js

@@ -29,7 +29,7 @@ async function processTask(){
                 let hy_book_result = await video_product_controllers.getProductData({ book_id: result.data.book_id });
                 if(hy_book_result.success){
                     result.data.words = hy_book_result.data.words
-                    result.data.genre = 3
+                    result.data.genre =  hy_book_result.data.genre
                     result.data.book_id = hy_book_result.data.product_id
                     result.data.book_name = hy_book_result.data.product_name
                 }else{
@@ -40,7 +40,7 @@ async function processTask(){
                 let fq_book_result = await get_fq_book_tab_controllers.getData({ book_id: result.data.book_id });
                 if(fq_book_result.success){//如果番茄书库里有这本书
     
-                    result.data.genre = 3
+                    result.data.genre = fq_book_result.data.genre
                     result.data.book_id = fq_book_result.data.book_id
                     result.data.book_name = fq_book_result.data.info.book_name
                     result.data.words = fq_book_result.data.info.word_number
@@ -75,56 +75,61 @@ async function processTask(){
 }
 
 async function processCreateTask(){
+    let result = null
     try{
         if(task_queue.length>0){
             let task_queue_item = task_queue.pop()
-            let FilterConfig = await redis_help.getKeyValue("FilterConfig")
-            FilterConfig = JSON.parse(FilterConfig)
-            let result = task_queue_item.result
-            let tg_platform_id = result.data.tg_platform_id
-            if(tg_platform_id==1){
-                let hy_book_data = await require('./collect_hy_book').runTask(result.data)
-                if(CMD.isGenre(FilterConfig,hy_book_data.genre)){
-                    await CMD.insert_product(hy_book_data)
-                }
-                result.data.words = hy_book_data.words
-                result.data.genre = hy_book_data.genre
-                result.data.book_id = hy_book_data.book_id
-                result.data.book_name = hy_book_data.book_name
-            }else if(tg_platform_id==2){
-                let client =  new HttpClient()
-                let sid_tt = await tools.getFqSidtt()
-                let response =  await client.proxyRequest( helper.getFqRequestOpt(result.data.book_id,sid_tt))
-                let obj = response['data']
-                let book_name =  obj['novel_data'].book_name
-                let book_id = obj['novel_data'].book_id
-                let genre = CMD.getFqGenre(obj['novel_data'].genre)
-                let words = obj['novel_data'].word_number
-                let fq_book_data = {book_name:book_name,book_id:book_id,genre:genre,words:words,info:JSON.stringify(obj['novel_data'])}
-                let fq_book = {} 
-                fq_book.key = result.data.book_id
-                // console.log("response:",obj,sid_tt)
-                await CMD.add_fq_book(fq_book,fq_book_data)
-                let product_result = await video_product_controllers.getProductData({ book_id: fq_book_data.book_id });
-                if(!product_result.success){ //如果书库也没有
-                    fq_book.tg_platform_id = result.data.tg_platform_id
-                
-                    if(CMD.isGenre(FilterConfig,fq_book_data.genre)){
-                        fq_book_data.tg_platform_id = result.data.tg_platform_id
-                        await CMD.insert_product(fq_book_data)
+            let product = await video_product_controllers.getProductData({ book_id: task_queue_item.result.data.book_id });
+            if(!product.success){
+                let FilterConfig = await redis_help.getKeyValue("FilterConfig")
+                FilterConfig = JSON.parse(FilterConfig)
+                result = task_queue_item.result
+                let tg_platform_id = result.data.tg_platform_id
+                if(tg_platform_id==1){
+                    let hy_book_data = await require('./collect_hy_book').runTask(result.data)
+                    if(CMD.isGenre(FilterConfig,hy_book_data.genre)){
+                        await CMD.insert_product(hy_book_data)
+                    }
+                    result.data.words = hy_book_data.words
+                    result.data.genre = hy_book_data.genre
+                    result.data.book_id = hy_book_data.book_id
+                    result.data.book_name = hy_book_data.book_name
+                }else if(tg_platform_id==2){
+                    let client =  new HttpClient()
+                    let sid_tt = await tools.getFqSidtt()
+                    let response =  await client.proxyRequest( helper.getFqRequestOpt(result.data.book_id,sid_tt))
+                    let obj = response['data']
+                    let book_name =  obj['novel_data'].book_name
+                    let book_id = obj['novel_data'].book_id
+                    let genre = CMD.getFqGenre(obj['novel_data'].genre)
+                    let words = obj['novel_data'].word_number
+                    let fq_book_data = {book_name:book_name,book_id:book_id,genre:genre,words:words,info:JSON.stringify(obj['novel_data'])}
+                    let fq_book = {} 
+                    fq_book.key = result.data.book_id
+                    // console.log("response:",obj,sid_tt)
+                    await CMD.add_fq_book(fq_book,fq_book_data)
+                    let product_result = await video_product_controllers.getProductData({ book_id: fq_book_data.book_id });
+                    if(!product_result.success){ //如果书库也没有
+                        fq_book.tg_platform_id = result.data.tg_platform_id
+                    
+                        if(CMD.isGenre(FilterConfig,fq_book_data.genre)){
+                            fq_book_data.tg_platform_id = result.data.tg_platform_id
+                            await CMD.insert_product(fq_book_data)
+                        }
                     }
+                    result.data.words = words
+                    result.data.genre = fq_book_data.genre
+                    result.data.book_id = fq_book_data.book_id
+                    result.data.book_name = fq_book_data.book_name
                 }
-                result.data.words = words
-                result.data.genre = fq_book_data.genre
-                result.data.book_id = fq_book_data.book_id
-                result.data.book_name = fq_book_data.book_name
             }
-            console.log("result.data:",result.data)
             await CMD.update_filter_data(FilterConfig,result.data)
         }
     }catch(e){
         console.log("error::",e)
-        await filter_data_controllers.updateFilterData({id:result.data.id},{status:2})
+        if(result!=null){
+            await filter_data_controllers.updateFilterData({id:result.data.id},{status:2})
+        }
         console.log("processCreateTask:",e)
     } finally{
         global.setTimeout(processCreateTask, time_count);
@@ -153,13 +158,14 @@ CMD.getFqGenre = function(genre){
 }
 
 CMD.getAppInfoByPlatformId = function(AppConfig,tg_platform_id){
+    let temp = []
     for (let index = 0; index < AppConfig.length; index++) {
         const element = AppConfig[index];
         if(element.tg_platform_id==tg_platform_id){
-            return element
+            temp.push(element)
         }
     }
-    return null
+    return temp
 }
 CMD.isBlackBook = function(all_black_books,book_id){
     if(all_black_books==null){
@@ -215,64 +221,66 @@ CMD.update_filter_data = async function(FilterConfig,data) {
 
         AppConfig = JSON.parse(AppConfig)
 
-        let AppInfo = CMD.getAppInfoByPlatformId(AppConfig,data.tg_platform_id)
+        let AppInfoList = CMD.getAppInfoByPlatformId(AppConfig,data.tg_platform_id)
 
-        data.app_id = AppInfo.app_id
+        for (let index = 0; index < AppInfoList.length; index++) {
+            const AppInfo = AppInfoList[index];
+            data.app_id = AppInfo.app_id
 
-        let PlatformInfo = await redis_help.getKeyValue("PlatformConfig")
+            let PlatformInfo = await redis_help.getKeyValue("PlatformConfig")
 
-        PlatformInfo = JSON.parse(PlatformInfo)
+            PlatformInfo = JSON.parse(PlatformInfo)
 
-        if(PlatformInfo==null){
-            return console.error("平台配置错误:",data)
-        }
+            if(PlatformInfo==null){
+                return console.error("平台配置错误:",data)
+            }
 
-        let MainConfig = await redis_help.getKeyValue("MainConfig")
+            let MainConfig = await redis_help.getKeyValue("MainConfig")
 
-        MainConfig = JSON.parse(MainConfig)
+            MainConfig = JSON.parse(MainConfig)
 
-        let list = CMD.getMainInfoByAppid(MainConfig,data.app_id)
+            let list = CMD.getMainInfoByAppid(MainConfig,data.app_id)
 
-        if(list.length<0){
-            return console.error("获取主体错误:",data)
-        }
+            if(list.length<0){
+                return console.error("获取主体错误:",data)
+            }
 
-        let black_books = await redis_help.getKeyValue("all_black_books")
-        
-        if(black_books!=null){
-            black_books = JSON.parse(black_books)
-        }
+            let black_books = await redis_help.getKeyValue("all_black_books")
+            
+            if(black_books!=null){
+                black_books = JSON.parse(black_books)
+            }
        
-        for (let index = 0; index < list.length; index++) {
-            const main_info = list[index];
-            data.main_id = main_info.id
-            data.main_name = main_info.main_name
-            if(main_info.tg_link_config==undefined||main_info.tg_link_config==null){
-                console.error("主体配置推广链接错误:",main_info)
-            }else{
-                if(!CMD.isBlackBook(black_books,data.book_id)){
-                    //符合标准进行创建表
-                    const result = await video_applet_product_controllers.getAppletProductData({book_id:data.book_id,main_id:data.main_id})
-                    if(!result.success){
-                        //没有找到 可以创建
-                        await video_applet_product_controllers.createAppletProductData({
-                            book_platform:data.tg_platform_id,
-                            product_name:data.book_name,
-                            product_id:data.book_id,
-                            dy_small_program_start:"",
-                            dy_small_program_start_data:"",
-                            dy_small_applet_app_id:data.app_id,
-                            status:0,
-                            main_id:data.main_id,
-                            promotion_id:"",
-                            wait_status:0,
-                        })
+            for (let index = 0; index < list.length; index++) {
+                const main_info = list[index];
+                data.main_id = main_info.id
+                data.main_name = main_info.main_name
+                if(main_info.tg_link_config==undefined||main_info.tg_link_config==null){
+                    console.error("主体配置推广链接错误:",main_info)
+                }else{
+                    if(!CMD.isBlackBook(black_books,data.book_id)){
+                        //符合标准进行创建表
+                        const result = await video_applet_product_controllers.getAppletProductData({book_id:data.book_id,main_id:data.main_id})
+                        if(!result.success){
+                            //没有找到 可以创建
+                            await video_applet_product_controllers.createAppletProductData({
+                                book_platform:data.tg_platform_id,
+                                product_name:data.book_name,
+                                product_id:data.book_id,
+                                dy_small_program_start:"",
+                                dy_small_program_start_data:"",
+                                dy_small_applet_app_id:data.app_id,
+                                status:0,
+                                main_id:data.main_id,
+                                promotion_id:"",
+                                wait_status:0,
+                            })
+                        }
                     }
                 }
             }
         }
-
-    
+        
     }else{
         await filter_data_controllers.updateFilterData({id:data.id},{status:2,book_id:data.book_id,book_name:data.book_name,genre:data.genre})
     }

+ 4 - 0
2_PRODUCT_FACTORY/collect_hy_book.js

@@ -7,6 +7,7 @@ CMD.runTask = async function(data){
     let book_name = book_info.rows[0].name;
     let typeDesc = book_info.rows[0].typeDesc; //'中篇',
     let words = book_info.rows[0].words;  //多少字
+    data.genre = 0
     if(typeDesc=="中篇"){
         data.genre = 2;
     }
@@ -17,6 +18,9 @@ CMD.runTask = async function(data){
     if(typeDesc=="短篇"){
         data.genre = 3;
     }
+    if(data.genre==0){
+        console.log("获取黑岩书籍信息错误:",book_info)
+    }
     data.words = words
     data.book_name = book_name
     return data