<?php


namespace App\Http\Controllers\Order;


use App\Http\Controllers\BaseController;
use App\Http\Logic\Order\OrderLogic;

class OrderController extends BaseController
{
    /**
     * @SWG\Post(
     *     path="/order/list",
     *     tags={"订单管理"},
     *     summary="用户订单列表接口",
     *     description="用户订单列表接口",
     *     produces={"application/json"},
     *     @SWG\Parameter(
     *          name="page",
     *          in="query",
     *          description="第几页",
     *          type="string"
     *     ),
     *     @SWG\Parameter(
     *          name="page_size",
     *          in="query",
     *          description="每页数量",
     *          type="string"
     *     ),
     *     @SWG\Parameter(
     *          name="order_platform_son_type",
     *          in="query",
     *          description="订单类型(0未全部)",
     *          type="string"
     *     ),
     *     @SWG\Parameter(
     *          name="order_status",
     *          in="query",
     *          description="订单状态(1未结算2已结算(0为全部))",
     *          type="string"
     *     ),
     *     @SWG\Response(
     *         response="200",
     *         description="success",
     *         @SWG\Schema(ref="#/definitions/GetOrderListResultBean")
     *     ),
     *     @SWG\Response(
     *         response="403",
     *         description="fail",
     *         @SWG\Schema(ref="#/definitions/ErrorBean")
     *     )
     * )
     */
    public function getOrderList()
    {
        $datas = OrderLogic::getOrderListLogic();
        return $this->success($datas);
    }

    /**
     * @SWG\Get(
     *     path="/order/type/list",
     *     tags={"订单管理"},
     *     summary="订单类型接口",
     *     description="订单类型接口",
     *     produces={"application/json"},
     *     @SWG\Response(
     *         response="200",
     *         description="success",
     *          @SWG\Schema(
     *              @SWG\Property(
     *                  property="order_platform_son_type",
     *                  type="string",
     *                  description="订单类型ID"
     *              ),
     *              @SWG\Property(
     *                  property="type_name",
     *                  type="string",
     *                  description="类型名称"
     *              )
     *          )
     *     ),
     *     @SWG\Response(
     *         response="403",
     *         description="fail",
     *         @SWG\Schema(ref="#/definitions/ErrorBean")
     *     )
     * )
     */
    public function getOrderTypeList()
    {
        $datas = OrderLogic::getOrderTypeListLogic();
        return $this->success($datas);
    }

    /**
     * @SWG\Get(
     *     path="/order/detail",
     *     tags={"订单管理"},
     *     summary="订单详情接口",
     *     description="订单详情接口",
     *     @SWG\Parameter(
     *          name="order_id",
     *          in="query",
     *          description="订单ID",
     *          type="string"
     *     ),
     *     produces={"application/json"},
     *     @SWG\Response(
     *         response="200",
     *         description="success",
     *          @SWG\Schema(
     *              @SWG\Property(
     *                  property="order_number",
     *                  type="string",
     *                  description="订单编号"
     *              ),
     *              @SWG\Property(
     *                  property="order_platform_son_type",
     *                  type="string",
     *                  description="平台"
     *              ),
     *              @SWG\Property(
     *                  property="order_price",
     *                  type="string",
     *                  description="订单金额"
     *              ),
     *              @SWG\Property(
     *                  property="order_commission",
     *                  type="string",
     *                  description="预估收益"
     *              ),
     *              @SWG\Property(
     *                  property="order_status",
     *                  type="string",
     *                  description="订单状态(0未支付1已支付2已收获3已结算4全部退款或风控5部分退款6已取消)"
     *              ),
     *              @SWG\Property(
     *                  property="order_pay_at",
     *                  type="string",
     *                  description="支付时间"
     *              )
     *          )
     *     ),
     *     @SWG\Response(
     *         response="403",
     *         description="fail",
     *         @SWG\Schema(ref="#/definitions/ErrorBean")
     *     )
     * )
     */
    public function getOrderDetail()
    {
        $datas = OrderLogic::getOrderDetailLogic();
        return $this->success($datas);
    }
}