pay.js 2.22 KB
/**
 * 支付成功页
 * @author: jing.li<jing.li@yoho.cn>
 * @date: 2016/10/25
 */

'use strict';

const mRoot = '../models';
const payModel = require(`${mRoot}/pay`);
const headerModel = require('../../../doraemon/models/header'); // 头部model

// 货到付款
const payCod = (req, res, next) => {
    let headerData = headerModel.setNav({
        navTitle: '支付完成'
    });

    let responseData = {
        pageHeader: headerData,
        module: 'cart',
        page: 'pay',
        title: '支付中心 | Yoho!Buy有货 | 潮流购物逛不停'
    };

    let param = {
        uid: req.user.uid,
        udid: req.sessionID || require('md5')(req.ip) || 'yoho',
        orderCode: req.query.order_code,
        contentCode: '78d0fb6c97d691863286edcb4d8abfa9',
        client_id: req.cookies._yasvd || ''
    };

    // 如果没有uid,跳转到首页
    if (!param.uid) {
        res.redirect('/');
        return;
    }

    payModel.getPayCod(param).then(result => {
        if (result.match === true) {
            res.render('pay/pay-cod', Object.assign(responseData, result));
        } else {
            res.redirect('/');
        }

    }).catch(next);
};

// 支付宝支付
const payAli = (req, res, next) => {
    let headerData = headerModel.setNav({
        navTitle: '支付完成'
    });

    let responseData = {
        pageHeader: headerData,
        module: 'cart',
        page: 'pay',
        title: '支付中心 | Yoho!Buy有货 | 潮流购物逛不停'
    };

    let param = {
        uid: req.user.uid,
        udid: req.sessionID || require('md5')(req.ip) || 'yoho',
        orderCode: req.query.out_trade_no,
        contentCode: '78d0fb6c97d691863286edcb4d8abfa9'
    };

    // 如果没有uid,跳转到首页
    if (!param.uid) {
        res.redirect('/');
        return;
    }

    // 支付失败
    if (req.query.trade_status !== 'TRADE_SUCCESS') {
        return res.render('pay/pay-ali', Object.assign(responseData));
    }

    payModel.getPayAli(param).then(result => {
        if (result.match === true) {
            res.render('pay/pay-ali', Object.assign(responseData, result));
        } else {
            res.redirect('/');
        }

    }).catch(next);
};

module.exports = {
    payCod,
    payAli
};