zy_create_link.js 2.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. //执行一个创建掌阅链接任务
  2. const axios = require('axios');
  3. const helper = require('../src/helper');
  4. const config = require('../etc/config.json');
  5. const video_product_controllers = require('../src/data_manager/Controllers/video_product_controllers');
  6. const tools = require('../tools');
  7. const CMD = {}
  8. CMD.runTask = async function(t_data,main_info,PlatformInfo,call_back){
  9. // let recharge = await get_recharge_template()
  10. let zy_conifg = JSON.parse(main_info.zy_conifg)
  11. try {
  12. let token = await require('../src/api/zy/get_zy_token').get_token()
  13. console.log("token:",token)
  14. let clinet = tools.getOneNewClinet()
  15. let book_info = await video_product_controllers.getProductData({book_id:t_data.product_id})
  16. if(book_info.success==false){
  17. throw "没有找到这本书:"+t_data.product_id
  18. }
  19. let pay_type = zy_conifg.pay_type!=0?zy_conifg.pay_type:book_info.data.fee_unit
  20. let price = zy_conifg.price!=0?zy_conifg.price:book_info.data.default_price
  21. let start_pay_section = zy_conifg.start_pay_section!=0?zy_conifg.start_pay_section:book_info.data.default_pay_section
  22. let response = await clinet.post(`https://openapi-gaia.zhangyue.com/opendata/reseller/pay/book/link/create`,{
  23. access_token:token,
  24. name:`${t_data.product_name}_${main_info.id}`,
  25. source:"toutiao2", //媒体 - 抖音小程序 只能使用 "toutiao2" - 微信小程序可选项如下 - bili B站/ - toutiao2 头条2.0 - gdt3 广点通3.0
  26. start_pay_section:start_pay_section, //开始付费章节
  27. book_chapter:zy_conifg.book_chapter, //调起章节
  28. book_id:parseInt(t_data.product_id),
  29. first_recharge:zy_conifg.first_recharge, //首充收银台
  30. follow_recharge:zy_conifg.follow_recharge, //复充收银台
  31. pay_type:pay_type, //书籍定价方式- 10 整本 - 20 千字价格
  32. price:price, //书籍价格
  33. callback_conf_reseller_id:zy_conifg.callback_conf_reseller_id, //回传策略ID
  34. owner:zy_conifg.owner, //创建用户id
  35. app_key:zy_conifg.app_key, //应用Key
  36. })
  37. let promotion_info = null
  38. if(response.data.code!=0){
  39. console.error("get_zy_account_list error:",response)
  40. }else{
  41. promotion_info = response.data.body
  42. }
  43. if(promotion_info==null){
  44. console.error("promotion_info==null")
  45. throw response.data
  46. }
  47. let start_page = promotion_info.start_page
  48. let start_param = promotion_info.start_params
  49. t_data.promotion_id = promotion_info.channel_id
  50. t_data.start_page = start_page
  51. t_data.start_param = start_param
  52. console.log('t_data:',t_data)
  53. await call_back(t_data,null)
  54. } catch (error) {
  55. await call_back(t_data,error)
  56. return null;
  57. }
  58. }
  59. module.exports = CMD;