disableQueryLog(); $this->getAccountData(); } public function getAccountData() { do { $timestamps = time(); $params = [ 'vipid' => ZDService::VIP_ID, 'timestamp' => $timestamps, 'page' => $this->page ]; $params['sign'] = ZDService::sign($timestamps); $requestUri = ZDService::API_BASE_URL . ZDService::CHANNEL_LIST . '?' . http_build_query($params); # 获取列表 $response = HttpService::httpGet($requestUri); if($response === false) Log::logError('掌读公众账号数据获取失败' . $requestUri, $params, 'ZDAccountData'); $responseData = json_decode($response, true); $pageCount = isset($responseData['data']['pageCount']) ? $responseData['data']['pageCount'] : 0; $this->info('共有数据'.$pageCount.'页'); $total = 0; if($pageCount > 0) { $data = isset($responseData['data']['list']) ? $responseData['data']['list'] : []; $platformId = ZDService::PLATFORM_ID; $total = count($data); foreach ($data as $item) { $insertData = [ 'platform_id' => $platformId, 'channel_id' => $item['channelid'], 'site_domain' => null, 'username' => null, 'name' => $item['nickname'], 'app_id' => $item['wxappid'], 'raw_id' => $item['raw_id'], 'nickname' => $item['nickname'], 'platform_created_at' => date('Y-m-d H:i:s', $item['create_time']) ]; # 创建或更新 Account::updateOrCreate( ['platform_id'=>$platformId, 'name'=>$item['nickname']], $insertData ); } $this->page++; } else { Log::logError('掌读账号信息获取失败', (array)$responseData, 'ZDAccountData'); } $this->info('本次共同步账号'.$total.'个'); } while($pageCount >= $this->page && $pageCount); } }