904118851 1 сар өмнө
parent
commit
a0a5100a7d

+ 23 - 2
2_PRODUCT_FACTORY/fq_batch_factory.js

@@ -297,12 +297,33 @@ CMD.update_filter_data = async function(FilterConfig,data) {
 }
 
 CMD.insert_product = async function(data){
-    return await video_product_controllers.createProductData({
+    let match_book = "NONE"
+    let iaa_book_info = await require('../src/api/fq/fq_search_book').根据番茄付费ID查询免费书籍(data.book_id)
+    if(iaa_book_info!=null){
+        match_book = iaa_book_info.book_id
+        let iaa_product = await video_product_controllers.getProductData({book_id:iaa_book_info.book_id})
+        if(iaa_product==null){
+            await video_product_controllers.createProductData({
+                book_platform:config.platform_fanqiemf,
+                product_name:iaa_book_info.book_name,
+                genre:iaa_book_info.genre,
+                product_id:iaa_book_info.book_id,
+                words:iaa_book_info.words,
+                author:iaa_book_info.author,
+                publish_time:iaa_book_info.publish_time,
+                match_book:data.book_id,
+                product_parent_id:data.book_id,
+            })
+        }
+    }
+
+    await video_product_controllers.createProductData({
         book_platform:data.tg_platform_id,
         product_name:data.book_name,
         genre:data.genre,
         product_id:data.book_id,
-        words:data.words
+        words:data.words,
+        match_book:match_book
     })
 }
 CMD.add_fq_book = async function(data,response){

+ 23 - 2
2_PRODUCT_FACTORY/fq_factory.js

@@ -451,12 +451,33 @@ CMD.update_filter_data = async function(FilterConfig,data) {
 
 
 CMD.insert_product = async function(data){
-    return await video_product_controllers.createProductData({
+    let match_book = "NONE"
+    let iaa_book_info = await require('../src/api/fq/fq_search_book').根据番茄付费ID查询免费书籍(data.book_id)
+    if(iaa_book_info!=null){
+        match_book = iaa_book_info.book_id
+        let iaa_product = await video_product_controllers.getProductData({book_id:iaa_book_info.book_id})
+        if(!iaa_product.success){
+            await video_product_controllers.createProductData({
+                book_platform:config.platform_fanqiemf,
+                product_name:iaa_book_info.book_name,
+                genre:iaa_book_info.genre,
+                product_id:iaa_book_info.book_id,
+                words:iaa_book_info.words,
+                author:iaa_book_info.author,
+                publish_time:iaa_book_info.publish_time,
+                match_book:data.book_id,
+                product_parent_id:data.book_id,
+            })
+        }
+    }
+
+    await video_product_controllers.createProductData({
         book_platform:data.tg_platform_id,
         product_name:data.book_name,
         genre:data.genre,
         product_id:data.book_id,
-        words:data.words
+        words:data.words,
+        match_book:match_book
     })
 }
 CMD.add_fq_book = async function(data,response){

+ 23 - 2
2_PRODUCT_FACTORY/fq_factory2.js

@@ -323,12 +323,33 @@ CMD.update_filter_data = async function(FilterConfig,data) {
 
 
 CMD.insert_product = async function(data){
-    return await video_product_controllers.createProductData({
+    let match_book = "NONE"
+    let iaa_book_info = await require('../src/api/fq/fq_search_book').根据番茄付费ID查询免费书籍(data.book_id)
+    if(iaa_book_info!=null){
+        match_book = iaa_book_info.book_id
+        let iaa_product = await video_product_controllers.getProductData({book_id:iaa_book_info.book_id})
+        if(!iaa_product.success){
+            await video_product_controllers.createProductData({
+                book_platform:config.platform_fanqiemf,
+                product_name:iaa_book_info.book_name,
+                genre:iaa_book_info.genre,
+                product_id:iaa_book_info.book_id,
+                words:iaa_book_info.words,
+                author:iaa_book_info.author,
+                publish_time:iaa_book_info.publish_time,
+                match_book:data.book_id,
+                product_parent_id:data.book_id,
+            })
+        }
+    }
+
+    await video_product_controllers.createProductData({
         book_platform:data.tg_platform_id,
         product_name:data.book_name,
         genre:data.genre,
         product_id:data.book_id,
-        words:data.words
+        words:data.words,
+        match_book:match_book
     })
 }
 CMD.add_fq_book = async function(data,response){

+ 24 - 1
2_PRODUCT_FACTORY/fq_mf_factory.js

@@ -394,12 +394,35 @@ CMD.update_filter_data = async function(FilterConfig,data) {
 
 
 CMD.insert_product = async function(data){
+    let product_parent_id = data.book_id
+    let match_book = "NONE"
+    let iap_book_info = await require('../src/api/fq/fq_search_book').根据番茄免费ID查询付费书籍(data.book_id)
+    if(iap_book_info!=null){
+        match_book = iap_book_info.book_id
+        let iap_product = await video_product_controllers.getProductData({book_id:iap_book_info.book_id})
+        product_parent_id = iap_book_info.book_id
+        if(!iap_product.success){
+            await video_product_controllers.createProductData({
+                book_platform:config.platform_fanqie,
+                product_name:iap_book_info.book_name,
+                genre:iap_book_info.genre,
+                product_id:iap_book_info.book_id,
+                words:iap_book_info.words,
+                author:iap_book_info.author,
+                publish_time:iap_book_info.publish_time,
+                match_book:data.book_id,
+            })
+        }
+    }
+
     return await video_product_controllers.createProductData({
         book_platform:data.tg_platform_id,
         product_name:data.book_name,
         genre:data.genre,
         product_id:data.book_id,
-        words:data.words
+        words:data.words,
+        product_parent_id:product_parent_id,
+        match_book:match_book
     })
 }
 CMD.add_fq_book = async function(data,response){

+ 19 - 25
2_PRODUCT_FACTORY/qm_batch_factory.js

@@ -68,9 +68,7 @@ async function processTask(){
                         Ids.push(filter_item.id)
                     }
                 }
-
                 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){
@@ -84,7 +82,6 @@ async function processTask(){
                 //     console.log("Ids:",Ids)
                 //     await filter_data_controllers.updateFilterDataByIds({ids:Ids},{status:1})
                 // }
-              
             }
             
         }
@@ -359,13 +356,7 @@ CMD.async_other_books = async function(data) {
 }
 
 CMD.insert_product = async function(data){
-    await video_product_controllers.createProductData({
-        book_platform:data.tg_platform_id,
-        product_name:data.book_name,
-        genre:data.genre,
-        product_id:data.book_id,
-        words:data.words
-    })
+
     //如果七猫库里有对应的免费的书,那么检测是否有此免费的书,如果没有则插入
     let connection  = null
     try{
@@ -381,19 +372,24 @@ CMD.insert_product = async function(data){
         );
 
         console.log("sql:",sql)
-
-        const [rows] = await connection.execute(
-            `SELECT * FROM qm_iap_lib WHERE book_id = ${data.book_id} AND is_have_iaa = 1  LIMIT 1`
-        );
-        if(rows.length<=0){
-
-        }else{
-            let qm_iap_book_info = rows[0]
-            let iaa_book_info = await CMD.getQMMFVideoProduct(qm_iap_book_info.iaa_book_id)
+        let match_book = "NONE"
+        let qm_iap_book_info = await require('../src/api/qm_mf/qm_mf_search_book').根据七猫付费ID查询免费书籍(data.book_id)
+        if(qm_iap_book_info!=null){
+            let iaa_book_info = await CMD.getQMMFVideoProduct(qm_iap_book_info.book_id)
+            match_book = qm_iap_book_info.book_id
             if(iaa_book_info==null){
-                await CMD.addQMMFVideoProduct(qm_iap_book_info.iaa_book_id,data.book_id)
+                await CMD.addQMMFVideoProduct(qm_iap_book_info,data.book_id)
             }
         }
+    
+        await video_product_controllers.createProductData({
+            book_platform:data.tg_platform_id,
+            product_name:data.book_name,
+            genre:data.genre,
+            product_id:data.book_id,
+            words:data.words,
+            match_book:match_book
+        })
     }catch(e){
         console.error("insert_product:",e)
     }finally{
@@ -404,16 +400,14 @@ CMD.insert_product = async function(data){
 }
 
 //插入
-CMD.addQMMFVideoProduct = async function(product_id,product_parent_id){
+CMD.addQMMFVideoProduct = async function(qm_book_data,product_parent_id){
     let connection = await mysql.createConnection({
         ...taskdbConfig,
         multipleStatements: true
     });
-
-    let qm_book_data = await require('../src/api/qm_mf/qm_mf_search_book').search_id_new(product_id)
     if(qm_book_data!=null){
         await connection.execute(
-            `INSERT INTO video_product (product_name,product_id,book_platform,genre,words,product_parent_id)  VALUES ("${qm_book_data.book_name}",${product_id},${config.platform_qmmf},${qm_book_data.genre},"${qm_book_data.words}",${product_parent_id})`
+            `INSERT INTO video_product (product_name,product_id,book_platform,genre,words,product_parent_id,match_book)  VALUES ("${qm_book_data.book_name}",${qm_book_data.book_id},${config.platform_qmmf},${qm_book_data.genre},"${qm_book_data.words}",${product_parent_id},${product_parent_id})`
         );
     }
     await connection.end();
@@ -426,7 +420,7 @@ CMD.getQMMFVideoProduct = async function(product_id){
     });
 
     const [rows] = await connection.execute(
-        `SELECT * FROM video_product WHERE product_id = ${product_id} AND book_platform = ${config.platform_qmmf}  LIMIT 1`
+        `SELECT * FROM video_product WHERE product_id = '${product_id}' AND book_platform = ${config.platform_qmmf}  LIMIT 1`
     );
     await connection.end();
 

+ 10 - 25
2_PRODUCT_FACTORY/qm_mf_batch_factory.js

@@ -295,7 +295,8 @@ CMD.update_filter_data = async function(FilterConfig,data) {
                             if(butler_video_applet_info==null){
                                 const result = await video_applet_product_controllers.getAppletProductData({book_id:data.book_id,main_id:data.main_id})
                                 if(!result.success){
-                                    let product_parent_id  =  await CMD.get_product_parent_id(data.book_id)
+                                    let product_parent_info  =  await CMD.get_product_parent_info(data.book_id)
+                                    let product_parent_id = product_parent_info==null?data.book_id:product_parent_info.book_id
                                     //没有找到 可以创建
                                     await video_applet_product_controllers.createAppletProductData({
                                         book_platform:config.platform_qmmf,
@@ -325,19 +326,14 @@ CMD.update_filter_data = async function(FilterConfig,data) {
     }
 }
 
-CMD.get_product_parent_id = async function(product_id) {
+CMD.get_product_parent_info = async function(product_id) {
     try{
-        let product_parent_id = product_id
         let iap_book_info = await CMD.getIAPInfo(product_id)
-        if(iap_book_info!=null){
-            product_parent_id = iap_book_info.book_id
-        }
-        return product_parent_id
+        return iap_book_info
     }catch(e){
         console.error("get_product_parent_id err::",e)
-        return ""
+        return null
     }
-    return ""
 
 }
 
@@ -355,7 +351,8 @@ CMD.insert_product = async function(data){
         genre:data.genre,
         product_id:data.book_id,
         words:data.words,
-        product_parent_id:product_parent_id
+        product_parent_id:product_parent_id,
+        match_book:product_parent_id
     }
 
     if(product_parent_id!=data.book_id){
@@ -367,7 +364,8 @@ CMD.insert_product = async function(data){
                 product_name:data.book_name,
                 genre:data.genre,
                 product_id:product_parent_id,
-                words:data.words
+                words:data.words,
+                match_book:data.book_id
             })
         }
     }
@@ -377,20 +375,7 @@ CMD.insert_product = async function(data){
 }
 
 CMD.getIAPInfo = async function(iaa_book_id){
-    let connection = await mysql.createConnection({
-        ...dbConfig,
-        multipleStatements: true
-    });
-
-    const [rows] = await connection.execute(
-        `SELECT * FROM qm_iap_lib WHERE iaa_book_id = ${iaa_book_id} AND is_have_iaa = 1  LIMIT 1`
-    );
-    await connection.end();
-    
-    if(rows.length<=0){
-        return null
-    }
-    return rows[0]
+    return await require('../src/api/qm/qm_search_book').根据七猫免费D查询付费书籍(iaa_book_id)
 }
 
 

BIN
dump.rdb


+ 2 - 0
etc/config.json

@@ -38,6 +38,7 @@
         "secretKey": "CN6KQ8Bauo8JXg5fFPk86EHdRFIUVnyV",
         "get_fq_package_list":"https://www.changdunovel.com/novelsale/openapi/wx/get_package_list/v2",
         "get_bound_package_list":"https://www.changdunovel.com/novelsale/openapi/wx/get_bound_package_list/v1"
+        ,"find_child_book_host":"http://8.155.24.245:8989/getid2/api.php?type=fanqie&id="
     },
     "dianzhong_config": {
         "clientId": 10003204,
@@ -67,6 +68,7 @@
         "recharge_list_host":"https://new-media-fx.qimao.com/api/charge-configure/recharge-panel/list?panel_name=&category=0&page=1&page_size=50&env=&t=",
         "recharge_list_host_new":"https://new-media-mapi.qimao.com/mapi/v1/recharge-panel/list",
         "callbacklist_hots_new":"https://new-media-mapi.qimao.com/mapi/v1/postback-rule/list"
+        ,"find_child_book_host":"http://8.155.24.245:8989/getid2/api.php?type=qimao&id="
     },
     "qimao_mf_config":{
         "admin_account_name":"zhuoyue",

+ 43 - 8
src/api/fq/fq_search_book.js

@@ -14,7 +14,35 @@ const cookies = {
 }
 const temp_cookie = `sid_guard=${cookies.sid_guard}; sessionid=${cookies.sessionid}`
 
-CMD.fq_find_parent_book = async function(bookId){
+CMD.根据番茄免费ID查询付费书籍 = async function(bookId){
+    
+    let client = tools.getOneNewClinet()
+    try{
+        let response = await client.get(`${config.fanqie_config.find_child_book_host}${bookId}`)
+        if(response.data["code"]==401){
+            throw response.data["msg"]
+        }
+        let book_info = response.data
+        // console.log(book_info)
+        let info = {}
+        info.words = book_info.word_count
+        info.book_name =  book_info.book_name
+        info.book_id =  book_info.book_id
+        info.publish_time = book_info.on_shelf_time
+        info.author = book_info.author
+        if(book_info.genre==8){
+            info.genre = 3;
+        }else{
+            info.genre = 1;
+        }
+        return info;
+    }catch(e){
+        console.error("qm_find_parent_book error:",e)
+        return null
+    }
+}
+
+CMD.根据番茄付费ID查询免费书籍 = async function(bookId){
     
     let client = tools.getOneNewClinet()
     try{
@@ -125,15 +153,22 @@ CMD.search_new_id = async function(bookId,call_back){
       'Referrer-Policy': 'strict-origin-when-cross-origin'
     };
     
-    let response = await fetch(url, {
-      method: 'GET',
-      headers: headers
-    })
-    let data = await response.json()
-    if(data.code==0){
+    try{
+        let response = await fetch(url, {
+            method: 'GET',
+            headers: headers
+        })
+        let data = await response.json()
+        if(data.code!=0){
+            throw data
+        }
         return data.data[0]
+    }catch(e){
+        console.error("search_new_id error:",e)
+        return ""
     }
-    return ""
+
+  
 }
 
 

BIN
src/api/hy/qr.gif


BIN
src/api/hy/qr_resized.gif


+ 30 - 0
src/api/qm/qm_search_book.js

@@ -8,7 +8,37 @@ const CMD = {}
 const crypto = require('crypto')
 const { format } = require('date-fns');
 
+CMD.根据七猫免费D查询付费书籍 = async function(bookId){
 
+    let client = tools.getOneNewClinet()
+    try{
+        let response = await client.get(`${config.qimao_config.find_child_book_host}${bookId}`)
+        if(response.data["code"]==401){
+            throw response.data["msg"]
+        }
+
+        if(response.data.length<=0){
+            throw "data 数组是空!"
+        }
+        let book_info = response.data[0]
+        let info = {}
+        info.words =  Math.floor(parseFloat(book_info.book_word_count)*10000)
+        info.book_name =  book_info.book_name
+        info.book_id =  book_info.book_id
+        info.publish_time = book_info.create_time
+        info.author = book_info.book_author
+        if(book_info.book_type_text="短篇"){
+            info.genre = 3;
+        }else{
+            info.genre = 1;
+        }
+        return info;
+    }catch(e){
+        console.error("qm_find_parent_book error:",e)
+        return null
+    }
+
+}
 
 CMD.search_id = async function (bookId) {
     // const url = 'https://new-media-fx.qimao.com/api/content/book/list';

+ 1 - 1
src/api/qm_mf/qm_mf_search_book.js

@@ -8,7 +8,7 @@ const crypto = require('crypto')
 const { format } = require('date-fns');
 const CMD = {}
 
-CMD.qm_find_parent_book = async function(bookId){
+CMD.根据七猫付费ID查询免费书籍 = async function(bookId){
 
     let client = tools.getOneNewClinet()
     try{

+ 6 - 1
src/data_manager/Controllers/video_applet_product_controllers.js

@@ -16,7 +16,12 @@ class video_applet_product_controllers {
                     data: null
                 };
             }
-
+            if (filterData.length<=0) {
+                return {
+                    success: false,
+                    data: null
+                };
+            }
             return {
                 success: true,
                 data: filterData

+ 7 - 0
src/data_manager/Controllers/video_product_controllers.js

@@ -16,6 +16,13 @@ class video_product_controllers {
                     data: null
                 };
             }
+            
+            if (filterData.length<=0) {
+                return {
+                    success: false,
+                    data: null
+                };
+            }
 
             return {
                 success: true,

+ 11 - 2
tg_factory_main.js

@@ -102,8 +102,17 @@ if(config.isDebug){
             // console.log("response:",response.data)
             
 
-            // let data =  await require('./src/api/fq/fq_search_book').fq_find_parent_book('7509277340887695896')
-            // console.log("data:",data)
+            // let data =  await require('./src/api/fq/fq_search_book').根据番茄付费ID查询免费书籍('7521615424115444762')
+            // console.log("免费书籍信息:",data)
+
+            // let data =  await require('./src/api/fq/fq_search_book').根据番茄免费ID查询付费书籍("7521615146410593305")
+            // console.log("付费书籍信息:",data)
+
+            // let data = await require('./src/api/qm/qm_search_book').根据七猫免费D查询付费书籍("1099587")
+            // console.log("付费书籍信息:",data)
+
+            // let data = await require('./src/api/qm_mf/qm_mf_search_book').根据七猫付费ID查询免费书籍("521890")
+            // console.log("免费书籍信息:",data)
             // let data = await require('./src/api/fq/fq_search_book').search_mf_new_id('7375572126402612286')
             // console.log("data:",data)
             // require('./src/api/dz/dz_login').login()