bourse stock
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

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;
}
}