123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217 |
- const CMD = {}
- const time_count = 2000;
- 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 = []
- var fq_create_link_task_list = []
- var dz_create_link_task_list = []
- var qm_create_link_task_list = []
- 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
- }
- 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})
- 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)
- 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 "平台配置错误:"
- }
-
- 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 "主体配置错误:"
- }
- if(result.data.book_platform==1){
- hy_create_link_task_list.push({
- n_data:result.data,
- main_info:main_info,
- PlatformInfo:PlatformInfo
- })
- }
- if(result.data.book_platform==2){
- fq_create_link_task_list.push({
- n_data:result.data,
- main_info:main_info,
- PlatformInfo:PlatformInfo
- })
- }
- if(result.data.book_platform==3){
- qm_create_link_task_list.push({
- n_data:result.data,
- main_info:main_info,
- PlatformInfo:PlatformInfo
- })
- }
- if(result.data.book_platform==4){
- dz_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('./hy_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));
- if(fq_create_link_task_list.length>0){
- let fq_create_link_task = fq_create_link_task_list.pop()
- require('./fq_create_link').runTask(fq_create_link_task.n_data
- ,fq_create_link_task.main_info,
- fq_create_link_task.PlatformInfo,finish_call_back)
- }
- await new Promise(resolve => setTimeout(resolve,100));
- if(dz_create_link_task_list.length>0){
- let dz_create_link_task = dz_create_link_task_list.pop()
- require('./dz_create_link').runTask(dz_create_link_task.n_data
- ,dz_create_link_task.main_info,
- dz_create_link_task.PlatformInfo,finish_call_back)
- }
- await new Promise(resolve => setTimeout(resolve,100));
- if(qm_create_link_task_list.length>0){
- let qm_create_link_task = qm_create_link_task_list.pop()
- require('./qm_create_link').runTask(qm_create_link_task.n_data
- ,qm_create_link_task.main_info,
- qm_create_link_task.PlatformInfo,finish_call_back)
- }
- }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.create_link = function(n_data){
- // if(n_data.book_platform==1){
- // hy_create_link_task_list.push({
- // n_data:n_data,
- // main_info:main_info,
- // PlatformInfo:PlatformInfo
- // })
- // }else if(n_data.book_platform==1){
- // fq_create_link_task_list.push({
- // n_data:n_data,
- // main_info:main_info,
- // PlatformInfo:PlatformInfo
- // })
- // }
- }
- 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()
|