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
115 lines
3.1 KiB
<?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 [];
|
|
}
|
|
|
|
}
|
|
|
|
|
|
}
|