Authored by hongweigao

退货提交

... ... @@ -38,6 +38,17 @@ const refundApply = (req, res, next) => {
};
/*
我的订单-退货提交
*/
const saveRefund = (req, res, next) => {
const uid = req.user.uid;
returnsModel.saveRefund(req, uid).then(result => {
res.send(result);
}).catch(next);
};
/*
我的退换货-退货详情页
*/
const refundDetail = (req, res, next) => {
... ... @@ -111,6 +122,7 @@ const cancelChange = (req, res, next) => {
module.exports = {
index,
refundApply,
saveRefund,
refundDetail,
exchangeApply,
exchangeDetail,
... ...
... ... @@ -104,8 +104,59 @@ const cancelChangeAsync = (id, uid) =>{
return api.get('', options);
};
/**
* save退货申请
* @param $orderCode
* @param $uid
* @param $goods
* @param $payment
* @return mixed
*/
const refundSubmit = (orderCode, uid, goods, payment) =>{
let options = {
method: 'app.refund.submit',
orderCode: orderCode,
uid: uid,
goods: goods,
payment: payment
};
console.log(options);
return api.post('', options);
};
/**
* 发送站内信
*
* @param int $uid
* @param string $title
* @param int $content
* @param int $type
* @param string $verify_key
* @param int $send_uid
* @param string $call_back
* @return array
*/
const sendMessage = (uid, title, content, type, verifyKey, sendUid) =>{
let options = {
method: 'web.inbox.setSingleMessage',
uid: uid,
send_uid: sendUid || 0,
verify_key: verifyKey || '',
content: content,
title: title,
type: type || 1
};
return api.post('', options);
};
module.exports = {
getRefundGoodsAsync,
refundSubmit,
sendMessage,
getRefundDetailAsync,
getExchangeGoodsAsync,
getChangeDetailAsync,
... ...
... ... @@ -10,6 +10,7 @@ const _ = require('lodash');
// const path = require('path');
const Promise = require('bluebird');
const returnAPI = require('./returns-api');
const ordersAPI = require('./orders-api');
const pager = require(`${global.utils}/pager`).setPager;
... ... @@ -76,6 +77,7 @@ function getGoodsData(goods) {
*/
const getExpressCompany = (expressList) => {
let data = [];
_.forEach(expressList, function(value) {
data.push(value);
});
... ... @@ -251,6 +253,59 @@ const getOrderRefund = (orderCode, uid) => {
};
/**
* 提交退货申请
* @param $orderCode
* @param $uid
* @param array $goods
* @param array $payment
* @return array|mixed
*/
const saveRefund = (req, uid) => {
let process = function*() {
let orderCode = req.body.orderCode,
goods = req.body.goods,
payment = req.body.payment;
if (_.isEmpty(orderCode) || orderCode < 1 ||
_.isEmpty(goods) || _.isEmpty(payment)) {
return {
code: 203,
message: '非法提交'
};
}
// 调用模型提交退货申请
let order = yield ordersAPI.viewOrderData(orderCode, uid);
if (_.isEmpty(order)) {
return {
code: 403,
message: '没有找到该订单'
};
}
// 组装站内信内容
let title = '您有一笔订单提交退货申请:';
let content = '您的订单' + orderCode + '申请退货,给您带来不便敬请谅解!请至订单中心查看详情!';
// 调用接口保存退货申请
let result = yield returnAPI.refundSubmit(orderCode, uid, goods, payment);
if (_.get(result, 'code') === 200) {
// 退货成功发送站内信
let da = yield returnAPI.sendMessage(uid, title, content);
console.log(da);
result.data.refer = helpers.urlFormat('/home/returns/refundSuccess', {orderCode: orderCode});
}
return result;
};
return co(process)();
};
/**
* 获取退货详情页数据
* @param $uid
* @param $id
... ... @@ -500,11 +555,12 @@ const getCancelChange = (id, uid) => {
};
module.exports = {
getReturnsList,
getOrderRefund,
getRefundDetail,
getChangeDetail,
getOrderExchange,
getReturnsList, // 我的订单,退换货列表
getOrderRefund, // 我的订单,申请退货
saveRefund, // 退货提交
getRefundDetail, // 退货详情
getChangeDetail, // 换货详情
getOrderExchange, // 我的订单,申请换货
getCancelRefund, // 取消退货申请
getCancelChange // 取消换货申请
};
... ...
... ... @@ -77,6 +77,7 @@ router.get('/message/pickCoupon', messageController.pickCoupon);
// 我的退/换货
router.get('/returns', tabsMiddleware.getCommonHeader, returnsController.index);
router.get('/returns/refundrequest', tabsMiddleware.getCommonHeader, returnsController.refundApply);
router.post('/returns/saveRefund', tabsMiddleware.getCommonHeader, returnsController.saveRefund);
router.get('/returns/refundDetail', tabsMiddleware.getCommonHeader, returnsController.refundDetail);
router.get('/returns/exchangerequest', tabsMiddleware.getCommonHeader, returnsController.exchangeApply);
router.get('/exchange/detail', tabsMiddleware.getCommonHeader, returnsController.refundDetail);
... ...
... ... @@ -337,6 +337,9 @@ function packRefundInfo() {
}
}
res.goods = JSON.stringify(res.goods);
res.payment = JSON.stringify(res.payment);
return res;
}
... ...