<?php

namespace app\admin\controller;

use app\admin\service\OrderService;

class Order extends AdminBaseController
{

    ######################################## 现货交易 #######################################

    // 现货挂单
    public function digitalPlace()
    {
        $service = new OrderService();
        $result = $service->digitalPlace($this->request->param(), $this->getAdminId());
        return json($result);
    }

    // 现货撤单
    public function digitalBack()
    {
        $service = new OrderService();
        $result = $service->digitalBack($this->request->param(), $this->getAdminId());
        return json($result);
    }

    // 现货完成
    public function digitalDeal()
    {
        $service = new OrderService();
        $result = $service->digitalDeal($this->request->param(), $this->getAdminId());
        return json($result);
    }

    ######################################## 外汇交易 #######################################

    // 合约持仓
    public function forexHold()
    {
        $service = new OrderService();
        $result = $service->forexHold($this->request->param(), $this->getAdminId());
        return json($result);
    }

    // 合约挂单
    public function forexPlace()
    {
        $service = new OrderService();
        $result = $service->forexPlace($this->request->param(), $this->getAdminId());
        return json($result);
    }

    // 合约撤单
    public function forexBack()
    {
        $service = new OrderService();
        $result = $service->forexBack($this->request->param(), $this->getAdminId());
        return json($result);
    }

    // 合约平仓
    public function forexClear()
    {
        $service = new OrderService();
        $result = $service->forexClear($this->request->param(), $this->getAdminId());
        return json($result);
    }

    ######################################## 合约交易 #######################################

    // 合约持仓
    public function contractHold()
    {
        $service = new OrderService();
        $result = $service->contractHold($this->request->param(), $this->getAdminId());
        return json($result);
    }

    // 合约挂单
    public function contractPlace()
    {
        $service = new OrderService();
        $result = $service->contractPlace($this->request->param(), $this->getAdminId());
        return json($result);
    }

    // 合约撤单
    public function contractBack()
    {
        $service = new OrderService();
        $result = $service->contractBack($this->request->param(), $this->getAdminId());
        return json($result);
    }

    // 合约平仓
    public function contractClear()
    {
        $service = new OrderService();
        $result = $service->contractClear($this->request->param(), $this->getAdminId());
        return json($result);
    }
    ######################################## 秒合约交易 #######################################

    // 合约持仓
    public function contractSecHold()
    {
        $service = new OrderService();
        $result = $service->contractSecHold($this->request->param(), $this->getAdminId());
        return json($result);
    }

    // 合约挂单
    public function contractSecPlace()
    {
        $service = new OrderService();
        $result = $service->contractSecPlace($this->request->param(), $this->getAdminId());
        return json($result);
    }

    // 合约撤单
    public function contractSecBack()
    {
        $service = new OrderService();
        $result = $service->contractSecBack($this->request->param(), $this->getAdminId());
        return json($result);
    }

    // 合约平仓
    public function contractSecClear()
    {
        $service = new OrderService();
        $result = $service->contractSecClear($this->request->param(), $this->getAdminId());
        return json($result);
    }

    ##########################################  股票交易-lod  ###########################################

    public function stockHold()
    {
        $service = new OrderService();
        $result = $service->stockHold($this->request->param(), $this->getAdminId());
        return json($result);
    }

    // 合约挂单
    public function stockPlace()
    {
        $service = new OrderService();
        $result = $service->stockPlace($this->request->param(), $this->getAdminId());
        return json($result);
    }

    // 合约撤单
    public function stockBack()
    {
        $service = new OrderService();
        $result = $service->stockBack($this->request->param(), $this->getAdminId());
        return json($result);
    }

    // 合约平仓
    public function stockClear()
    {
        $service = new OrderService();
        $result = $service->stockClear($this->request->param(), $this->getAdminId());
        return json($result);
    }

    ############################################################## 美股订单

    // 美股持仓
    public function usStockHold()
    {
        $service = new OrderService();
        $result = $service->usStockHold($this->request->param(), $this->getAdminId());
        return json($result);
    }

    // 美股挂单
    public function usStockPlace()
    {
        $service = new OrderService();
        $result = $service->usStockPlace($this->request->param(), $this->getAdminId());
        return json($result);
    }

    // 美股撤单
    public function usStockBack()
    {
        $service = new OrderService();
        $result = $service->usStockBack($this->request->param(), $this->getAdminId());
        return json($result);
    }

    // 美股平仓
    public function usStockClear()
    {
        $service = new OrderService();
        $result = $service->usStockClear($this->request->param(), $this->getAdminId());
        return json($result);
    }

    ############################################################## 印尼股票订单
    public function idnStockHold()
    {
        $service = new OrderService();
        $result = $service->idnStockHold($this->request->param(), $this->getAdminId());
        return json($result);
    }

    public function idnStockPlace()
    {
        $service = new OrderService();
        $result = $service->idnStockPlace($this->request->param(), $this->getAdminId());
        return json($result);
    }


    public function idnStockBack()
    {
        $service = new OrderService();
        $result = $service->idnStockBack($this->request->param(), $this->getAdminId());
        return json($result);
    }


    public function idnStockClear()
    {
        $service = new OrderService();
        $result = $service->idnStockClear($this->request->param(), $this->getAdminId());
        return json($result);
    }


    ############################################################## 马来西亚股票订单
    public function mysStockHold()
    {
        $service = new OrderService();
        $result = $service->mysStockHold($this->request->param(), $this->getAdminId());
        return json($result);
    }

    public function mysStockPlace()
    {
        $service = new OrderService();
        $result = $service->mysStockPlace($this->request->param(), $this->getAdminId());
        return json($result);
    }


    public function mysStockBack()
    {
        $service = new OrderService();
        $result = $service->mysStockBack($this->request->param(), $this->getAdminId());
        return json($result);
    }


    public function mysStockClear()
    {
        $service = new OrderService();
        $result = $service->mysStockClear($this->request->param(), $this->getAdminId());
        return json($result);
    }


    ############################################################## 泰国股票订单
    public function thaStockHold()
    {
        $service = new OrderService();
        $result = $service->thaStockHold($this->request->param(), $this->getAdminId());
        return json($result);
    }

    public function thaStockPlace()
    {
        $service = new OrderService();
        $result = $service->thaStockPlace($this->request->param(), $this->getAdminId());
        return json($result);
    }


    public function thaStockBack()
    {
        $service = new OrderService();
        $result = $service->thaStockBack($this->request->param(), $this->getAdminId());
        return json($result);
    }


    public function thaStockClear()
    {
        $service = new OrderService();
        $result = $service->thaStockClear($this->request->param(), $this->getAdminId());
        return json($result);
    }

    ############################################################## 印度股票订单
    public function inStockHold()
    {
        $service = new OrderService();
        $result = $service->inStockHold($this->request->param(), $this->getAdminId());
        return json($result);
    }

    public function inStockPlace()
    {
        $service = new OrderService();
        $result = $service->inStockPlace($this->request->param(), $this->getAdminId());
        return json($result);
    }


    public function inStockBack()
    {
        $service = new OrderService();
        $result = $service->inStockBack($this->request->param(), $this->getAdminId());
        return json($result);
    }


    public function inStockClear()
    {
        $service = new OrderService();
        $result = $service->inStockClear($this->request->param(), $this->getAdminId());
        return json($result);
    }


    ############################################################## 新加坡股票订单
    public function sgdStockHold()
    {
        $service = new OrderService();
        $result = $service->sgdStockHold($this->request->param(), $this->getAdminId());
        return json($result);
    }

    public function sgdStockPlace()
    {
        $service = new OrderService();
        $result = $service->sgdStockPlace($this->request->param(), $this->getAdminId());
        return json($result);
    }


    public function sgdStockBack()
    {
        $service = new OrderService();
        $result = $service->sgdStockBack($this->request->param(), $this->getAdminId());
        return json($result);
    }


    public function sgdStockClear()
    {
        $service = new OrderService();
        $result = $service->sgdStockClear($this->request->param(), $this->getAdminId());
        return json($result);
    }


    ################################################# 申购订单
    public function preStock()
    {
        $service = new OrderService();
        $market_type = intval($this->request->param('market_type'));
        $result = $service->preStock($market_type,$this->request->param(), $this->getAdminId());
        return json($result);
    }

    public function updateGetNum()
    {
        $service = new OrderService();
        $market_type = intval($this->request->param('market_type'));
        $result = $service->updateGetNum($market_type, $this->request->param());
        return json($result);
    }

    public function preRefund()
    {
        $service = new OrderService();
        $market_type = intval($this->request->param('market_type'));
        $result = $service->preRefund($market_type, $this->request->param());
        return json($result);
    }


    ################################################# 基金
    public function fund()
    {
        $service = new OrderService();
        $result = $service->fundStock($this->request->param(), $this->getAdminId());
        return json($result);
    }

    public function fundInfo()
    {
        $service = new OrderService();
        $result = $service->fundStockInfo($this->request->param());
        return json($result);
    }

    public function fundInterestList()
    {
        $service = new OrderService();
        $result = $service->fundInterestList($this->request->param(), $this->getAdminId());
        return json($result);
    }


    ################################################# 港股
    public function hkStockHold()
    {
        $service = new OrderService();
        $result = $service->hkStockHold($this->request->param(), $this->getAdminId());
        return json($result);
    }

    public function hkStockPlace()
    {
        $service = new OrderService();
        $result = $service->hkStockPlace($this->request->param(), $this->getAdminId());
        return json($result);
    }


    public function hkStockBack()
    {
        $service = new OrderService();
        $result = $service->hkStockBack($this->request->param(), $this->getAdminId());
        return json($result);
    }


    public function hkStockClear()
    {
        $service = new OrderService();
        $result = $service->hkStockClear($this->request->param(), $this->getAdminId());
        return json($result);
    }

    ################################################# 印度期权
    public function inOptionHold()
    {
        $service = new OrderService();
        $result = $service->inOptionHold($this->request->param(), $this->getAdminId());
        return json($result);
    }

    public function inOptionPlace()
    {
        $service = new OrderService();
        $result = $service->inOptionPlace($this->request->param(), $this->getAdminId());
        return json($result);
    }


    public function inOptionBack()
    {
        $service = new OrderService();
        $result = $service->inOptionBack($this->request->param(), $this->getAdminId());
        return json($result);
    }


    public function inOptionClear()
    {
        $service = new OrderService();
        $result = $service->inOptionClear($this->request->param(), $this->getAdminId());
        return json($result);
    }

    public function block()
    {
        $service = new OrderService();
        $result = $service->blockStock($this->request->param(), $this->getAdminId());
        return json($result);
    }
}