Authored by 郭成尧

view-show-out

@@ -42,14 +42,14 @@ exports.orderEnsure = (req, res, next) => { @@ -42,14 +42,14 @@ exports.orderEnsure = (req, res, next) => {
42 headerData.backUrl = req.get('Referer') || returnUrl; 42 headerData.backUrl = req.get('Referer') || returnUrl;
43 } 43 }
44 44
45 - let order = cartModel.cartPay(uid, cartType, orderInfo, sku, skn, buyNumber, req.xhr);  
46 - let userProfile = userModel.queryProfile(uid);  
47 - let address = addressModel.addressData(uid); 45 + let orderPromise = cartModel.cartPay(uid, cartType, orderInfo, sku, skn, buyNumber, req.xhr);
  46 + let userProfilePromise = userModel.queryProfile(uid);
  47 + let addressPromise = addressModel.addressData(uid);
48 48
49 - return Promise.all([order, userProfile, address]).then(result => {  
50 - order = result[0];  
51 - userProfile = result[1];  
52 - address = result[2]; 49 + return Promise.all([orderPromise, userProfilePromise, addressPromise]).then(result => {
  50 + let order = result[0];
  51 + let userProfile = result[1];
  52 + let address = result[2];
53 53
54 if (order.cartUrl) { // TODO? 普通或者预售商品为空时, BUT WHEN AJAX? 54 if (order.cartUrl) { // TODO? 普通或者预售商品为空时, BUT WHEN AJAX?
55 return res.redirect(order.cartUrl); 55 return res.redirect(order.cartUrl);
@@ -74,16 +74,15 @@ exports.orderEnsure = (req, res, next) => { @@ -74,16 +74,15 @@ exports.orderEnsure = (req, res, next) => {
74 orderEnsurePage: true, 74 orderEnsurePage: true,
75 isOrdinaryCart: cartType !== 'advance', 75 isOrdinaryCart: cartType !== 'advance',
76 orderEnsure: order, 76 orderEnsure: order,
77 - userMobile: mobile 77 + userMobile: mobile,
  78 + pageHeader: headerData,
  79 + pageFooter: true,
  80 + module: 'cart',
  81 + page: 'order-ensure',
  82 + width750: true,
  83 + title: '确认订单',
78 }; 84 };
79 85
80 - viewData.pageHeader = headerData;  
81 - viewData.pageFooter = true;  
82 - viewData.module = 'cart';  
83 - viewData.page = 'order-ensure';  
84 - viewData.width750 = true;  
85 - viewData.title = '确认订单';  
86 -  
87 res.render('order-ensure', viewData); 86 res.render('order-ensure', viewData);
88 }).catch(next); 87 }).catch(next);
89 }; 88 };
@@ -96,16 +95,42 @@ exports.fastPay = (req, res, next) => { @@ -96,16 +95,42 @@ exports.fastPay = (req, res, next) => {
96 navTitle: '确认订单', 95 navTitle: '确认订单',
97 navBtn: false 96 navBtn: false
98 }); 97 });
  98 + let uid = req.user.uid;
  99 + let orderPromise = cartModel.easyPayment(uid, req.query.skuList);
  100 + let userProfilePromise = userModel.queryProfile(uid);
  101 + let addressPromise = addressModel.addressData(uid);
99 102
100 - let viewData = {  
101 - pageHeader: headerData,  
102 - module: 'cart',  
103 - page: 'order-ensure',  
104 - width750: true,  
105 - title: '确认订单'  
106 - }; 103 + Promise.all([orderPromise, userProfilePromise, addressPromise]).then(result => {
  104 + let order = result[0];
  105 + let userProfile = result[1];
  106 + let address = result[2];
  107 +
  108 + // 获取用户完整手机号
  109 + let mobile = _.get(userProfile, 'data.mobile', '');
  110 + let orderAddress = _.get(order, 'address', []);
  111 + let addressList = _.get(address, 'data', []);
  112 +
  113 + orderAddress.length && addressList.forEach(address => { //eslint-disable-line
  114 + if (address.address_id === orderAddress.address_id) {
  115 + mobile = address.mobile;
  116 + }
  117 + });
  118 +
  119 + let viewData = {
  120 + orderEnsurePage: true,
  121 + isOrdinaryCart: true,
  122 + orderEnsure: order,
  123 + userMobile: mobile,
  124 + pageHeader: headerData,
  125 + pageFooter: true,
  126 + module: 'cart',
  127 + page: 'order-ensure',
  128 + width750: true,
  129 + title: '确认订单',
  130 + };
107 131
108 - res.render('order-ensure', viewData); 132 + res.render('order-ensure', viewData);
  133 + }).catch(next);
109 }; 134 };
110 135
111 /** 136 /**
@@ -89,6 +89,15 @@ exports.cartPay = (uid, cartType, orderInfo, limitProductCode, sku, skn, buyNumb @@ -89,6 +89,15 @@ exports.cartPay = (uid, cartType, orderInfo, limitProductCode, sku, skn, buyNumb
89 }; 89 };
90 90
91 /** 91 /**
  92 + * 快速结算数据处理
  93 + */
  94 +exports.easyPayment = (uid, skuList) => {
  95 + return shoppingAPI.easyPayment(uid, skuList).then(result => {
  96 + return result;
  97 + });
  98 +};
  99 +
  100 +/**
92 * 处理优惠券列表数据 101 * 处理优惠券列表数据
93 * 102 *
94 * @param int $uid 用户ID 103 * @param int $uid 用户ID
@@ -28,6 +28,23 @@ exports.cartPayAPI = (uid, cartType, isUseYohoCoin, skuList) => { @@ -28,6 +28,23 @@ exports.cartPayAPI = (uid, cartType, isUseYohoCoin, skuList) => {
28 return api.get('', param); 28 return api.get('', param);
29 }; 29 };
30 30
  31 +/**
  32 + * 立即购买接口,仅支持套餐
  33 + */
  34 +exports.easyPayment = (uid, skuList) => {
  35 + let param = {
  36 + method: 'app.Shopping.easyPayment',
  37 + enable_red_envelopes: 0,
  38 + cart_type: 'bundle',
  39 + yoho_coin_mode: 0,
  40 + uid: uid,
  41 + activity_id: 'activity_id',
  42 + product_sku_list: skuList
  43 + };
  44 +
  45 + return api.get('', param);
  46 +};
  47 +
31 48
32 /** 49 /**
33 * 购物车结算--支付方式和配送方式选择以及是否使用有货币接口返回的数据处理 50 * 购物车结算--支付方式和配送方式选择以及是否使用有货币接口返回的数据处理