CREATE_LINK_FACTORY.js 4.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139
  1. const CMD = {}
  2. const time_count = 2000;
  3. const redis_help = require('../src/use_redis');
  4. const video_applet_product_controllers = require('../src/data_manager/Controllers/video_applet_product_controllers');
  5. var hy_create_link_task_list = []
  6. var fq_create_link_task_list = []
  7. let finish_call_back = async function(new_data,error_info=null){
  8. try{
  9. if(new_data.start_page != null && error_info==null){
  10. const result = await video_applet_product_controllers.updateData({id:new_data.id},{
  11. dy_small_program_start:new_data.start_page,
  12. dy_small_program_start_data:new_data.start_param,
  13. promotion_id:new_data.promotion_id,
  14. wait_status:1,
  15. status:0
  16. })
  17. }else{
  18. const result = await video_applet_product_controllers.updateData({id:new_data.id},{
  19. status:2,
  20. wait_status:2,
  21. error_info:JSON.stringify(error_info)
  22. })
  23. }
  24. }catch(e){
  25. console.log("finish_call_back error:",e)
  26. }
  27. }
  28. async function processTask(){
  29. try{
  30. let MainConfig = await redis_help.getKeyValue("MainConfig")
  31. MainConfig = JSON.parse(MainConfig)
  32. let PlatformConfig = await redis_help.getKeyValue("PlatformConfig")
  33. PlatformConfig = JSON.parse(PlatformConfig)
  34. let result = await video_applet_product_controllers.getAppletProductDataByStatus({status:0,wait_status:0})
  35. if(result.success){
  36. let PlatformInfo = null
  37. PlatformInfo = CMD.getPlatformInfoById(PlatformConfig,result.data.book_platform)
  38. if(PlatformInfo==null){
  39. await video_applet_product_controllers.updateData({id:result.data.id},{
  40. status:2,
  41. wait_status:2,
  42. error_info:JSON.stringify({msg:"平台配置错误:"})
  43. })
  44. console.error("平台配置错误:",result)
  45. throw "平台配置错误:"
  46. }
  47. let main_info = CMD.getMainInfoById(MainConfig,result.data.main_id)
  48. if(main_info==null){
  49. await video_applet_product_controllers.updateData({id:result.data.id},{
  50. status:2,
  51. wait_status:2,
  52. error_info:JSON.stringify({msg:"主体配置错误:"})
  53. })
  54. console.error("主体配置错误:",result)
  55. throw "主体配置错误:"
  56. }
  57. if(result.data.book_platform==1){
  58. hy_create_link_task_list.push({
  59. n_data:result.data,
  60. main_info:main_info,
  61. PlatformInfo:PlatformInfo
  62. })
  63. }else if(result.data.book_platform==2){
  64. fq_create_link_task_list.push({
  65. n_data:result.data,
  66. main_info:main_info,
  67. PlatformInfo:PlatformInfo
  68. })
  69. }
  70. }
  71. if(hy_create_link_task_list.length>0){
  72. let hy_create_link_task = hy_create_link_task_list.pop()
  73. require('./hy_create_link').runTask(hy_create_link_task.n_data
  74. ,hy_create_link_task.main_info,
  75. hy_create_link_task.PlatformInfo,finish_call_back)
  76. }
  77. if(fq_create_link_task_list.length>0){
  78. let fq_create_link_task = fq_create_link_task_list.pop()
  79. require('./fq_create_link').runTask(fq_create_link_task.n_data
  80. ,fq_create_link_task.main_info,
  81. fq_create_link_task.PlatformInfo,finish_call_back)
  82. }
  83. }catch(e){
  84. console.log("CREATE_LINK_FACTORY error:",e)
  85. finish_call_back(null,{"MESSAGE":"CREATE_LINK_FACTORY error:"})
  86. } finally{
  87. setTimeout(processTask,time_count)
  88. }
  89. }
  90. CMD.init = function(){
  91. redis_help.connect((results)=>{
  92. if(results){
  93. }
  94. })
  95. processTask()
  96. }
  97. CMD.create_link = function(n_data){
  98. if(n_data.book_platform==1){
  99. hy_create_link_task_list.push({
  100. n_data:n_data,
  101. main_info:main_info,
  102. PlatformInfo:PlatformInfo
  103. })
  104. }else if(n_data.book_platform==1){
  105. fq_create_link_task_list.push({
  106. n_data:n_data,
  107. main_info:main_info,
  108. PlatformInfo:PlatformInfo
  109. })
  110. }
  111. }
  112. CMD.getPlatformInfoById = function(PlatformConfig,tg_platform_id){
  113. for (let index = 0; index < PlatformConfig.length; index++) {
  114. const element = PlatformConfig[index];
  115. if(element.tg_platform_id==tg_platform_id){
  116. return element
  117. }
  118. }
  119. return null
  120. }
  121. CMD.getMainInfoById = function(MainConfig,main_id){
  122. // console.log("MainConfig:",MainConfig)
  123. for (let index = 0; index < MainConfig.length; index++) {
  124. const element = MainConfig[index];
  125. if(element.id==main_id){
  126. return element
  127. }
  128. }
  129. return null
  130. }
  131. CMD.init()