123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103 |
- //执行一个创建番茄链接任务
- const axios = require('axios');
- const helper = require('../src/helper');
- const config = require('../etc/config.json')
- const CMD = {}
- CMD.runTask = async function(data,main_info,PlatformInfo,call_back){
- try {
- 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 kadian_name = null
- let tg_config = {
- chongzhi_key:'',
- huichuan_key:'',
- kadian_key:''
- }
- for (let index = 0; index < chongzhi_list.length; index++) {
- const cz_obj = chongzhi_list[index];
- if(cz_obj.id==chongzhi_id){
- chongzhi_name = cz_obj.name
- tg_config.chongzhi_key = cz_obj.value
- break
- }
- }
-
-
- 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
- }
- }
- tg_config.kadian_key = kadian_name
- let name = `${data.product_name}_${main_info.id}`
- let accountId = main_info.hy_accountId
- let linkType = 1
- let bookId = data.product_id
- let mediaChannel = 1
- let group = main_info.group_id
- let site = PlatformInfo.mini_program_platform_id==config.wx?"7": "5"
- let paidPoint = tg_config.kadian_key; //卡点
- let timestamp = helper.getCurrentUnixTimestamp()
- let passBackTemplateId = tg_config.huichuan_key
- let topUpTemplateId = tg_config.chongzhi_key
- let sign = helper.generateSign({
- "pid":config.heiyan_config.pid,
- "timestamp":timestamp,
- "sign":"",
- "name":name,
- "accountId":accountId,
- "linkType":linkType,
- "bookId":bookId,
- "mediaChannel":mediaChannel,
- "group":group,
- "site":site,
- "topUpTemplateId":topUpTemplateId,
- "passBackTemplateId": passBackTemplateId,
- "paidPoint":paidPoint,
- },config.heiyan_config.key)
- var url = config.heiyan_config.createLink
- var base_params = `/?sign=${sign}&pid=${config.heiyan_config.pid}×tamp=${timestamp}`
- var other_params = `&accountId=${accountId}&name=${name}&linkType=${linkType}&bookId=${bookId}&mediaChannel=${mediaChannel}&group=${group}&site=${site}&topUpTemplateId=${topUpTemplateId}&passBackTemplateId=${passBackTemplateId}&paidPoint=${paidPoint}`
- url = `${url}${base_params}${other_params}`
- // console.log("url:",url)
- let response = await axios.post(url)
- let link_data = response.data
- console.log("response:",response)
- if(link_data.code==1){
- let params = PlatformInfo.mini_program_platform_id==config.wx?link_data.data.wxFullPath.split('?'):link_data.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
- await call_back(data)
- }else{
- await call_back(data,link_data)
- }
- } catch (error) {
- call_back(data,error)
- console.error('There was an error!', error);
- }
- }
- module.exports = CMD;
|