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.
81 lines
2.6 KiB
81 lines
2.6 KiB
2 months ago
|
<?php
|
||
|
|
||
|
namespace app\model;
|
||
|
|
||
|
class UserMoneyModel extends BaseModel
|
||
|
{
|
||
|
protected $name = 'user_money';
|
||
|
public static function getUserMoney($user_id){
|
||
|
$res=self::where('user_id',$user_id)->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;
|
||
|
}
|
||
|
|
||
|
}
|