...
|
...
|
@@ -427,6 +427,83 @@ const getChangeDetail = (applyId, uid) => { |
|
|
};
|
|
|
|
|
|
/**
|
|
|
* 提交换货申请
|
|
|
* @param $orderCode
|
|
|
* @param $uid
|
|
|
* @param $goods
|
|
|
* @param $consigneeName
|
|
|
* @param $areaCode
|
|
|
* @param $address
|
|
|
* @param $mobile
|
|
|
* @param $zipCode
|
|
|
* @param $deliveryType
|
|
|
* @return array|mixed
|
|
|
*/
|
|
|
const saveExchange = (req, uid) => {
|
|
|
let process = function*() {
|
|
|
|
|
|
let orderCode = req.body.orderCode,
|
|
|
goods = req.body.goods,
|
|
|
consigneeName = req.body.consigneeName,
|
|
|
areaCode = req.body.areaCode,
|
|
|
address = req.body.address,
|
|
|
mobile = req.body.mobile,
|
|
|
zipCode = req.body.zipCode,
|
|
|
deliveryType = req.body.deliveryType;
|
|
|
|
|
|
console.log('deliveryType' + deliveryType);
|
|
|
|
|
|
if (_.isEmpty(orderCode) || orderCode < 1 || _.isEmpty(goods) ||
|
|
|
_.isEmpty(deliveryType) || _.isEmpty(consigneeName) || _.isEmpty(areaCode) ||
|
|
|
_.isEmpty(address) || _.isEmpty(mobile)) {
|
|
|
return {
|
|
|
code: 203,
|
|
|
message: '非法提交'
|
|
|
};
|
|
|
}
|
|
|
|
|
|
// 调用接口查询订单详情
|
|
|
let order = yield ordersAPI.viewOrderData(orderCode, uid);
|
|
|
|
|
|
if (_.isEmpty(order)) {
|
|
|
return {
|
|
|
code: 403,
|
|
|
message: '没有找到该订单'
|
|
|
};
|
|
|
}
|
|
|
|
|
|
// 订单15天后不能换货
|
|
|
// if (_.get(order, 'code') === 200) {
|
|
|
// if ((new Date() - order.data.create_time) > 15*86400) {
|
|
|
// return {
|
|
|
// code: 400,
|
|
|
// message: '您的订单已经超过了换货有效期'
|
|
|
// }
|
|
|
// }
|
|
|
// }
|
|
|
|
|
|
// 保存换货申请
|
|
|
let result = yield returnAPI.exchangeSubmit(orderCode, goods, consigneeName, areaCode,
|
|
|
address, mobile, zipCode, deliveryType, uid);
|
|
|
|
|
|
// 组装站内信内容
|
|
|
let title = '您有一笔订单提交换货申请:';
|
|
|
let content = '您的订单' + orderCode + '申请换货,给您带来不便敬请谅解!请至订单中心查看详情!';
|
|
|
|
|
|
// 换货成功,返回前端相应格式,并返回换货成功页跳转链接
|
|
|
if (_.get(result, 'code') === 200) {
|
|
|
// 换货成功发送站内信
|
|
|
returnAPI.sendMessage(uid, title, content);
|
|
|
result.data.refer = helpers.urlFormat('/home/returns/exchangeSuccess', {orderCode: orderCode});
|
|
|
}
|
|
|
|
|
|
return result;
|
|
|
};
|
|
|
|
|
|
return co(process)();
|
|
|
};
|
|
|
|
|
|
/**
|
|
|
* 换货申请页数据
|
|
|
* @param $orderCode
|
|
|
* @param $uid
|
...
|
...
|
@@ -504,11 +581,14 @@ const getOrderExchange = (orderCode, uid) => { |
|
|
let productList = yield Promise.all(sknPromise);
|
|
|
|
|
|
_.forEach(productList, (product, key) => { // 遍历得到每件商品
|
|
|
|
|
|
let colorSize = [],
|
|
|
value = product.data;
|
|
|
|
|
|
_.forEach(value.goods_list, val => { // 遍历商品得到每个颜色
|
|
|
|
|
|
let size = [];
|
|
|
|
|
|
_.forEach(val.size_list, v => { // 遍历颜色得到每个尺码
|
|
|
if (+v.storage_number > 0) { // 当某个尺码下有库存时,将该颜色及其对应的尺码加入该商品选项下
|
|
|
size.push(v);
|
...
|
...
|
@@ -542,6 +622,12 @@ const getOrderExchange = (orderCode, uid) => { |
|
|
return co(process)();
|
|
|
};
|
|
|
|
|
|
const getDelivery = (areaCode, uid, gender, channel) => {
|
|
|
return returnAPI.getDeliveryAsync(areaCode, uid, gender, channel).then((result) => {
|
|
|
return result;
|
|
|
});
|
|
|
};
|
|
|
|
|
|
const getCancelRefund = (id, uid) => {
|
|
|
return returnAPI.cancelRefundAsync(id, uid).then((result) => {
|
|
|
return result;
|
...
|
...
|
@@ -565,8 +651,10 @@ module.exports = { |
|
|
getOrderRefund, // 我的订单,申请退货
|
|
|
saveRefund, // 退货提交
|
|
|
getRefundDetail, // 退货详情
|
|
|
saveExchange, // 换货提交
|
|
|
getChangeDetail, // 换货详情
|
|
|
getOrderExchange, // 我的订单,申请换货
|
|
|
getDelivery, // 获取换货方式
|
|
|
getCancelRefund, // 取消退货申请
|
|
|
getCancelChange, // 取消换货申请
|
|
|
setExpressNumber // 设置快递
|
...
|
...
|
|