orders-api.js 4.99 KB
/**
 * @author: weiqingting<qingting.wei@yoho.cn>
 */
'use strict';

const api = global.yoho.API;

    /**
     * 我的订单-分页
     * @param type uid
     * @param type page
     * @param type limit
     * @param type type 获取订单类型 type=1全部,type=2待付款,type=3待发货,type=4待收货,type=5待评论(已成功) 7取消
     * @return type
     */
exports.getUserOrders = (uid, page, limit, type)=>{
    return api.get('', {
        method: 'app.SpaceOrders.get',
        uid: uid,
        type: type,
        page: page,
        limit: limit
    });
};

    /**
     * 订单详情
     * @param type uid
     * @param type orderCode
     * @return type
     */
exports.getOrderDetail = (uid, orderCode)=>{
    return api.get('', {
        method: 'app.SpaceOrders.detail',
        uid: uid,
        order_code: orderCode
    });
};


    /**
     * 取消订单
     * @param type uid
     * @param type orderCode
     * @return type
     */
exports.cancelUserOrder = (uid, orderCode, reason, reasonId)=>{
    let options = {
        method: 'app.SpaceOrders.close',
        uid: uid,
        order_code: orderCode
    };

    if (reasonId) {
        Object.assign(options, {
            reasonId: reasonId,
            reasons: reason
        });
    }
    return api.get('', options);
};

    /**
     * 确认订单
     * @param type uid
     * @param type orderCode
     * @return type
     */
exports.confirmUserOrder = (uid, orderCode)=>{
    return api.get('', {
        method: 'app.SpaceOrders.confirm',
        uid: uid,
        order_code: orderCode
    });
};

    /**
     * 获取虚拟订单ticketCode
     * @param type orderCode
     * @return type
     */
exports.getTicketCode = (orderCode)=>{
    let options = {
        method: 'app.SpaceOrders.getQrByOrderCode',
        order_code: orderCode
    };
    return api.get('', options);
};

     /**
     * 我的订单-查看物流
     *
     * @param int orderCode 订单号
     * @param int uid 用户ID
     * @return array
     */
exports.getLogisticsData = (orderCode, uid)=>{
    return api.get('', {
        method: 'app.express.li',
        order_code: orderCode,
        uid: uid
    });
};

    /**
     * 获取历史订单
     * @param type uid
     * @param type page
     * @param type limit
     */
exports.getHistoryOrders = (uid, page, limit)=>{
    return api.get('', {
        method: 'app.SpaceOrders.history',
        uid: uid,
        page: page,
        limit: limit
    });
};

    /**
     * 更新订单的支付方式
     *
     * @param int orderCode 订单号
     * @param int payment 支付方式
     * @param int uid 用户ID
     * @return array
     */
exports.updateOrderPayment = (orderCode, payment, uid)=>{
    let options = {
        method: 'app.SpaceOrders.updateOrdersPaymentByCode',
        order_code: Number(orderCode),
        payment: payment,
        uid: uid
    };
    return api.get('', options);
};

    /**
     * 取消订单原因列表
     * @return type
     */
exports.closeReasons = ()=>{
    return api.get('', {
        method: 'app.SpaceOrders.closeReasons'
    });
};

    /**
     * 订单详情页——地址修改
     * @param type order_code
     * @param type address_id
     * @return type
     */
exports.updateDeliveryAddress = (orderId, userName, areaCode, address, mobile, phone, uid)=>{
    let options = {
        method: 'app.SpaceOrders.updateDeliveryAddress',
        order_code: orderId,
        user_name: userName,
        area_code: areaCode,
        address: address,
        mobile: mobile,
        uid: uid
    };

    if (phone) {
        Object.assign(options, {phone: phone});
    }
    return api.get('', options);
};

    /**
     * 查看订单详情
     *
     * @param string orderCode 订单号
     * @param int uid 用户ID
     * @param string sessionKey 用户会话
     * @return array
     */
exports.viewOrderData = (orderCode, uid, sessionKey)=>{
    return api.get('', {
        method: 'app.SpaceOrders.info',
        order_code: orderCode,
        uid: uid,
        session_key: sessionKey
    });
};

/**
 * 重新加入购物车
 */
exports.reBuy = (uid, orderId) => {
    return api.get('', {
        method: 'app.Shopping.readd',
        uid: uid,
        order_code: orderId
    });
};

/**
 * 删除订单数据
 */
exports.del = (uid, gender, channel, orderId) => {
    return api.get('', {
        method: 'app.SpaceOrders.delOrderByCode',
        uid: uid,
        gender: gender,
        yh_channel: channel,
        order_code: orderId
    });
};

/**
 * 申请退款
 */
exports.refund = (uid, orderId, reasonId, reason) => {
    let params = {
        uid: uid,
        order_code: orderId
    };

    if (reasonId) {
        params.reason_id = reasonId;
    }

    if (reason) {
        params.reason = reason;
    }

    return api.get('', Object.assign({
        method: 'app.SpaceOrders.refundApply'
    }, params));
};

/**
 * 申请退款原因
 */
exports.refundReason = () => {
    return api.get('', {
        method: 'app.SpaceOrders.refundApplyReasons'
    });
};