OrderData.php 4.36 KB
<?php

namespace LibModels\Web\Home;

use Api\Yohobuy;
use Api\Sign;

class OrderData
{

    /**
     * 我的订单-分页
     * @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
     */
    public static function getUserOrders($uid, $page = 1, $limit = 10, $type = 1)
    {
        $param = Yohobuy::param();
        $param['method'] = 'app.SpaceOrders.get';
        $param['uid'] = $uid;
        $param['type'] = $type;
        $param['page'] = $page;
        $param['limit'] = $limit;
        $param['client_secret'] = Sign::getSign($param);
        return Yohobuy::get(Yohobuy::API_URL, $param);
    }

    /**
     * 订单详情
     * @param type $uid
     * @param type $orderCode
     * @return type
     */
    public static function getOrderDetail($uid, $orderCode)
    {
        $param = Yohobuy::param();
        $param['method'] = 'app.SpaceOrders.detail';
        $param['uid'] = $uid;
        $param['order_code'] = $orderCode;
        $param['client_secret'] = Sign::getSign($param);
        return Yohobuy::get(Yohobuy::API_URL, $param);
    }

    /**
     * 取消订单
     * @param type $uid
     * @param type $orderCode
     * @return type
     */
    public static function cancelUserOrder($uid, $orderCode)
    {
        $param = Yohobuy::param();
        $param['method'] = 'app.SpaceOrders.close';
        $param['uid'] = $uid;
        $param['order_code'] = $orderCode;
        $param['client_secret'] = Sign::getSign($param);
        return Yohobuy::get(Yohobuy::API_URL, $param);
    }

    /**
     * 确认订单
     * @param type $uid
     * @param type $orderCode
     * @return type
     */
    public static function confirmUserOrder($uid, $orderCode)
    {
        $param = Yohobuy::param();
        $param['method'] = 'app.SpaceOrders.confirm';
        $param['uid'] = $uid;
        $param['order_code'] = $orderCode;
        $param['client_secret'] = Sign::getSign($param);
        return Yohobuy::get(Yohobuy::API_URL, $param);
    }

    /**
     * 获取虚拟订单ticketCode
     * @param type $orderCode
     * @return type
     */
    public static function getTicketCode($orderCode)
    {
        $param = Yohobuy::param();
        $param['method'] = 'app.SpaceOrders.getQrByOrderCode';
        $param['order_code'] = $orderCode;
        $param['client_secret'] = Sign::getSign($param);
        return Yohobuy::get(Yohobuy::API_URL, $param);
    }

    /**
     * 我的订单-查看物流
     * 
     * @param int $orderCode 订单号
     * @param int $uid 用户ID
     * @return array
     */
    public static function getLogisticsData($orderCode, $uid)
    {
        //构建必传参数
        $param = Yohobuy::param();
        $param['method'] = 'app.express.li';
        $param['order_code'] = $orderCode;
        $param['uid'] = $uid;
        $param['client_secret'] = Sign::getSign($param);
        //调用接口获得数据
        return Yohobuy::get(Yohobuy::API_URL, $param);
    }

    /**
     * 获取历史订单
     * @param type $uid
     * @param type $page
     * @param type $limit
     */
    public static function getHistoryOrders($uid, $page = 1, $limit = 10)
    {
        $param = Yohobuy::param();
        $param['method'] = 'app.SpaceOrders.history';
        $param['uid'] = $uid;
        $param['page'] = $page;
        $param['limit'] = $limit;
        $param['client_secret'] = Sign::getSign($param);
        return Yohobuy::get(Yohobuy::API_URL, $param);
    }

    /**
     * 更新订单的支付方式
     *
     * @param int $orderCode 订单号
     * @param int $payment 支付方式
     * @param int $uid 用户ID
     * @return array
     */
    public static function updateOrderPayment($orderCode, $payment, $uid)
    {
        // 构建必传参数
        $param = Yohobuy::param();
        $param['method'] = 'app.SpaceOrders.updateOrdersPaymentByCode';
        $param['order_code'] = (int) $orderCode;
        $param['payment'] = $payment;
        $param['uid'] = $uid;
        $param['client_secret'] = Sign::getSign($param);

        // 调用接口获得数据
        return Yohobuy::post(Yohobuy::API_URL, $param);
    }
}