order.js 4.5 KB
/**
 * 订单相关操作.
 * @author hgwang
 * @date 2016-07-22
 */
'use strict';
const orderModel = require('../models/order');
const notLoginCode = 400;
const notLoginTip = '抱歉,您暂未登录!';
const testUid = 8050378;// 测试uid
const isBLK = 1;

const order = {
    orders: (req, res) => {
        let type = req.query.type;

        res.render('order', {
            module: 'home',
            page: 'order',
            type: type
        });
    },
    orderDetail: (req, res) => {
        let orderCode = req.query.orderCode;
        let uid = req.user.uid;

        uid = testUid; // 测试uid

        if (!uid && req.xhr) {
            return res.json({
                code: notLoginCode,
                message: notLoginTip
            });
        }

        res.render('order-detail', {
            module: 'home',
            page: 'order-detail',
            orderCode: orderCode
        });
    },
    getOrderData: (req, res) => {
        let uid = req.query.id;
        let page = req.query.page;
        let type = req.query.type;
        let limit = req.query.limit;
        let isend = true;

        uid = testUid;
        if (!uid && req.xhr) {
            return res.json({
                code: notLoginCode,
                message: notLoginTip
            });
        }
        let param = {
            uid: uid,
            page: page,
            type: type,
            limit: limit,
            app_type: isBLK
        };

        orderModel.getOrders(param).then(result => {
            if (result && page < result.page_total) {
                isend = false;
            }
            return res.json(Object.assign({isend: isend}, result));
        });
    },
    getOrderDetailData: (req, res) => {
        let orderCode = req.query.orderCode;
        let uid = req.user.uid;

        uid = testUid; // 测试uid

        if (!uid && req.xhr) {
            return res.json({
                code: notLoginCode,
                message: notLoginTip
            });
        }

        orderModel.getOrderDetail(uid, orderCode).then(result => {
            return res.json(result);
        });
    },
    cancelOrder: (req, res) => {
        let orderCode = req.query.orderCode;
        let reasonId = req.query.reasonId;
        let reason = req.query.reason;

        orderModel.cancelOrder(orderCode, reasonId, reason).then(result => {
            return res.json(result);
        });

    },
    confirmOrder: (req, res) => {
        let orderode = req.query.orderCode;

        orderModel.confirmOrder(orderode).then(result => {
            return res.json(result);
        });
    },
    deleteOrder: (req, res) => {
        let orderCode = req.query.orderCode;
        let uid = req.user.uid;

        uid = testUid; // 测试uid

        if (!uid && req.xhr) {
            return res.json({
                code: notLoginCode,
                message: notLoginTip
            });
        }

        orderModel.deleteOrder(orderCode, uid).then(result => {
            return res.json(result);
        });
    },
    coin: (req, res, next) => {
        let uid = req.user.id;

        orderModel.getCoins(uid).then(result => {
            res.render('coin', {
                module: 'home',
                page: 'coin',
                coin: result
            });
        }).catch(next);
    },

    /**
     * 获取yoho币明细
     * @param req
     * @param res
     * @returns {*|{read, write}}
     */
    getCoinDetail: (req, res) => {
        let uid = req.user.id;
        let page = req.query.page;
        let limit = req.query.limit;
        let isend = true;

        uid = testUid;
        if (!uid && req.xhr) {
            return res.json({
                code: notLoginCode,
                message: notLoginTip
            });
        }

        orderModel.getCoinDetail(uid, page, limit).then(result => {
            if (result && page < result.page_total) {
                isend = false;
            }
            return res.json(Object.assign({isEnd: isend}, result));
        });
    },

    // 订单-物流
    logistic: (req, res) => {
        res.render('order-logistic', {
            module: 'home',
            page: 'order-logistic',
            title: '物流详情'
        });
    },

    // API- 订单-物流
    getOrderLogisticdate: (req, res) => {
        orderModel.getOrderLogisticdate({
            uid: req.user.uid || '',
            type: req.query.type || '',
            order_code: req.query.orderCode
        }).then(result => {
            res.json(result);
        });
    }
};

module.exports = order;