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.
69 lines
1.7 KiB
69 lines
1.7 KiB
2 months ago
|
<?php
|
||
|
|
||
|
namespace app\model;
|
||
|
|
||
|
/**
|
||
|
*
|
||
|
* // 美股列表
|
||
|
* @property int id
|
||
|
* @property string stock_name
|
||
|
* @property string stock_code
|
||
|
* @property string status
|
||
|
* @property int tape
|
||
|
* @property string info
|
||
|
* @property string create_time
|
||
|
* @property string update_time
|
||
|
* @property float forced_closure
|
||
|
* @property float keep_decimal
|
||
|
* @property float up_limit
|
||
|
* @property float down_limit
|
||
|
*/
|
||
|
class StockListModel extends BaseModel
|
||
|
{
|
||
|
|
||
|
// 美股列表 数据表
|
||
|
protected $name = 'stock_list';
|
||
|
protected $pk = 'id';
|
||
|
|
||
|
|
||
|
const TAPE_NYSE = '1';
|
||
|
const TAPE_NYSE_ARCA = '2';
|
||
|
const TAPE_NASDAQ = '3';
|
||
|
public static $tapeList = [
|
||
|
self::TAPE_NYSE => 'NYSE',
|
||
|
self::TAPE_NYSE_ARCA => 'NYSEARCA',
|
||
|
self::TAPE_NASDAQ => 'NASDAQ',
|
||
|
];
|
||
|
|
||
|
|
||
|
public static function getMarketList($data): array
|
||
|
{
|
||
|
$where='status=1';
|
||
|
if(!empty($data['trade_name'])){
|
||
|
$where.=" and (trade_name like '".strtoupper($data['trade_name'])."%' or stock_code like '".strtoupper($data['trade_name'])."%')";
|
||
|
}
|
||
|
if($data['page']<1){
|
||
|
$data['page']=1;
|
||
|
}
|
||
|
if($data['page_size']<1){
|
||
|
$data['page_size']=10;
|
||
|
}
|
||
|
|
||
|
$count=self::where($where)->count();
|
||
|
|
||
|
$list = self::where($where)->field('trade_name as name,stock_code as code')->page($data['page'],$data['page_size'])->select();
|
||
|
if(empty($list)){
|
||
|
return [];
|
||
|
}
|
||
|
return [
|
||
|
'total'=>$count,
|
||
|
'list'=>$list->toArray(),
|
||
|
];
|
||
|
}
|
||
|
public static function existMarket($trade_name):bool
|
||
|
{
|
||
|
$id=self::where('stock_code',$trade_name)->value('id');
|
||
|
return $id >0;
|
||
|
}
|
||
|
|
||
|
}
|