Authored by 郭成尧

Merge branch 'release/5.1' of git.yoho.cn:fe/yohobuywap-node into release/5.1

... ... @@ -12,6 +12,7 @@ exports.ensure = (req, res, next) => {
const sku = Number.parseInt(req.query.sku, 10);
const skn = Number.parseInt(req.query.skn, 10);
const uid = req.user.uid;
const orderInfo = req.cookies['order-info'];
// require skn, sku;
if (!(sku && skn)) {
... ... @@ -39,7 +40,7 @@ exports.ensure = (req, res, next) => {
paymentOption.activity_id = skillData.activityId;
// 获取结算 数据
let paymentInfo = yield buyNowModel.payment(paymentOption);
let paymentInfo = yield buyNowModel.payment(paymentOption, orderInfo);
if (paymentInfo.code !== 200) {
return Promise.reject('结算请求失败');
... ...
... ... @@ -6,7 +6,7 @@
const API = global.yoho.API;
const paymentProcess = require(global.utils + '/payment-process');
exports.payment = options => {
exports.payment = (options, orderInfo) => {
let queryData = Object.assign({
method: 'app.Buynow.payment',
}, options);
... ... @@ -15,7 +15,7 @@ exports.payment = options => {
.then(result => {
// TODO 数据处理
if (result.code === 200 && result.data) {
result.data = paymentProcess.tranformPayment(result.data);
result.data = paymentProcess.tranformPayment(result.data, orderInfo);
}
return result;
});
... ...
... ... @@ -15,50 +15,73 @@ function tranformPayment(data, orderInfo) {
// delivery_address 中 提取信息
if (data.hasOwnProperty('delivery_address') && !_.isEmpty(data.delivery_address)) {
let cookieAddress = orderInfo.address;
let addressData = data.delivery_address;
result.name = addressData.consignee;
result.phoneNum = addressData.mobile;
result.addressId = addressData.address_id;
result.addressInfo = [addressData.area, addressData.address].join(' ');
result.name = cookieAddress ? cookieAddress.consignee : addressData.consignee;
result.phoneNum = cookieAddress ? cookieAddress.mobile : addressData.mobile;
result.addressId = cookieAddress ? cookieAddress.address_id : addressData.address_id;
result.addressInfo = cookieAddress ? cookieAddress.address_info : [addressData.area, addressData.address].join(' ');
}
// delivery_way 配送信息
if (data.delivery_way) {
let cookieWayId = orderInfo.deliveryId;
let deliveryWay = data.delivery_way;
let isDeliveryId = true;
let defaultKey = 0;
deliveryWay = deliveryWay
.filter(obj => obj.is_support === 'Y')
.map(way => {
return {
.map((way, index) => {
let obj = {};
(way.default === 'Y') && (defaultKey = index);
if (cookieWayId && (way.delivery_way_id === cookieWayId)) {
obj.isSelected = true;
isDeliveryId = false;
}
return Object.assign({
id: way.delivery_way_id,
name: way.delivery_way_name,
cost: way.delivery_way_cost,
isSelected: way.default === 'Y'
};
}, obj);
});
if (isDeliveryId) {
deliveryWay[defaultKey].isSelected = true;
}
result.dispatchMode = deliveryWay;
}
// delivery_time 配送时间
if (data.delivery_time) {
let cookieTimeId = orderInfo.deliveryTimeId;
let defaultKey = 0;
let times = data.delivery_time;
times = times.map(time => {
times = times.map((time, index) => {
(time.default === 'Y') && (defaultKey = index);
return {
isSelected: time.default === 'Y',
isSelected: false,
id: time.delivery_time_id,
name: time.delivery_time_string
};
});
let index = times.findIndex(time=>time.isSelected === 'Y');
times[defaultKey].isSelected = true;
if (index === -1) {
let time = times.find(obj =>obj.id === 2);
if (cookieTimeId) {
let selectTime = times.find(time => time.delivery_time_id === cookieTimeId);
time && (time.isSelected = true);
if (selectTime) {
selectTime.isSelected = true;
times[defaultKey].isSelected = false;
}
}
result.dispatchTime = times;
... ... @@ -130,7 +153,7 @@ function tranformPayment(data, orderInfo) {
// 有货币
result.yohoCoin = data.yoho_coin;
result.useYohoCoin = data.use_yoho_coin;
result.useYohoCoin = false; //data.use_yoho_coin;
// 发票
if (data.invoices) {
... ... @@ -145,7 +168,7 @@ function tranformPayment(data, orderInfo) {
result.invoice = invTypes;
if (result.invoice.length) {
if (orderInfo.invoice) {
result.needInvoice = orderInfo.invoice;
result.invoiceText = orderInfo.invoiceText;
}
... ...