apiUrl = $apiUrl; $this->model = new $model(); if (!$isUpdate) { $this->model->truncate(); } $this->selectedKeys = $selectedKeys; } protected function getAuth() { $url = 'https://cbgl.sxlq.com:8090/OAuth2/AccessToken?Client_id=mdo2BJb8X0KL4yX4IiOugw&client_secret=Yrbru8hqaEmAY3Temxwiew&grant_type=client_credential'; return json_decode(file_get_contents($url))->access_token; } /* * @Title: 拉取 * @Description: TODO */ public function get() { $token=$this->getAuth(); $url=$this->host.$this->apiUrl; $response = Http::withVerify(false)->post($url.'?access_token=' . $token . '&PageSize=' . $this->pageSize . '&Page=' . $this->pageIndex); $res = $response->json(); if ($res->errcode == 1) { return false; } if (empty($res->Objects)) { return false; } $resArr = json_decode(json_encode($res->Objects), true); # 记录定时任务日志 (new FetchdataLog())->insert([ 'fetch_name' => '拉取调价单', 'data_num' => $this->pageSize, 'return_code' => json_encode($resArr)['code']??200, 'pull_time' => date('Y-m-d H:i:s'), // 'content' => json_encode($resArr), 'notes' => $url.'?access_token=' . $token . '&PageSize=' . $this->pageSize . '&Page=' . $this->pageIndex ]); if (!empty($resArr)) { $extractedData = []; foreach ($resArr as $item) { $extractedItem = []; foreach ($this->selectedKeys as $key => $value) { if (isset($item[$key])) { $extractedItem[$value] = $item[$key]; } else { $extractedItem[$value] = ''; } } $extractedData[] = $extractedItem; } $this->model->insertOrIgnore($extractedData); unset($response); unset($res); unset($resArr); unset($selectedKeys); unset($extractedData); unset($extractedItem); $this->pageIndex++; $this->get(); } return true; } }