weChatNotify.js 5.91 KB
/**
 * Created by Tommy Huang on 18/04/24.
 */
const axios = require('axios')
const Helper = require('./helper')

async function send(body) {
  try {
    const {accessToken} = await Helper.getWeChatToken()
    const {data} = await axios.post(`https://api.weixin.qq.com/cgi-bin/message/template/send?access_token=${accessToken}`, body) 
    if (data.errcode === 0) {
      return true
    } else {
      return false
    }
  } catch (e) {
    console.log(e)
  }
}

exports.sendListConfirmed = async (userId, borrowListId, borrowListNo, amount) => {
  const body = {
    touser: userId,
    template_id: 'ptEm0-cyd_ty5Wxu2roJEL9Tbs-59lesO5GEAYEhYqo',
    url: `https://www.51liuliang.cc/netiou/borrowContent?id=${borrowListId}`,
    data: {
      first: {value: '您有一条订单已被确认', color:'#173177'},
      OrderSn: {value: borrowListNo, color:'#173177'},
      OrderStatus: {value: '已确认', color:'#173177'},
      remark: {value: `金额:${amount}元\n点击查看详情`, color:'#173177'}
    }
  }
  const result = await send(body)
  return result
}

exports.sendListRejected = async (userId, borrowListId, borrowListNo, amount) => {
  const body = {
    touser: userId,
    template_id: 'ptEm0-cyd_ty5Wxu2roJEL9Tbs-59lesO5GEAYEhYqo',
    url: `https://www.51liuliang.cc/netiou/borrowContent?id=${borrowListId}`,
    data: {
      first: {value: '您有一条订单已被驳回', color:'#173177'},
      OrderSn: {value: borrowListNo, color:'#173177'},
      OrderStatus: {value: '已驳回', color:'#DC143C'},
      remark: {value: `金额:${amount}元\n点击查看详情`, color:'#173177'}
    }
  }
  const result = await send(body)
  return result
}

exports.sendRepaymentHint = async (userId, borrowListId, borrowListNo, amount) => {
  const body = {
    touser: userId,
    template_id: 'ptEm0-cyd_ty5Wxu2roJEL9Tbs-59lesO5GEAYEhYqo',
    url: `https://www.51liuliang.cc/netiou/confirmedCredit?id=${borrowListId}&active=1`,
    data: {
      first: {value: '您有一条支付记录待确认', color:'#173177'},
      OrderSn: {value: borrowListNo, color:'#173177'},
      OrderStatus: {value: '待确认', color:'#173177'},
      remark: {value: `金额:${amount}元\n点击查看详情`, color:'#173177'}
    }
  }
  const result = await send(body)
  return result
}

exports.sendRepaymentConfirm = async (userId, borrowListId, borrowListNo, amount) => {
  const body = {
    touser: userId,
    template_id: 'ptEm0-cyd_ty5Wxu2roJEL9Tbs-59lesO5GEAYEhYqo',
    url: `https://www.51liuliang.cc/netiou/confirmedBorrow?id=${borrowListId}&active=1`,
    data: {
      first: {value: '您有一条支付记录已被确认', color:'#173177'},
      OrderSn: {value: borrowListNo, color:'#173177'},
      OrderStatus: {value: '已确认', color:'#173177'},
      remark: {value: `金额:${amount}元\n点击查看详情`, color:'#173177'}
    }
  }
  const result = await send(body)
  return result
}

exports.sendRepaymentReject = async (userId, borrowListId, borrowListNo, amount) => {
  const body = {
    touser: userId,
    template_id: 'ptEm0-cyd_ty5Wxu2roJEL9Tbs-59lesO5GEAYEhYqo',
    url: `https://www.51liuliang.cc/netiou/confirmedBorrow?id=${borrowListId}&active=1`,
    data: {
      first: {value: '您有一条支付记录已被驳回', color:'#173177'},
      OrderSn: {value: borrowListNo, color:'#173177'},
      OrderStatus: {value: '已驳回', color:'#173177'},
      remark: {value: `金额:${amount}元\n点击查看详情`, color:'#173177'}
    }
  }
  const result = await send(body)
  return result
}

exports.sendPeriodHint = async (userId, borrowListId, borrowListNo, amount, time) => {
  const body = {
    touser: userId,
    template_id: 'ptEm0-cyd_ty5Wxu2roJEL9Tbs-59lesO5GEAYEhYqo',
    url: `https://www.51liuliang.cc/netiou/confirmedBorrow?id=${borrowListId}&active=2`,
    data: {
      first: {value: '您有一条延期记录待确认', color:'#173177'},
      OrderSn: {value: borrowListNo, color:'#173177'},
      OrderStatus: {value: '待确认', color:'#173177'},
      remark: {value: `金额:${amount}元\n时间:${time}\n点击查看详情`, color:'#173177'}
    }
  }
  const result = await send(body)
  return result
}

exports.sendPeriodConfirm = async (userId, borrowListId, borrowListNo, amount, time) => {
  const body = {
    touser: userId,
    template_id: 'ptEm0-cyd_ty5Wxu2roJEL9Tbs-59lesO5GEAYEhYqo',
    url: `https://www.51liuliang.cc/netiou/confirmedCredit?id=${borrowListId}&active=2`,
    data: {
      first: {value: '您有一条延期记录已被确认', color:'#173177'},
      OrderSn: {value: borrowListNo, color:'#173177'},
      OrderStatus: {value: '已确认', color:'#173177'},
      remark: {value: `金额:${amount}元\n时间:${time}\n点击查看详情`, color:'#173177'}
    }
  }
  const result = await send(body)
  return result
}

exports.sendPeriodReject = async (userId, borrowListId, borrowListNo, amount, time) => {
  const body = {
    touser: userId,
    template_id: 'ptEm0-cyd_ty5Wxu2roJEL9Tbs-59lesO5GEAYEhYqo',
    url: `https://www.51liuliang.cc/netiou/confirmedCredit?id=${borrowListId}&active=2`,
    data: {
      first: {value: '您有一条延期记录已被拒绝', color:'#173177'},
      OrderSn: {value: borrowListNo, color:'#173177'},
      OrderStatus: {value: '已拒绝', color:'#173177'},
      remark: {value: `金额:${amount}元\n时间:${time}\n点击查看详情`, color:'#173177'}
    }
  }
  const result = await send(body)
  return result
}


exports.sendOverdueHint = async (userId, amount) => {
  const body = {
    touser: userId,
    template_id: 'sEv3vIV55Htd7kv1DT8EdQoDrZ8_sGvdRqi-YqoX0QE',
    url: `https://www.51liuliang.cc/netiou/borrowHistory`,
    data: {
      first: {value: '您有订单即将逾期', color:'#173177'},
      keyword1: {value: Math.floor(parseFloat(amount) * 100) / 100, color:'#173177'},
      keyword2: {value: '未还款', color:'#173177'},
      remark: {value: `点击查看详情`, color:'#173177'}
    }
  }
  const result = await send(body)
  return result
}