904118851 5 months ago
parent
commit
3ad4033ec4

+ 29 - 13
0_RECEIVE_FACTORY/RECEIVE_FACTORY.js

@@ -155,18 +155,33 @@ CMD.get_hy_SiteTemplate = function(res){
 }
 
 
-CMD.get_hy_passBackTemplate = function(res){
-    let get_hy_call_back_template = require('../src/api/hy/get_hy_call_back_template');
-        get_hy_call_back_template.get_callback_template((data)=>{
-        res.writeHead(200, {'Content-Type': 'application/json'});
-        if(data.code==200){
-            let list = data.data
-            res.end(JSON.stringify({ message:"成功!",data:list,code:10000}));
-        }else{
-            res.end(JSON.stringify({ message:"fail!",data:data,code:data.code}));
-        }
-        console.log("get_hy_passBackTemplate:",data)
-    })
+CMD.get_hy_passBackTemplate = function(res,is_free){
+    if(is_free){
+        let get_hy_call_back_template = require('../src/api/hy/get_hy_call_back_template');
+            get_hy_call_back_template.adPassBackTemplate((data)=>{
+            res.writeHead(200, {'Content-Type': 'application/json'});
+            if(data.code==200){
+                let list = data.data
+                res.end(JSON.stringify({ message:"成功!",data:list,code:10000}));
+            }else{
+                res.end(JSON.stringify({ message:"fail!",data:data,code:data.code}));
+            }
+            console.log("get_hy_passBackTemplate:",data)
+        })
+    }else{
+        let get_hy_call_back_template = require('../src/api/hy/get_hy_call_back_template');
+            get_hy_call_back_template.get_callback_template((data)=>{
+            res.writeHead(200, {'Content-Type': 'application/json'});
+            if(data.code==200){
+                let list = data.data
+                res.end(JSON.stringify({ message:"成功!",data:list,code:10000}));
+            }else{
+                res.end(JSON.stringify({ message:"fail!",data:data,code:data.code}));
+            }
+            console.log("get_hy_passBackTemplate:",data)
+        })
+    }
+
 }
 
 CMD.get_fq_callback_template = async function(res,distributor_id) {
@@ -433,7 +448,8 @@ var server = http.createServer(function(req,res){
                     }else if(jsonData['fun']=="get_hy_SiteTemplate"&&jsonData['cmd']=="hy_link"){
                         CMD.get_hy_SiteTemplate(res) 
                     }else if(jsonData['fun']=="passBackTemplate"&&jsonData['cmd']=="hy_link"){
-                        CMD.get_hy_passBackTemplate(res) 
+                        let is_free = jsonData['data']['is_free']
+                        CMD.get_hy_passBackTemplate(res,is_free) 
                     }else if(jsonData['fun']=="rechargeTemplate"&&jsonData['cmd']=="fq_link"){
                         let distributor_id = jsonData['data']['distributor_id']
                         CMD.get_fq_rechargeTemplate(res,distributor_id) 

+ 18 - 1
2_PRODUCT_FACTORY/collect_hy_book.js

@@ -1,6 +1,8 @@
 //执行一个寻找黑岩任务
 const CMD = {}
+const { head } = require('request')
 let hy_search_book = require('../src/api/hy/hy_search_book')
+const helper = require('../src/helper')
 CMD.runTask = async function(data){
     // console.log("执行一个寻找黑岩任务:",data)
     let book_info = await  hy_search_book.search_id(data.book_id)
@@ -21,12 +23,27 @@ CMD.runTask = async function(data){
     // if(typeDesc=="中篇"){
     //     data.genre = 2;
     // }
-    if(typeDesc=="长篇"){
+
+    // console.log("book_info:",book_info)
+
+    if(words>100000){
         data.genre = 1;
     }else{
         data.genre = 3;
     }
 
+    data.is_c500 = false
+
+    if(helper.checkChannel(book_name,'C500')){ //番茄免费短篇
+        data.is_c500 = true
+        data.genre = 3;
+    }
+    // if(typeDesc=="长篇"){
+    //     data.genre = 1;
+    // }else{
+    //     data.genre = 3;
+    // }
+
     // if(typeDesc=="短篇"){
     //     data.genre = 3;
     // }

+ 17 - 3
2_PRODUCT_FACTORY/hy_batch_factory.js

@@ -156,9 +156,19 @@ async function processCreateTask(){
                 if(tg_platform_id==config.platform_heiyan){
                     let hy_book_data = await require('./collect_hy_book').runTask(result.data)
                     if(hy_book_data!=null){
-                        // if(CMD.isGenre(FilterConfig,hy_book_data.genre)){
-                        //     await CMD.insert_product(hy_book_data)
-                        // }
+                        if(hy_book_data.is_c500){
+                            hy_book_data.tg_platform_id = config.platform_heiyanmf
+                        }
+    
+                        if(hy_book_data.genre==1){ //长篇给黑岩免费长篇添加进去
+                            await CMD.insert_product({
+                                tg_platform_id:config.platform_heiyanmf,
+                                book_name:hy_book_data.book_name,
+                                genre:hy_book_data.genre,
+                                book_id:hy_book_data.book_id,
+                                words:hy_book_data.words
+                            })
+                        }
                         await CMD.insert_product(hy_book_data)
                         result.data.words = hy_book_data.words
                         result.data.genre = hy_book_data.genre
@@ -343,6 +353,10 @@ CMD.update_filter_data = async function(FilterConfig,data) {
                                     promotion_id:"",
                                     wait_status:0,
                                 }
+
+                                if(main_info.pay_type==0){
+                                    table_data.book_platform = config.platform_heiyanmf
+                                }
                                 //没有找到 可以创建
                                 await video_applet_product_controllers.createAppletProductData(table_data)
                             }

+ 13 - 0
2_PRODUCT_FACTORY/hy_factory.js

@@ -64,6 +64,19 @@ async function processCreateTask(){
                 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(hy_book_data.is_c500){
+                        hy_book_data.tg_platform_id = config.platform_heiyanmf
+                    }
+
+                    if(hy_book_data.genre==1){ //长篇给黑岩免费长篇添加进去
+                        await CMD.insert_product({
+                            book_platform:config.platform_heiyanmf,
+                            product_name:hy_book_data.book_name,
+                            genre:hy_book_data.genre,
+                            product_id:hy_book_data.book_id,
+                            words:hy_book_data.words
+                        })
+                    }
                     // if(CMD.isGenre(FilterConfig,hy_book_data.genre)){
                     //     await CMD.insert_product(hy_book_data)
                     // }

+ 1 - 0
5_CREATE_LINK_FACTORY/CREATE_LINK_FACTORY.js

@@ -64,6 +64,7 @@ async function processTask(){
                     status:2,
                     wait_status:2,
                     error_info:JSON.stringify({msg:"当前书在黑名单"})
+                    ,error_type:1
                 })
                 throw "当前书在黑名单"
             }

+ 1 - 0
5_CREATE_LINK_FACTORY/dz_create_link_factory.js

@@ -101,6 +101,7 @@ async function processTask(){
                     status:2,
                     wait_status:2,
                     error_info:JSON.stringify({msg:"当前书在黑名单"})
+                    ,error_type:1
                 })
                 throw "当前书在黑名单"
             }

+ 1 - 0
5_CREATE_LINK_FACTORY/fq_create_link_factory.js

@@ -101,6 +101,7 @@ async function processTask(){
                     status:2,
                     wait_status:2,
                     error_info:JSON.stringify({msg:"当前书在黑名单"})
+                    ,error_type:1
                 })
                 throw "当前书在黑名单"
             }

+ 1 - 0
5_CREATE_LINK_FACTORY/fqmf_create_link_factory.js

@@ -101,6 +101,7 @@ async function processTask(){
                     status:2,
                     wait_status:2,
                     error_info:JSON.stringify({msg:"当前书在黑名单"})
+                    ,error_type:1
                 })
                 throw "当前书在黑名单"
             }

+ 1 - 0
5_CREATE_LINK_FACTORY/hy_create_link_factory.js

@@ -100,6 +100,7 @@ async function processTask(){
                     status:2,
                     wait_status:2,
                     error_info:JSON.stringify({msg:"当前书在黑名单"})
+                    ,error_type:1
                 })
                 throw "当前书在黑名单"
             }

+ 175 - 0
5_CREATE_LINK_FACTORY/hymf_create_link.js

@@ -0,0 +1,175 @@
+//执行一个创建黑岩链接任务
+const CMD = {}
+const axios = require('axios');
+let get_hy_recharge_template = require('../src/api/hy/get_hy_recharge_template')
+let get_hy_paid_point = require('../src/api/hy/get_hy_paid_point')
+let get_hy_call_back_template = require('../src/api/hy/get_hy_call_back_template');
+const tools = require('../tools');
+const HttpClient = require('../src/HttpClient');
+const helper = require('../src/helper');
+const config = require('../etc/config.json')
+//卡点
+function get_paid_point(book_id,kadian_name,call_back){
+  let chapter_num = parseInt(kadian_name)
+  if(chapter_num==0||chapter_num>10){
+    return call_back("")
+  }
+  get_hy_paid_point.get_hy_paid_point(book_id,(data)=>{
+        if(chapter_num>=data.rows.length){
+          call_back("")
+        }else{
+          call_back(""+chapter_num)
+        }
+  })
+}
+//回传
+function get_call_back(huichuan_name,call_back){
+  get_hy_call_back_template.get_callback_template((data)=>{
+      if(data.code==200){
+        let is_find = false
+        for (let index = 0; index < data.data.length; index++) {
+          const obj = data.data[index];
+          if(obj.value==huichuan_name){
+            is_find = true
+            call_back(obj.key)
+            break
+          }
+        }
+        if(!is_find){
+          call_back('6')
+        }
+      }else{
+        call_back('6')
+      }
+  })
+}
+
+function get_recharge_template(book_id,chongzhi_name,call_back){
+  get_hy_recharge_template.get_recharge_template(book_id,(data)=>{
+      if(data.code==200){
+        let is_find = false
+        for (let index = 0; index < data.data.length; index++) {
+          const obj = data.data[index];
+          if(obj.value==chongzhi_name){
+            is_find = true
+            call_back(obj.key)
+            break
+          }
+        }
+        if(!is_find){
+          call_back('0')
+        }
+      }else{
+        call_back('0')
+      }
+  })
+}
+CMD.runTask = function(data,main_info,PlatformInfo,call_back){
+  let group_id = main_info.group_id
+  if(group_id==null||group_id==""){
+    group_id = "35"
+  }
+  let  tg_link_config = JSON.parse(main_info.tg_link_config)
+  let kadian_id = tg_link_config['kadian_id']
+  // let chongzhi_id = tg_link_config['chongzhi_id']
+  let huichuan_id = tg_link_config['huichuan_id']
+  // let chongzhi_list = JSON.parse(PlatformInfo.chongzhi)
+  let huichuan_list = JSON.parse(PlatformInfo.huichuan)
+  let kadian_list = JSON.parse(PlatformInfo.kadian)
+  let chongzhi_name = null
+  let huichuan_name = null
+  let kadian_name = null
+  let tg_config = {
+    chongzhi_key:'',
+    huichuan_key:'',
+    kadian_key:''
+  }
+
+  for (let index = 0; index < huichuan_list.length; index++) {
+    const hc_obj = huichuan_list[index];
+    if(hc_obj.id==huichuan_id){
+      huichuan_name = hc_obj.name
+      tg_config.huichuan_key = hc_obj.value
+      break
+    }
+  }
+
+  for (let index = 0; index < kadian_list.length; index++) {
+    const kd_obj = kadian_list[index];
+    if(kd_obj.id==kadian_id){
+      kadian_name = kd_obj.name
+      break
+    }
+  }
+
+  let create_hy_link = async () =>{
+
+      let passBackTemplateId = tg_config.huichuan_key; //回传模板
+      let paidPoint = tg_config.kadian_key; //卡点
+      console.log("tg_config:",tg_config,group_id)
+      try{
+        let clinet = new HttpClient()
+        const postData = {
+          cmd:"create_link",
+          name:data.product_name,
+          bookId:data.product_id,
+          adpassBackTemplateId:passBackTemplateId,
+          paidPoint:paidPoint,
+          token:await tools.getHyToken()
+        };
+        let t_data = {
+          "name": `${postData.name}_${main_info.id}`,
+          "bookId": postData.bookId,
+          "passBackTemplateId":  "",
+          "adPassbackTemplateId": postData.adpassBackTemplateId,
+          "topUpTemplateId": '0',
+          "mediaChannel": "1",
+          "group": group_id, 
+          "paidPoint": postData.paidPoint,
+          "site": PlatformInfo.mini_program_platform_id==config.wx?"7": "5" 
+        }
+
+        console.log("t_data:",t_data)
+
+        let res =  await clinet.otherPost( helper.getHyCreateLinkOpt(postData.token) ,t_data)
+        if(res['code']==500){
+            throw res
+        }
+
+        if(res['code']==10001){
+            console.log("作品不存在:",data)
+            throw res
+        }
+        if(res['code']!=200){
+            throw res
+        }
+
+        let response = {
+            "message": "create_link successfully",
+            "received_data":{
+                            "appId":res["data"]["appId"],
+                            "launchPath":res["data"]["launchPath"],
+                            "fullPath":res["data"]["fullPath"],
+                            "wxMountLink":res["data"]["wxMountLink"]}
+        }
+        let params = response.received_data.fullPath.split('?')
+        let start_page = params[0]
+        let start_param = params[1]
+        const linkId = start_param.match(/linkId=([^&]*)/)[1];
+        data.promotion_id = linkId
+        data.start_page = start_page
+        data.start_param = start_param
+        call_back(data) 
+      }catch(e){
+        call_back(data,e)
+        console.error('There was an error!', e);
+      }
+  }
+
+  get_paid_point(data.book_id,kadian_name,(kadian_key)=>{
+    tg_config.kadian_key = kadian_key
+    create_hy_link()
+  })
+}
+
+module.exports = CMD;

+ 178 - 0
5_CREATE_LINK_FACTORY/hymf_create_link_factory.js

@@ -0,0 +1,178 @@
+const CMD = {}
+const time_count = 200;
+const redis_help = require('../src/use_redis');
+const video_applet_product_controllers = require('../src/data_manager/Controllers/video_applet_product_controllers');
+var hy_create_link_task_list = []
+const config = require('../etc/config.json')
+let finish_call_back = async function(new_data,error_info=null){
+    try{
+        if(new_data.start_page != null && error_info==null){
+            const result = await video_applet_product_controllers.updateData({id:new_data.id},{
+                dy_small_program_start:new_data.start_page,
+                dy_small_program_start_data:new_data.start_param,
+                promotion_id:new_data.promotion_id,
+                wait_status:1,
+                status:0
+            })
+        }else{
+            const result = await video_applet_product_controllers.updateData({id:new_data.id},{
+                status:2,
+                wait_status:2,
+                error_info:JSON.stringify(error_info)
+            })
+        }
+  
+    }catch(e){
+        console.log("finish_call_back error:",e)
+    }
+   
+}
+CMD.isBlackBook = function(all_black_books,book_id){
+    if(all_black_books==null){
+        return false
+    }
+    for (let index = 0; index < all_black_books.length; index++) {
+        const black_book = all_black_books[index];
+        if(black_book.product_id==book_id){
+            return true
+        }
+    }
+    return false
+}
+
+CMD.getPlatformInfo = function(PlatformConfig,tg_platform_id){
+    for (let index = 0; index < PlatformConfig.length; index++) {
+        const element = PlatformConfig[index];
+        if(element.tg_platform_id==tg_platform_id){
+            return element
+        }
+    }
+}
+CMD.getSharedPlatform = function(PlatformShared,platform_shared_id){
+    for (let index = 0; index < PlatformShared.length; index++) {
+        const element = PlatformShared[index];
+        if(element.id==platform_shared_id){
+            return JSON.parse(element.info)
+        }
+    }
+}
+async function processTask(){
+    try{
+        let MainConfig = await redis_help.getKeyValue("MainConfig")
+        MainConfig = JSON.parse(MainConfig)
+        let PlatformConfig = await redis_help.getKeyValue("PlatformConfig")
+        PlatformConfig = JSON.parse(PlatformConfig)
+
+
+        let black_books = await redis_help.getKeyValue("all_black_books")
+        
+        if(black_books!=null){
+            black_books = JSON.parse(black_books)
+        }
+       
+   
+        let result = await video_applet_product_controllers.getAppletProductDataByStatus({status:0,wait_status:0,book_platform:config.platform_heiyanmf})
+        
+    
+        if(result==null){
+            return
+        }
+
+        if(result.success){
+
+            if(CMD.isBlackBook(black_books,result.data.product_id)){
+                await video_applet_product_controllers.updateData({id:result.data.id},{
+                    status:2,
+                    wait_status:2,
+                    error_info:JSON.stringify({msg:"当前书在黑名单"}),
+                    error_type:1,
+                })
+                throw "当前书在黑名单"
+            }
+            let main_info = CMD.getMainInfoById(MainConfig,result.data.main_id)
+
+            if(main_info==null&&result.data.is_close_execution==1){
+                let CloseMainConfig = await redis_help.getKeyValue("CloseMainConfig")
+                CloseMainConfig = JSON.parse(CloseMainConfig)
+                main_info = CMD.getMainInfoById(CloseMainConfig,result.data.main_id)
+            }
+
+            if(main_info==null){
+                await video_applet_product_controllers.updateData({id:result.data.id},{
+                    status:2,
+                    wait_status:2,
+                    error_info:JSON.stringify({msg:"主体配置错误:"})
+                })
+                console.error("主体配置错误:",result)
+                throw "主体配置错误:"
+            }
+            
+            let PlatformInfo = null
+            
+            PlatformInfo = CMD.getPlatformInfoById(PlatformConfig,main_info.tg_platform_id)
+
+            if(PlatformInfo==null){
+                await video_applet_product_controllers.updateData({id:result.data.id},{
+                    status:2,
+                    wait_status:2,
+                    error_info:JSON.stringify({msg:"平台配置错误:"})
+                })
+                console.error("平台配置错误:",result)
+                throw "平台配置错误:"
+            }
+
+
+            hy_create_link_task_list.push({
+                n_data:result.data,
+                main_info:main_info,
+                PlatformInfo:PlatformInfo
+            })
+           
+        }
+
+        if(hy_create_link_task_list.length>0){
+            let hy_create_link_task = hy_create_link_task_list.pop()
+            require('./hymf_create_link').runTask(hy_create_link_task.n_data
+                ,hy_create_link_task.main_info,
+                hy_create_link_task.PlatformInfo,finish_call_back)
+        }
+
+        await new Promise(resolve => setTimeout(resolve,100));
+
+    }catch(e){
+        console.log("CREATE_LINK_FACTORY error:",e)
+        finish_call_back(null,{"MESSAGE":"CREATE_LINK_FACTORY error:"})
+    } finally{
+        global.setTimeout(processTask,time_count)
+    }
+}
+CMD.init = function(){
+    redis_help.connect((results)=>{
+        if(results){
+        }
+    })
+    processTask()
+}
+
+
+CMD.getPlatformInfoById = function(PlatformConfig,tg_platform_id){
+    for (let index = 0; index < PlatformConfig.length; index++) {
+        const element = PlatformConfig[index];
+        if(element.tg_platform_id==tg_platform_id){
+            return element
+        }
+    }
+    return null
+}
+
+CMD.getMainInfoById = function(MainConfig,main_id){
+    // console.log("MainConfig:",MainConfig)
+    for (let index = 0; index < MainConfig.length; index++) {
+        const element = MainConfig[index];
+        if(element.id==main_id){
+            return element
+        }
+    }
+    return null
+}
+CMD.init()

+ 1 - 0
5_CREATE_LINK_FACTORY/qm_create_link_factory.js

@@ -97,6 +97,7 @@ async function processTask(){
                     status:2,
                     wait_status:2,
                     error_info:JSON.stringify({msg:"当前书在黑名单"})
+                    ,error_type:1
                 })
                 throw "当前书在黑名单"
             }

+ 1 - 0
5_CREATE_LINK_FACTORY/yw_create_link_factory.js

@@ -104,6 +104,7 @@ async function processTask(){
                     status:2,
                     wait_status:2,
                     error_info:JSON.stringify({msg:"当前书在黑名单"})
+                    ,error_type:1
                 })
                 throw "当前书在黑名单"
             }

+ 1 - 0
5_CREATE_LINK_FACTORY/zh_create_link_factory.js

@@ -98,6 +98,7 @@ async function processTask(){
                     status:2,
                     wait_status:2,
                     error_info:JSON.stringify({msg:"当前书在黑名单"})
+                    ,error_type:1
                 })
                 throw "当前书在黑名单"
             }

+ 25 - 26
check_hy_info.js

@@ -5,41 +5,40 @@ const CMD = {}
 
 async function processTask(){
     try{
-        const result = await video_product_controllers.getDataByBookPlatform({book_platform:config.platform_heiyan})
+        const result = await video_product_controllers.getProductDataByBookPlatformAndWordsZero({book_platform:config.platform_heiyan})
         console.log("result:",result)
         if(result.success){
-            for (let index = 0; index < result.data.length; index++) {
-                const product_item =  result.data[index];
-                let hy_book_data = await require('./src/api/hy/hy_search_book').search_id(product_item.product_id)
-                if(hy_book_data!=null){
-                    let genre = 1
-                    if(hy_book_data==undefined||hy_book_data==null){
-                        return null
-                    }
-                    if(hy_book_data.rows==null||hy_book_data.rows==undefined){
-                        return null
-                    }
-                
-                    if(hy_book_data.rows.lenght<=0){
-                        return null
-                    }
-                    let typeDesc = hy_book_data.rows[0].typeDesc; //'中篇',
+            const product_item =  result.data;
+            let hy_book_data = await require('./src/api/hy/hy_search_book').search_id(product_item.product_id)
+            if(hy_book_data!=null){
+                let genre = 1
+                if(hy_book_data==undefined||hy_book_data==null){
+                    return null
+                }
+                if(hy_book_data.rows==null||hy_book_data.rows==undefined){
+                    return null
+                }
+            
+                if(hy_book_data.rows.lenght<=0){
+                    return null
+                }
+                let words = hy_book_data.rows[0].words; //,
 
-                    if(typeDesc=="长篇"){
-                        genre = 1;
-                    }else{
-                        genre = 3;
-                    }
-                    await video_product_controllers.updateData({id:product_item.id},{
-                         genre:genre
-                    })
+                if(words>100000){
+                    data.genre = 1;
+                }else{
+                    data.genre = 3;
                 }
-                await new Promise(resolve => setTimeout(resolve,100));
+                await video_product_controllers.updateData({id:product_item.id},{
+                     genre:genre,
+                     words:words
+                })
             }
         }
     }catch(e){
         console.error("processTask error:",e)
     } finally{
+        global.setTimeout(processTask, 100);
         console.log("finish all!!!!!")
     }
 

BIN
dump.rdb


+ 2 - 1
etc/config.json

@@ -137,5 +137,6 @@
     "platform_dianzhong":4,
     "platform_fanqiemf":7,
     "platform_yuewen":6,
-    "platform_zhihu":15
+    "platform_zhihu":15,
+    "platform_heiyanmf":18
 }

+ 14 - 0
pm2createlink.json

@@ -97,6 +97,20 @@
             "merge_logs": true,
             "exec_mode": "fork",
             "autorestart": true
+        },
+        {
+            "name": "hymf_create_link_factory",
+            "script": "./5_CREATE_LINK_FACTORY/hymf_create_link_factory.js",
+            "node_args": "--max-old-space-size=8192 --expose-gc",
+            "max_memory_restart": "4G",
+            "args": ["--type=data"],
+            "cwd": "/home/tg_factory",
+            "log_date_format": "YYYY-MM-DD HH:mm:ss",
+            "error_file": "./logs/create_link/hymf_create_link_factory.log",
+            "out_file": "./logs/create_link/hymf_create_link_factory.log",
+            "merge_logs": true,
+            "exec_mode": "fork",
+            "autorestart": true
         }
     ]
 }

+ 20 - 2
src/api/hy/create_heiyan_book_link.js

@@ -173,7 +173,20 @@ const DzSpider = class {
     }
   }
 
-
+  async adPassBackTemplate(call_back) {
+    try {
+      const response = await this.session.get('/manage/ad/adPassBackTemplate/mapping', {
+        headers: {
+          'Authorization': `Bearer ${await tools.getHyToken()}`
+        }
+      });
+      call_back(response.data)
+      // console.log('回调模板:', response.data);
+    } catch (error) {
+      call_back({code:-1})
+      console.error('Error adPassBackTemplate:', error);
+    }
+  }
   async groupMapping(call_back) {
     try {
       const response = await this.session.get('/manage/distribution/groupMapping?site=5&type=1', {
@@ -264,6 +277,11 @@ function get_passBack_template(call_back){
   spider.passBackTemplateMapping(call_back)
 }
 
+function adPassBackTemplate(call_back){
+  const spider = new DzSpider();
+  spider.adPassBackTemplate(call_back)
+}
+
 function get_paid_point(bookId,call_back){
   const spider = new DzSpider();
   spider.getChapterList(bookId,call_back)
@@ -278,5 +296,5 @@ function get_SiteMapping(call_back){
   const spider = new DzSpider();
   spider.siteMapping(call_back)
 }
-module.exports = {send,login,get_recharge_template,get_paid_point,get_passBack_template,get_groupMapping,get_SiteMapping}
+module.exports = {adPassBackTemplate,send,login,get_recharge_template,get_paid_point,get_passBack_template,get_groupMapping,get_SiteMapping}
 

+ 5 - 0
src/api/hy/get_hy_call_back_template.js

@@ -4,4 +4,9 @@ CMD.get_callback_template = function(call_back){
     let create_heiyan_book_link = require('./create_heiyan_book_link')
     create_heiyan_book_link.get_passBack_template(call_back)
 }
+
+CMD.adPassBackTemplate = function(call_back){
+    let create_heiyan_book_link = require('./create_heiyan_book_link')
+    create_heiyan_book_link.adPassBackTemplate(call_back)
+}
 module.exports = CMD;

BIN
src/api/hy/qr.gif


BIN
src/api/hy/qr_resized.gif