/** * 订单. * @author hgwang * @date 2016-07-20 */ 'use strict'; const api = global.yoho.API; const _ = require('lodash'); /** * 获取订单列表数据 * @param param * uid uid, * page 页数 * type 订单类型 1:全部订单,2:待付款,3:待发货,4:待收货,5:待评论/成功订单,7:失败/取消 * limit 每页大小 * app_type 0:yohobuy,1:blk * @returns {Promise.<T>|*} */ exports.getOrders = (param) => { param = Object.assign({ method: 'app.SpaceOrders.get' }, param); return api.get('', param); }; /** * 获取订单详情 * @param uid * @param orderCode * @returns {Promise.<T>|*} */ exports.getOrderDetail = (uid, orderCode) => { return api.get('', { method: 'app.SpaceOrders.detail', order_code: orderCode, uid: uid }); }; /** * 取消订单 * @param orderCode 订单号 * @param reasonId 原因id * @param reason 原因描述 * @returns {Promise.<T>|*} */ exports.cancelOrder = (uid, orderCode, reasonId, reason) => { return api.post('', { method: 'app.SpaceOrders.close', uid, order_code: orderCode, reason_id: reasonId, reason: reason ? reason : '' }); }; // 再次购买 exports.readdData = (orderCode, uid) => { return api.get('', { method: 'app.Shopping.readd', uid: uid, order_code: orderCode }).then((result) => { if (result && result.code === 200) { result.message = '商品已重新加入购物车'; } else if (result.code === '400') { result.message = '缺失参数'; } else { result.message = '商品加入购物车失败'; result.datat = {}; } return result; }); }; /** * 确认订单 * @param orderCode 订单号 * @returns {Promise.<T>|*} */ exports.confirmOrder = (uid, orderCode) => { return api.post('', { method: 'app.SpaceOrders.confirm', uid: uid, order_code: orderCode }).then(result => { return result; }); }; /** * 删除订单 * @param orderCode 订单号 * @param uid uid * @returns {Promise.<T>|*} */ exports.deleteOrder = (orderCode, uid) => { return api.post('', { method: 'app.SpaceOrders.delOrderByCode', order_code: orderCode, uid: uid }).then(result => { return result; }); }; /** * 查看订单物流详情 * @param {[int]} order_code 订单号 * @param {[int]} uid 用户uid * @param {[string]} type 退换货物流(退货:refund,换货:change) * @param {[int]} id 退换货申请ID(type为refund | change,才有效) * @return {[array]} */ exports.getOrderLogisticdate = (params) => { let method; if (_.isEmpty(params.order_code)) { return Promise.resolve([]); } // getNewExpress:退换货物流,li:订单物流 method = _.indexOf(['refund', 'change'], params.type) >= 0 ? 'app.express.getNewExpress' : 'app.express.li'; return api.get('', Object.assign({ method: method }, params)).then(result => { if (result.code === 200) { return result.data; } return []; }); }; /** * 获取yoho币数量 * @param uid * @returns {*|Promise.<T>} */ exports.getCoins = (uid) => { return api.get('', { uid: uid, method: 'app.yohocoin.total' }); }; /** * 获取yoho币明细 * @param uid * @param page * @param limit * @returns {*|Promise.<T>} */ exports.getCoinDetail = (uid, page, limit) => { return api.get('', { uid: uid, page: page, limit: limit, method: 'app.yohocoin.lists' }); }; /** * 获取退换货原因 * @returns {*|Promise.<T>} */ exports.getCancelReason = () => { return api.get('', { method: 'app.SpaceOrders.closeReasons' }); };