This commit is contained in:
2026-04-06 03:10:44 +08:00
parent 7b5d43f0e8
commit dd6745fe24
16 changed files with 402 additions and 637 deletions
+21 -45
View File
@@ -78,53 +78,29 @@ class User extends Command
//cp('imToken:' . $imToken['token']);
return 0;
}
function build_team(InputInterface $input, OutputInterface $output){
$list = Db::name('user')->field('id')->order('id','asc')->select();
//$list = [['id'=>100006]];
foreach($list as $k=>$user){
//team_total
$team_user_ids = Db::name('user_team')->where('ancestor_id',$user['id'])
->where('depth','>',0)
->order('depth','ASC')
->column('descendant_id');
Db::name('user_extend')->where('user_id',$user['id'])->data([
'team_total'=> count($team_user_ids)
])->save();
cache('team_user_count_'.$user['id'],count($team_user_ids));
$direct_use_count = Db::name('user')->where('parent_id',$user['id'])->count('id');
$vip_user_count = Db::name('user')->whereIn('id',$team_user_ids)->where('role_id','>',1)->count('id');
Db::name('user_extend')->where('user_id',$user['id'])->data([
'direct_total'=> $direct_use_count,
'vip_total'=> $vip_user_count
])->save();
cache('team_direct_total_'.$user['id'],$direct_use_count);
cache('team_vip_total_'.$user['id'],$vip_user_count);
$this->level_up($user['id'],$vip_user_count);
cp($user['id'].'完成');
function otop(InputInterface $input, OutputInterface $output){
$user_id = $input->getOption('user_id');
if(!$user_id){
return false;
}
return 0;
/**
* @var \plugin\admin\app\model\Admin $admin
*/
$admin = \plugin\admin\app\model\Admin::where('id',$user_id)->find();
if(!$admin){
return false;
}
$totp = \OTPHP\TOTP::create($admin->totp_secret);
cp($totp->now());
return 1;
}
protected function level_up($user_id,$count=0){
$levels = [
0,
50,
100,
1000,
5000,
20000,
];
$level = 0;
foreach($levels as $k=>$v){
if($count>=$v){
$level= $k;
}else{
break;
}
function build_team(){
Db::name('user_team')->where('ancestor_id','>',0)->delete();
$list = Db::name('user')->field('id,parent_id')->order('id','asc')->select();
foreach($list as $k=>$user){
build_user_team($user);
cp('user_id:'.$user['id']);
}
Db::name('user')->where('id',$user_id)->data(['level'=>$level])->save();
return 0;
}
}