<?php

namespace app\home\controller;


use app\home\service\MarketService;
use think\response\Json;
use think\Request;

/***
 * 处理行情
 */
class Market extends HomeBaseController
{
    /**
     * 获取行情交易对列表
     * @param Request $request
     * @return Json
     */
    public function marketList(Request $request): Json
    {
        $data['market_type'] = $request->post('market_type');
        $data['trade_name'] = $request->post('trade_name');
        $data['page'] = $request->post('page',1);
        $data['page_size'] = $request->post('page_size',10);
        $result = (new MarketService())->getMarketList($data);
        return json($result);
    }

    /**
     * 获取用户自选行情
     * @param Request $request
     * @return Json
     */
    public function userMarket(Request $request): Json
    {
        $data['market_type']= $request->post('market_type');
        $data['user_id'] = $request->userId;
        $data['trade_name'] = $request->post('trade_name');
        $data['page'] = $request->post('page',1);
        $data['page_size'] = $request->post('page_size',10);
        $result = (new MarketService())->getUserMarket($data);
        return json($result);
    }

    /**
     * 添加自选数据
     * @param Request $request
     * @return Json
     */
    public function addMarket(Request $request): Json
    {
        $data['market_type'] = $request->post('market_type');
        $data['user_id'] = $request->userId;
        $data['trade_name'] = $request->post('trade_name');
        $data['trade_numeric_code'] = $request->post('trade_numeric_code') ?? 0;
        $data['market_name'] = $request->post('market_name');
        $result = (new MarketService())->addUserMarket($data);
        return json($result);
    }

    /**
     * 删除自选数据
     * @param Request $request
     * @return Json
     */
    public function delMarket(Request $request): Json
    {
        $data['market_type'] = $request->post('market_type');
        $data['user_id'] = $request->userId;
        $data['trade_name'] = $request->post('trade_name');
        $result = (new MarketService())->delUserMarket($data);
        return json($result);
    }
    public function MarketCollect(Request $request): Json
    {
        $data['market_type'] = $request->post('market_type');
        $data['user_id'] = $request->userId;
        $data['trade_name'] = $request->post('trade_name');
        $result = (new MarketService())->getUserIsCollect($data);
        return json($result);

    }
    /**
     * 获取交易手续费用
     */
    public function tradeFee(Request $request): Json
    {
        $data['market_type'] = $request->post('market_type');
        $result = (new MarketService())->getTradeFee($data);
        return json($result);
    }
    public function marketTradeList(Request $request): Json
    {
        $data['market_type'] = $request->post('market_type');
        $data['trade_name'] = $request->post('trade_name');
        $data['num'] = $request->post('num',100);
        $result = (new MarketService())->getMarketTradeList($data);
        return json($result);

    }
    public function TradeTypeList(Request $request): Json
    {
        $result = (new MarketService())->getTradeTypeList();
        return json($result);
    }
    public function ForexFaceList(Request $request): Json
    {
        $data['trade_name'] = $request->post('trade_name');
        $result = (new MarketService())->getForexFace($data);
        return json($result);
    }
    public function ContractFaceList(Request $request): Json
    {
        $result = (new MarketService())->getContractFace();
        return json($result);
    }
    public function ContractSetting(Request $request): Json
    {
        $result = (new MarketService())->getContractSetting();
        return json($result);
    }
    public function marketRate(Request $request): Json
    {
        $result = (new MarketService())->getMarketRate();
        return json($result);
    }


}