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.

115 lines
3.1 KiB

2 months ago
<?php
namespace app\model;
use think\facade\Db;
/**
* @property int user_id
* @property int parent_id
* @property int grandpa_id
* @property int top_id
*/
class UserLevelModel extends BaseModel
{
protected $name = 'user_level';
protected $pk = 'user_id';
public static function getUserLevelById($user_id):array
{
$info = self::where('user_id', $user_id)->find();
if(empty($info)){
return [];
}
return $info->toArray();
}
public static function getUserLevelList():array
{
$list = self::where(1)->select();
if(empty($list)){
return [];
}
return $list->toArray();
}
public static function getUserTeamList($data):array
{
if($data['page']<1){
$data['page']=1;
}
if($data['page_size']<1){
$data['page_size']=10;
}
$where=[];
switch ($data['level_type']){
case 1:
$where['l.parent_id']=$data['user_id'];
break;
case 2:
$where['l.grandpa_id']=$data['user_id'];
break;
case 3:
$where['l.top_id']=$data['user_id'];
break;
}
$list=Db::table('bot_user_level l')->field('l.user_id,u.user_no,u.create_time as reg_time')
->leftjoin('bot_users u','u.user_id=l.user_id')
->where($where)->select();
$count=Db::table('bot_user_level l')->field('l.user_id,u.user_no,u.create_time as reg_time')
->leftjoin('bot_users u','u.user_id=l.user_id')
->where($where)->count();
if(!empty($list)){
$list=$list->toArray();
foreach ($list as $key=>$val){
$list[$key]['is_pay']=RechargeApplyModel::getUserIsRecharge($val);
$list[$key]['is_trade']=self::getUserIsTrade($val['user_id']);
}
return [
'total'=>$count,
'list'=>$list,
];
}else{
return [];
}
}
public static function getUserLevelCount(array $where){
$count=self::where($where)->count();
return $count;
}
public static function InsertUserLevel(array $data)
{
$self = new self;
$self->user_id = $data['user_id'];
$self->parent_id = $data['parent_id'];
$self->grandpa_id = $data['grandpa_id'];
$self->top_id = $data['top_id'];
return $self->save();
}
public static function getUserIsTrade($user_id){
$dig_res=DigitalTradeModel::getUserTradeNum($user_id);
if($dig_res){
return true;
}
$sto_res=StockTradeModel::getUserTradeNum($user_id);
if($sto_res){
return true;
}
$con_res=ContractTradeModel::getUserTradeNum($user_id);
if($con_res){
return true;
}
return false;
}
public static function getUsers($data)
{
$list=self::where($data)->field('user_id')->select();
if(!empty($list)){
return $list->toArray();
}else{
return [];
}
}
}