You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
142 lines
5.7 KiB
142 lines
5.7 KiB
<?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-印度股 8-秒合约 9-新加坡股 10-基金 11-印度期权 12-港股 14-英股 15-法股 16-德股 17-巴西股 18-日股 19-外汇 20-印度股指 21-黄金期货
|
|
const DIGITAL_MARKET = 1;
|
|
const CONTRACT_MARKET = 2;
|
|
const STOCK_MARKET_USA = 3;
|
|
const STOCK_MARKET_YNG = 4;
|
|
const STOCK_MARKET_MG = 5;
|
|
const STOCK_MARKET_TG = 6;
|
|
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_INR_INDEX = 20;
|
|
const GOLD_FUTURES = 21;
|
|
|
|
const STOCK_MARKET_TYPE = [
|
|
self::DIGITAL_MARKET => '现货',
|
|
self::CONTRACT_MARKET => '合约',
|
|
self::STOCK_MARKET_USA => '美股',
|
|
self::STOCK_MARKET_YNG => '印尼股',
|
|
self::STOCK_MARKET_MG => '马股',
|
|
self::STOCK_MARKET_TG => '泰股',
|
|
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 => '外汇',
|
|
self::STOCK_INR_INDEX => '印度股指',
|
|
self::GOLD_FUTURES => '黄金期货',
|
|
];
|
|
|
|
// 各类型交易记录表
|
|
const TRADE_TABLE = [
|
|
self::DIGITAL_MARKET => 'bot_digital_trade', // 现货(数字币)交易记录表
|
|
self::CONTRACT_MARKET => 'bot_contract_trade', // 合约交易记录表
|
|
self::STOCK_MARKET_USA => 'bot_stock_trade', // 美股交易记录表
|
|
self::STOCK_MARKET_YNG => 'bot_stock_idn_trade', // 印尼股交易记录表
|
|
self::STOCK_MARKET_MG => 'bot_stock_mys_trade', // 马来股交易记录表
|
|
self::STOCK_MARKET_TG => 'bot_stock_tha_trade', // 泰国股交易记录表
|
|
self::STOCK_MARKET_IN => 'bot_stock_in_trade', // 印度股交易记录表
|
|
self::STOCK_MARKET_HY => 'bot_contract_sec_trade', // 秒合约交易记录表
|
|
self::STOCK_MARKET_SGD => 'bot_stock_sgd_trade', // 新加坡股交易记录表
|
|
self::STOCK_MARKET_FUND => 'bot_user_fund_pre_stock_order', // 基金交易记录表 【注意:目前没有基金交易板块】
|
|
self::STOCK_MARKET_OPTION_IN => 'bot_stock_option_inr_trade', // 印度期权交易记录表
|
|
self::STOCK_MARKET_HK => 'bot_stock_hkd_trade', // 香港股交易记录表
|
|
self::STOCK_MARKET_UK => 'bot_stock_gbx_trade', // 英国股交易记录表
|
|
self::STOCK_MARKET_FUR => 'bot_stock_fur_trade', // 法国股交易记录表
|
|
self::STOCK_MARKET_EUR => 'bot_stock_eur_trade', // 德国股交易记录表
|
|
self::STOCK_MARKET_BRL => 'bot_stock_brl_trade', // 巴西股交易记录表
|
|
self::STOCK_MARKET_JP => 'bot_stock_jp_trade', // 日本股交易记录表
|
|
self::FOREX_MARKET => 'bot_forex_trade', // 外汇交易记录表
|
|
self::STOCK_INR_INDEX => 'stock_index_inr_trade', // 印度股指交易记录表
|
|
self::GOLD_FUTURES => 'bot_gold_futures_trade', // 黄金期货
|
|
];
|
|
|
|
// 状态
|
|
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)
|
|
{
|
|
$rate = StockMarketModel::where('stock_market_type', $accountType)->value('rate');
|
|
if(empty($rate) || $rate <= 0){
|
|
$rate = 0;
|
|
}
|
|
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,
|
|
];
|
|
}
|
|
|
|
}
|