不用管前端,直接输出,效果相当不错
//同步用户数据
public function syncUserData(){
header('X-Accel-Buffering: no');
set_time_limit(0);
ob_end_clean();
ob_implicit_flush(1);
$request = new appcommonserviceApiclientService();
$params = [
'page_size' => 100,
'page' => 1,
'id'=>0
];
$result = $request->request('https://yanhan-edu.com/api.member/getList', $params);
// dump($result);
if($result['code'] != 0){
echo('请求失败'."<br>");
flush();
die();
}
$total = $result['data']['count'];
$totalpage = ceil($total / 8);
// dump($totalpage);
// die();
for($i = 0; $i < $totalpage; $i++){
$params = [
'page_size' => 8,
'page' => $i+1,
'id'=>0
];
$result = $request->request('https://yanhan-edu.com/api.member/getList', $params);
if($result['code'] != 0){
echo('第'.($i+1).'页请求失败'."<br>");
flush();
die();
}
echo('<br>第'.($i+1).'页请求成功'."<br>");
flush();
$datalist = $result['data']['list'];
foreach ($datalist as $item){
$user = User::where('id', $item['id'])->find();
if(empty($user)){
$user = new User();
$user->id = $item['id'];
$user->inviter_id = $item['inviter_id'];
// $user->status = 1;
$user->sn = User::createUserSn();
$user->avatar = $item['avatar'];
$user->real_name = $item['realname'];
$user->nickname = $item['nickname'];
$user->account = $item['account'];
$user->mobile = $item['account'];
$user->sex = $item['sex'];
$user->level_id = $item['is_vip']>=1?1:0;
$user->is_distributor = $item['is_vip']>=1?1:0;
$user->save();
}else{
$user->inviter_id = $item['inviter_id'];
$user->avatar = $item['avatar'];
$user->real_name = $item['realname'];
$user->nickname = $item['nickname'];
$user->account = $item['account'];
$user->mobile = $item['account'];
$user->sex = $item['sex'];
if($user->level_id<=1){
$user->level_id = $item['is_vip']>=1?1:0;
}
$user->is_distributor = $item['is_vip']>=1?1:0;
$user->save();
}
echo('ID'.$item['id'].'数据同步成功'."---");
}
}
echo('<br>同步成功,共同步'.$total.'条数据'."<br>");
flush();
}