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

}