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.

78 lines
2.1 KiB

<?php
namespace app\model;
/**
* @property int id
* @property int user_id
* @property string trade_name
* @property string market_name
* @property string market_type
* @property string create_time
*/
class UserMarketModel extends BaseModel
{
protected $name = 'user_market';
protected $pk = 'id';
public static function getUserMarket($data): array
{
if($data['page']<1){
$data['page']=1;
}
if($data['page_size']<1){
$data['page_size']=10;
}
$where=[
['user_id','=',$data['user_id']]
];
if(isset($data['market_type'])&& $data['market_type']>0){
$where[]=['market_type','=',$data['market_type']];
}
if(!empty($data['trade_name'])){
$where[]=['trade_name','like',$data['trade_name'].'%'];
}
$count=self::where($where)->count();
$list = self::where($where)->field('trade_name as code,market_name as name,market_type,trade_numeric_code')->page($data['page'],$data['page_size'])->order('id desc')->select();
if(empty($list)){
return [];
}
return [
'total'=>$count,
'list'=>$list->toArray(),
];
}
public static function checkExistMarket(array $data) : int
{
$id = self::where([
'user_id'=>$data['user_id'],
'market_type'=>$data['market_type'],
'trade_name'=>$data['trade_name']
])->value('id');
if(empty($id)){
return 0;
}else{
return $id;
}
}
public static function insertUserMarket(array $data)
{
$self = new self;
$self->user_id = $data['user_id'];
$self->trade_name = $data['trade_name'];
$self->trade_numeric_code = $data['trade_numeric_code'];
$self->market_name = $data['market_name'];
$self->market_type = $data['market_type'];
$self->create_time = date('Y-m-d H:i:s');
$self->save();
return $self->id;
}
public static function delUserMarket(int $id){
self::where("id",$id)->delete();
}
}