130 lines
3.6 KiB
PHP
Executable File
130 lines
3.6 KiB
PHP
Executable File
#!/usr/bin/php
|
|
<?php
|
|
|
|
//require 'vendor/autoload.php';
|
|
require("../config/config.php");
|
|
|
|
define('FRONKDB_SQLDEBUG',false);
|
|
error_reporting(E_ALL & ~(E_NOTICE | E_STRICT | E_DEPRECATED));
|
|
|
|
require_once(LIBDIR."/mvcfronk/mfRouter/mfRouter.php");
|
|
require_once(LIBDIR."/mvcfronk/mfBase/mfBaseModel.php");
|
|
require_once(LIBDIR."/mvcfronk/mfBase/mfBaseController.php");
|
|
|
|
$me = new User(1);
|
|
|
|
define("INTERNAL_USER_ID", $me->id);
|
|
define("INTERNAL_USER_USERNAME", $me->username);
|
|
|
|
$mainlog = mfLoghandler::singleton();
|
|
$log = new mfLog_File();
|
|
$log->init(BASEDIR."/var/log/rimo-import.log");
|
|
|
|
$apiOwner = "estmk";
|
|
$apiEdition = "prod";
|
|
$apiData = TT_RIMO_API_CREDS[$apiOwner][$apiEdition];
|
|
|
|
$apiUrl = $apiData["url"];
|
|
$apiToken = $apiData["key"];
|
|
|
|
$epGetClusters = $apiUrl.RIMO_API_JSON_EP_GET_CLUSTERS;
|
|
$epGetBuildings = $apiUrl.RIMO_API_JSON_EP_GET_BUILDINGS;
|
|
|
|
/*
|
|
if(!defined("RIMO_API_JSON_APIKEY_PROD")) {
|
|
die("rimo api token not defined!");
|
|
}*/
|
|
|
|
$import_count = 0;
|
|
|
|
$baseParams = ['apiKey' => $apiToken];
|
|
|
|
$ctxOptsPost = [
|
|
'http' => [
|
|
'method' => 'POST',
|
|
'header' => 'accept: application/json'
|
|
]
|
|
];
|
|
|
|
$ctxOptsGet = [
|
|
'http' => [
|
|
'method' => 'GET',
|
|
'header' => 'accept: application/json'
|
|
]
|
|
];
|
|
|
|
/*
|
|
* Get RIMO Sales Clusters
|
|
*/
|
|
|
|
$params = $baseParams;
|
|
$qs = http_build_query($params);
|
|
|
|
$req_url = $epGetClusters."?".$qs;
|
|
$req_ctx = stream_context_create($ctxOptsGet);
|
|
|
|
echo $req_url."\n";
|
|
$responseText = file_get_contents($req_url, false, $req_ctx);
|
|
if($responseText === false) {
|
|
echo "Error fetching clusters\n";
|
|
exit;
|
|
}
|
|
|
|
$clustersResponse = json_decode($responseText);
|
|
//var_dump($clustersResponse);
|
|
//exit;
|
|
if(is_object($clustersResponse) && property_exists($clustersResponse, "item") && is_array($clustersResponse->item) && count($clustersResponse->item)) {
|
|
|
|
foreach($clustersResponse->item as $cluster) {
|
|
$cluster_rimo_id = $cluster->id;
|
|
echo "$cluster_rimo_id | name: ".$cluster->name."; label: ".$cluster->userLabel."\n";
|
|
continue;
|
|
$adb_netzgebiet = ADBNetzgebietModel::getFirst(['rimo_id' => $cluster_rimo_id]);
|
|
if(!$adb_netzgebiet) {
|
|
echo "Kein Netzgebiet für Salescluster $cluster_rimo_id (".$cluster->name.")\n";
|
|
continue;
|
|
}
|
|
|
|
/*
|
|
* Get Buildings per SalesCluster
|
|
*/
|
|
$params = $baseParams;
|
|
$params["clusterId"] = $cluster_rimo_id;
|
|
$qs = http_build_query($params);
|
|
|
|
$req_url = $epGetBuildings."?".$qs;
|
|
$req_ctx = stream_context_create($ctxOptsGet);
|
|
|
|
echo $req_url."\n";
|
|
$responseText = file_get_contents($req_url, false, $req_ctx);
|
|
|
|
if($responseText === false) {
|
|
echo "Error fetching Buildings in cluster $cluster_rimo_id (".$cluster->name.")\n";
|
|
exit;
|
|
}
|
|
|
|
$buildingsResponse = json_decode($responseText);
|
|
|
|
if(is_object($buildingsResponse) && property_exists($buildingsResponse, "item") && is_array($buildingsResponse->item) && count($buildingsResponse->item)) {
|
|
foreach($buildingsResponse->item as $building) {
|
|
//var_dump($building);
|
|
if($building->buildingType && $building->buildingType->userLabel != "Greenfield") {
|
|
//var_dump($building);
|
|
} else {
|
|
continue;
|
|
}
|
|
if($building->buildingType && $building->buildingType->userLabel != "Greenfield" && $building->homesCount > 0 && property_exists($building->homes, "item") && is_array($building->homes->item) && count($building->homes->item)) {
|
|
print_r($building);exit;
|
|
foreach($building->homes->item as $home) {
|
|
|
|
//vaR_dump($home->ftus->item);
|
|
}
|
|
exit;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
}
|
|
//echo $response;
|
|
echo "\n"; |