fixing API Problems when to many results
This commit is contained in:
parent
8bd927dd23
commit
6ec770f27c
|
@ -183,7 +183,7 @@ include "zefixAPI.php";
|
|||
const lines = communityCsvData.trim().split('\n');
|
||||
const headers = lines[0].split(',');
|
||||
const gemeindeNameIndex = headers.indexOf('Gemeindename');
|
||||
const bfsIdIndex = headers.indexOf('bfsId');
|
||||
const bfsIdIndex = headers.indexOf('id');
|
||||
const kantonIndex = headers.indexOf('Kanton');
|
||||
const registryOfCommerceIdIndex = headers.indexOf('registryOfCommerceId');
|
||||
|
||||
|
|
15
submit.php
15
submit.php
|
@ -11,7 +11,9 @@ $taskDir = 'tasks';
|
|||
*/
|
||||
// Request data
|
||||
$data = array();
|
||||
|
||||
$data["maxEntries"] = 50;
|
||||
$data["offset"] = 0;
|
||||
$data["languageKey"] = "de";
|
||||
$results = array();
|
||||
|
||||
// Wenn Firmenname vorhanden
|
||||
|
@ -21,11 +23,14 @@ if(isset($_POST['firma']) && !empty($_POST['firma'])) {
|
|||
|
||||
// Wenn gelöschte auch gesucht werden sollen
|
||||
if(isset($_POST['geloeschteRechtseinheiten'])) {
|
||||
$data["activeOnly"] = false;
|
||||
$data["deletedFirms"] = true;
|
||||
} else {
|
||||
$data["activeOnly"] = true;
|
||||
$data["deletedFirms"] = false;
|
||||
}
|
||||
|
||||
//TODO get from Frontend
|
||||
$data["searchType"] = "exact";
|
||||
|
||||
$rechtsformen = array();
|
||||
if (isset($_POST['rechtsformen']) && is_array($_POST['rechtsformen']) && count($_POST['rechtsformen']) > 0) {
|
||||
$rechtsformen = $_POST['rechtsformen'];
|
||||
|
@ -49,11 +54,11 @@ if (isset($_POST['sitze']) && is_array($_POST['sitze']) && count($_POST['sitze']
|
|||
$requests_to_do = Array();
|
||||
// Loop through the selected values
|
||||
foreach ($rechtsformen as $rechtsform) {
|
||||
$data["legalFormId"] = $rechtsform;
|
||||
$data["legalForms"] = Array(intval($rechtsform));
|
||||
|
||||
// Loop through the selected values
|
||||
foreach ($sitze as $sitz) {
|
||||
$data["legalSeatId"] = $sitz;
|
||||
$data["legalSeats"] = Array(intval($sitz));
|
||||
$requests_to_do[] = $data;
|
||||
}
|
||||
|
||||
|
|
|
@ -4,7 +4,7 @@ include "read_write_xlsx.php";
|
|||
|
||||
include "emailSender.php";
|
||||
|
||||
$maxExecutionTime = 480;
|
||||
$maxExecutionTime = 300;
|
||||
$taskDir = 'tasks';
|
||||
$downloadDir = 'download';
|
||||
$minTaskOldness = 10;
|
||||
|
@ -18,7 +18,11 @@ if(!is_dir($downloadDir)){
|
|||
function doRequest($data, $filename, $username, $password)
|
||||
{
|
||||
$response = sendAPICompanySearchRequest($username, $password, $data);
|
||||
$companyArray = json_decode($response, true);
|
||||
$responseObject = json_decode($response, true);
|
||||
if(array_key_exists("error", $responseObject)) {
|
||||
return false;
|
||||
}
|
||||
$companyArray = $responseObject['list'];
|
||||
$companyData = array();
|
||||
foreach ($companyArray as $company) {
|
||||
$companyFullData = json_decode(sendAPICompanyInfoRequest($username, $password, $company['uid']), true)[0];
|
||||
|
@ -40,6 +44,11 @@ function doRequest($data, $filename, $username, $password)
|
|||
}
|
||||
fclose($file);
|
||||
}
|
||||
if($responseObject['hasMoreResults']) {
|
||||
return $responseObject['maxOffset'] + 50;
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
@ -75,8 +84,12 @@ while($latesEndTime - time() > 60){
|
|||
|
||||
// if there are any requests to do, do the first
|
||||
if(count($task['requests']) > 0) {
|
||||
doRequest($task['requests'][0], str_replace(".json", ".csv", $downloadDir.'/'.$taskfiles[0]), $username , $password);
|
||||
$nextOffset = doRequest($task['requests'][0], str_replace(".json", ".csv", $downloadDir.'/'.$taskfiles[0]), $username , $password);
|
||||
if($nextOffset){
|
||||
$task['requests'][0]['offset'] = $nextOffset;
|
||||
} else {
|
||||
array_shift($task['requests']);
|
||||
}
|
||||
$taskString = json_encode($task);
|
||||
$taskfile = fopen($taskDir.'/'.$taskfiles[0], 'w');
|
||||
if($taskfile){
|
||||
|
|
|
@ -44,7 +44,7 @@ function sendAPICompanyInfoRequest(string $username, string $password, string $u
|
|||
function sendAPICompanySearchRequest(string $username, string $password, array $data): string|bool {
|
||||
|
||||
// API endpoint
|
||||
$apiUrl = 'https://www.zefix.admin.ch/ZefixPublicREST/api/v1/company/search';
|
||||
$apiUrl = 'https://www.zefix.admin.ch/ZefixREST/api/v1/firm/search.json';
|
||||
|
||||
// Headers
|
||||
$headers = array(
|
||||
|
@ -77,7 +77,7 @@ curl_close($ch);
|
|||
function sendAPICommunityRequest(string $username, string $password): string|bool
|
||||
{
|
||||
// API endpoint
|
||||
$apiUrl = 'https://www.zefix.admin.ch/ZefixPublicREST/api/v1/community';
|
||||
$apiUrl = 'https://www.zefix.admin.ch/ZefixREST/api/v1/community.json';
|
||||
|
||||
// Headers
|
||||
$headers = array(
|
||||
|
@ -110,7 +110,7 @@ function sendAPICommunityRequest(string $username, string $password): string|boo
|
|||
function communityCSV(string $username, string $password): string {
|
||||
$response = sendAPICommunityRequest($username, $password);
|
||||
$communityArray = json_decode($response, true);
|
||||
$csvOutput = 'bfsId,Kanton,Gemeindename,registryOfCommerceId\n';
|
||||
$csvOutput = 'id,bfsId,Kanton,Gemeindename,registryOfCommerceId,replacedById,alternateNames\n';
|
||||
// Create CSV rows
|
||||
|
||||
foreach ($communityArray as $item) {
|
||||
|
@ -122,7 +122,7 @@ function communityCSV(string $username, string $password): string {
|
|||
function sendAPILegalFormRequest(string $username, string $password): string|bool
|
||||
{
|
||||
// API endpoint
|
||||
$apiUrl = 'https://www.zefix.admin.ch/ZefixPublicREST/api/v1/legalForm';
|
||||
$apiUrl = 'https://www.zefix.admin.ch/ZefixREST/api/v1/legalForm.json';
|
||||
|
||||
// Headers
|
||||
$headers = array(
|
||||
|
|
Loading…
Reference in New Issue