field('usable_num,frozen_num,stock_id as name')->select(); $result=[]; if(!empty($res)){ $result=$res->toArray(); } if(empty($result)){ $info = new self; $info->user_id = $user_id; $info->stock_id = 'USD'; $info->usable_num = 0; $info->frozen_num = 0; $info->create_time = date('Y-m-d H:i:s'); $info->update_time = date('Y-m-d H:i:s'); $info->save(); $result=$info->toArray(); } return $result; } public static function getUserUSDByUserId(array $data):array { $info = self::where([ 'user_id'=>$data['user_id'], 'stock_id'=>'USD' ])->field('usable_num,frozen_num,stock_id as name')->find(); if(empty($info)){ $info = new self; $info->user_id = $data['user_id']; $info->stock_id = 'USD'; $info->usable_num = 0; $info->frozen_num = 0; $info->create_time = date('Y-m-d H:i:s'); $info->update_time = date('Y-m-d H:i:s'); $info->save(); } return $info->toArray(); } public static function InsertUserMoneyk(array $data) { $self = new self; $self->user_id = $data['user_id']; $self->stock_id = $data['stock_id']; $self->usable_num = $data['usable_num']; $self->frozen_num = $data['frozen_num']; $self->create_time = date('Y-m-d H:i:s'); $self->save(); } public static function getUserUSDLock(int $user_id,string $stock_id='USD'):array { $info = self::where([ 'user_id'=>$user_id, 'stock_id'=>$stock_id ])->lock(true)->find(); if(empty($info)){ $info = new self; $info->user_id = $user_id; $info->stock_id = $stock_id; $info->usable_num = 0; $info->frozen_num = 0; $info->create_time = date('Y-m-d H:i:s'); $info->update_time = date('Y-m-d H:i:s'); $info->save(); } return $info->toArray(); } public static function updateUserUSD(array $update_data,array $where) { $update_data['update_time']=date('Y-m-d H:i:s'); $res=self::where($where)->save($update_data); //echo self::where($where)->getLastSql(); return $res; } }