<?php

namespace app\model;

/**
 * 股票市场
 * @property int $id
 * @property int $stock_market_type
 * @property int $status
 * @property int $rate
 * @property string $symbol
 * @property string $unit
 * @property int $trade_day_type
 * @property string $am_open_time
 * @property string $am_close_time
 * @property string $pm_open_time
 * @property string $pm_close_time
 * @property string $create_time
 * @property string $update_time
 * @property int $lever_status
 * @property int $stock_min
 * @property int $lever_min
 * @property int $lever_max
 */
class StockMarketModel extends BaseModel
{
    protected $name = 'stock_market';
    protected $pk = 'id';

    // 股票市场类型
    // 1 现货 2 合约 3 美股 4 印尼 5 马股 6 泰股 7 印度股
    const DIGITAL_MARKET = '1';
    const CONTRACT_MARKET = '2';
    const STOCK_MARKET_USA = '3';
    const STOCK_MARKET_MG = '5';
    const STOCK_MARKET_TG = '6';
    const STOCK_MARKET_YNG = '4';
    const STOCK_MARKET_IN = '7';
    const STOCK_MARKET_HY = '8';
    const STOCK_MARKET_SGD = '9';
    const STOCK_MARKET_FUND = '10';
    const STOCK_MARKET_OPTION_IN = '11';
    const STOCK_MARKET_HK = '12';
    const STOCK_MARKET_UK = '14';
    const STOCK_MARKET_FUR = '15';
    const STOCK_MARKET_EUR = '16';
    const STOCK_MARKET_BRL = '17';
    const STOCK_MARKET_JP = '18';
    const FOREX_MARKET = '19';

    const STOCK_MARKET_TYPE = [
        self::DIGITAL_MARKET => '现货',
        self::CONTRACT_MARKET => '合约',
        self::STOCK_MARKET_USA => '美股',
        self::STOCK_MARKET_MG => '马股',
        self::STOCK_MARKET_TG => '泰股',
        self::STOCK_MARKET_YNG => '印尼股',
        self::STOCK_MARKET_IN => '印度股',
        self::STOCK_MARKET_HY => '秒合约',
        self::STOCK_MARKET_SGD => '新加坡股',
        self::STOCK_MARKET_FUND => '基金',
        self::STOCK_MARKET_OPTION_IN => '印度期权',
        self::STOCK_MARKET_HK => '港股',
        self::STOCK_MARKET_UK => '英股',
        self::STOCK_MARKET_FUR => '法股',
        self::STOCK_MARKET_EUR => '德股',
        self::STOCK_MARKET_BRL => '巴西股',
        self::STOCK_MARKET_JP => '日股',
        self::FOREX_MARKET => '外汇',
    ];

    // 状态
    const STATUS_NO = 1;
    const STATUS_OFF = 2;

    // 交易日限制
    const TRADE_DAY_TYPE = [
        '1' => 'T+0',
        '2' => 'T+1',
        '3' => 'T+2',
        '4' => 'T+3',
    ];

    const LEVER_STATUS_ON = 1; // 杠杆状态 开启
    const LEVER_STATUS_OFF = 2; // 杠杆状态 关闭


    // 获取费率
    public function getRate($accountType)
    {
        switch ($accountType)
        {
            case '3':
                // 美股
                $rate = StockMarketModel::where('stock_market_type', StockMarketModel::STOCK_MARKET_USA)->value('rate');
                if(empty($rate) || $rate <= 0){
                    $rate = 0;
                }
                break;
            case '4':
                // 印尼股
                $rate = StockMarketModel::where('stock_market_type', StockMarketModel::STOCK_MARKET_YNG)->value('rate');
                if(empty($rate) || $rate <= 0){
                    $rate = 0;
                }
                break;
            case '5':
                // 马来股
                $rate = StockMarketModel::where('stock_market_type', StockMarketModel::STOCK_MARKET_MG)->value('rate');
                if(empty($rate) || $rate <= 0){
                    $rate = 0;
                }
                break;
            case '6':
                // 泰股
                $rate = StockMarketModel::where('stock_market_type', StockMarketModel::STOCK_MARKET_TG)->value('rate');
                if(empty($rate) || $rate <= 0){
                    $rate = 0;
                }
                break;
            case '7':
                // 印度股
                $rate = StockMarketModel::where('stock_market_type', StockMarketModel::STOCK_MARKET_IN)->value('rate');
                if(empty($rate) || $rate <= 0){
                    $rate = 0;
                }
                break;
            case '9':
                // 新加坡
                $rate = StockMarketModel::where('stock_market_type', StockMarketModel::STOCK_MARKET_SGD)->value('rate');
                if(empty($rate) || $rate <= 0){
                    $rate = 0;
                }
                break;
            case '10':
                // 基金
                $rate = StockMarketModel::where('stock_market_type', StockMarketModel::STOCK_MARKET_FUND)->value('rate');
                if(empty($rate) || $rate <= 0){
                    $rate = 0;
                }
                break;
            case '11':
                // 印度期权
                $rate = StockMarketModel::where('stock_market_type', StockMarketModel::STOCK_MARKET_OPTION_IN)->value('rate');
                if(empty($rate) || $rate <= 0){
                    $rate = 0;
                }
                break;
            case '12':
                // 港股
                $rate = StockMarketModel::where('stock_market_type', StockMarketModel::STOCK_MARKET_HK)->value('rate');
                if(empty($rate) || $rate <= 0){
                    $rate = 0;
                }
                break;
            case '14':
                // 港股
                $rate = StockMarketModel::where('stock_market_type', StockMarketModel::STOCK_MARKET_UK)->value('rate');
                if(empty($rate) || $rate <= 0){
                    $rate = 0;
                }
                break;
            case '15':
                // 港股
                $rate = StockMarketModel::where('stock_market_type', StockMarketModel::STOCK_MARKET_FUR)->value('rate');
                if(empty($rate) || $rate <= 0){
                    $rate = 0;
                }
                break;
            case '16':
                // 港股
                $rate = StockMarketModel::where('stock_market_type', StockMarketModel::STOCK_MARKET_EUR)->value('rate');
                if(empty($rate) || $rate <= 0){
                    $rate = 0;
                }
                break;
            case '17':
                // 巴西股
                $rate = StockMarketModel::where('stock_market_type', StockMarketModel::STOCK_MARKET_BRL)->value('rate');
                if(empty($rate) || $rate <= 0){
                    $rate = 0;
                }
                break;
            case '18':
                // 巴西股
                $rate = StockMarketModel::where('stock_market_type', StockMarketModel::STOCK_MARKET_JP)->value('rate');
                if(empty($rate) || $rate <= 0){
                    $rate = 0;
                }
                break;
            case '19':
                // 巴西股
                $rate = StockMarketModel::where('stock_market_type', StockMarketModel::FOREX_MARKET)->value('rate');
                if(empty($rate) || $rate <= 0){
                    $rate = 0;
                }
                break;
            default:
                $rate = 1;
                break;
        }

        return $rate;
    }

    //
    public function getAllTape(){
        return [
            self::STOCK_MARKET_USA => StockListModel::$tapeList,
            self::STOCK_MARKET_MG => StockMysListModel::$tapeList,
            self::STOCK_MARKET_TG => StockThaListModel::$tapeList,
            self::STOCK_MARKET_YNG => StockIdnListModel::$tapeList,
            self::STOCK_MARKET_IN => StockInListModel::$tapeList,
            self::STOCK_MARKET_SGD => StockSgdListModel::$tapeList,
            self::STOCK_MARKET_HK => StockHkdListModel::$tapeList,
            self::STOCK_MARKET_EUR => StockEurListModel::$tapeList,
            self::STOCK_MARKET_FUR => StockFurListModel::$tapeList,
            self::STOCK_MARKET_BRL => StockBrlListModel::$tapeList,
            self::STOCK_MARKET_JP => StockJpListModel::$tapeList,
        ];
    }
}