WIP 2023-12-15

This commit is contained in:
Frank Schubert
2023-12-15 12:20:43 +01:00
parent be6907fc55
commit 392d71f519
2 changed files with 67 additions and 9 deletions

View File

@@ -13,12 +13,53 @@ class Cif extends Modules\ApiControllerModule {
public function init() {
}
/*
* GET /preorder/:code/clientInstallationFinished
*/
public function providerSetCif($code) {
return \mfResponse::InternalServerError();
//return \mfResponse::Ok(["message" => "in providerSetCif($code)"]);
$code = trim($code);
if(!$code) {
return \mfResponse::NotFound(["message" => "Preorder not found"]);
}
$preorder = \PreorderModel::getFirst(['ucode' => strtoupper($code), 'partner_id' => $this->me->address_id]);
if(!$preorder) {
// try oaid
$preorder = \PreorderModel::getFirst(['oaid' => strtolower($code), 'partner_id' => $this->me->address_id], "`create` DESC");
}
if(!$preorder) {
// try as extref
$preorder = \PreorderModel::getFirst(['extref' => $code, 'partner_id' => $this->me->address_id]);
}
if(!$preorder) {
return \mfResponse::NotFound(["message" => "Preorder not found"]);
}
if($preorder->partner_id != $this->me->address_id) {
return \mfResponse::NotFound(["message" => "Preorder not found"]);
}
// set status to 200
if($preorder->status->code < 200) {
$new_status = \PreorderstatusModel::getFirst(["code" => 200]);
if(!$new_status) {
return \mfResponse::InternalServerError();
}
$preorder->status_id = $new_status->id;
$preorder->save();
}
return \mfResponse::Ok(["message" => "Status successfully updated."]);
}
/*
* GET /preorder/customerInstallationFeedback
*/
public function getCifData() {
if(!array_key_exists("ciftoken", $this->get) || !$this->get['ciftoken']) {
@@ -35,10 +76,13 @@ class Cif extends Modules\ApiControllerModule {
return \mfResponse::Ok($return);
}
/*
* POST /preorder/customerInstallationFeedback
*/
public function userSetCif() {
return \mfResponse::InternalServerError();
if(!array_key_exists("ciftoken", $this->get) || !$this->get['ciftoken']) {
if(!array_key_exists("ciftoken", $this->post) || !$this->post['ciftoken']) {
return \mfResponse::BadRequest(["message" => "ciftoken missing"]);
}
@@ -47,6 +91,18 @@ class Cif extends Modules\ApiControllerModule {
return \mfResponse::NotFound(["message" => "Invalid ciftoken"]);
}
// set status to 200
if($preorder->status->code < 200) {
$new_status = \PreorderstatusModel::getFirst(["code" => 200]);
if(!$new_status) {
return \mfResponse::InternalServerError();
}
$preorder->status_id = $new_status->id;
$preorder->save();
}
return \mfResponse::Ok(["message" => "Status successfully updated."]);
}

View File

@@ -20,7 +20,7 @@ $mainlog = mfLoghandler::singleton();
$log = new mfLog_File();
$log->init(BASEDIR."/var/log/rimo-import.log");
$apiOwner = "rml";
$apiOwner = "estmk";
$apiEdition = "prod";
$apiData = TT_RIMO_API_CREDS[$apiOwner][$apiEdition];
@@ -30,10 +30,10 @@ $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;
@@ -71,12 +71,14 @@ if($responseText === false) {
}
$clustersResponse = json_decode($responseText);
var_dump($clustersResponse);
exit;
//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";