From d34a1e1b1599578d6b63486df79157e4469a05e3 Mon Sep 17 00:00:00 2001 From: Frank Schubert Date: Thu, 12 Feb 2026 14:56:53 +0100 Subject: [PATCH 1/2] citycom oan: Always trying to update cc service when snopp sends order --- .../Modules/Operationaldata/SnoppCitycom.php | 41 +------------------ 1 file changed, 2 insertions(+), 39 deletions(-) diff --git a/application/Api/v1/Modules/Operationaldata/SnoppCitycom.php b/application/Api/v1/Modules/Operationaldata/SnoppCitycom.php index 930bba7b8..dfc2011bb 100644 --- a/application/Api/v1/Modules/Operationaldata/SnoppCitycom.php +++ b/application/Api/v1/Modules/Operationaldata/SnoppCitycom.php @@ -125,6 +125,7 @@ class SnoppCitycom extends Modules\ApiControllerModule return \mfResponse::NotFound(["message" => "Home not found"]); } + /* if($ctag->ext_id && $ctag->ext_status == "finished") { if($preorder->status->code < 500) { $preorder->setNewStatusCode(500); @@ -136,44 +137,8 @@ class SnoppCitycom extends Modules\ApiControllerModule $cc_api->updateService($ctag->ext_id, ["billing_date" => (new \DateTime("now"))->format("Y-m-d")]); return \mfResponse::Ok(["message" => "Service active already", "activation_status" => "active"]); } + */ - - // Home must have Status 300, else return deferred - /*if($wohneinheit->status->code < 300) { - return \mfResponse::Ok(["message" => "ONT not yet installed. Deferred", "activation_status" => "deferred"]); - }*/ - - /* - $cc_home_id = \Citycom_OanApiHelper::hausnummerExtrefToCitycomId($wohneinheit->extref); - $data["up"] = $bb_up; - $data["down"] = $bb_down; - $data["product_name"] = false; - $data["execution_date"] = ($execution_date) ? $execution_date->format("Y-m-d") : false; - $data["services"] = CITYCOM_OAN_API_SERVICES_FOR_ORDER; - - // check if mgmt ctag is set - // so we use the same ctag set for the real services - $mgmt_ctag = \PreorderCtag::getFirstActive(["preorder_id" => $preorder->id, "service_type" => "mgmt"]); - if($mgmt_ctag) { - $data["ctag_range_search"] = $mgmt_ctag->ctag; - } - - - if($preorder->campaign->fulfillment == "citycom_oan") { - $data["product_name"] = "Estmk Greenstream OAN $bb_down/$bb_up"; - } - - - $cc_api_client = new \Citycom_OanApiClient(CITYCOM_OAN_API_USER, CITYCOM_OAN_API_PASS); - $cc_api = new \Citycom_OanApiHelper($cc_api_client); - - // order Service at Citycom and set Preorder to 500 Finished - if(!$cc_api->orderServices($preorder, $cc_home_id, $data)) { - return \mfResponse::InternalServerError(["message" => "Error activating service"]); - }*/ - - // update product at citycom - //$cc_home_id = \Citycom_OanApiHelper::hausnummerExtrefToCitycomId($wohneinheit->extref); $data["up"] = $bb_up; $data["down"] = $bb_down; $data["product_name"] = false; @@ -187,8 +152,6 @@ class SnoppCitycom extends Modules\ApiControllerModule $data["product_name"] = "Estmk Greenstream OAN $bb_down/$bb_up"; } - - // try to update product with bandwidth provided by snopp. // updateService() only updates if values are changed. if(!$cc_api->updateService($ctag->ext_id, $data)) { From 3fd98e753c48d4d01b71193ffa1284493faf7bcc Mon Sep 17 00:00:00 2001 From: Frank Schubert Date: Thu, 12 Feb 2026 15:03:37 +0100 Subject: [PATCH 2/2] citycom oan cleanup --- .../Modules/Operationaldata/SnoppCitycom.php | 21 ++++-------- lib/Citycom/OanApiHelper.php | 32 ++----------------- .../preorder/citycom/order-mgmt-services.php | 3 -- 3 files changed, 10 insertions(+), 46 deletions(-) diff --git a/application/Api/v1/Modules/Operationaldata/SnoppCitycom.php b/application/Api/v1/Modules/Operationaldata/SnoppCitycom.php index dfc2011bb..8d70c1fa3 100644 --- a/application/Api/v1/Modules/Operationaldata/SnoppCitycom.php +++ b/application/Api/v1/Modules/Operationaldata/SnoppCitycom.php @@ -76,6 +76,13 @@ class SnoppCitycom extends Modules\ApiControllerModule return \mfResponse::Ok(["status" => $status]); } + /** + * @param $req_id + * @return array + * + * Takes Order from SNOPP and updates CC service with correct product and + * if service is finished, updates billing_date of cc service and preorder status to 500 + */ public function orderService($req_id) { if(!$req_id) { return \mfResponse::BadRequest(["message" => "id missing"]); @@ -125,19 +132,6 @@ class SnoppCitycom extends Modules\ApiControllerModule return \mfResponse::NotFound(["message" => "Home not found"]); } - /* - if($ctag->ext_id && $ctag->ext_status == "finished") { - if($preorder->status->code < 500) { - $preorder->setNewStatusCode(500); - $preorder->save(); - - } - // update billing_date if nessecary - $this->log->debug(__METHOD__.": Updating billing_date for {$ctag->ext_name} (Preorder {$preorder->id} {$preorder->oaid})"); - $cc_api->updateService($ctag->ext_id, ["billing_date" => (new \DateTime("now"))->format("Y-m-d")]); - return \mfResponse::Ok(["message" => "Service active already", "activation_status" => "active"]); - } - */ $data["up"] = $bb_up; $data["down"] = $bb_down; @@ -156,7 +150,6 @@ class SnoppCitycom extends Modules\ApiControllerModule // updateService() only updates if values are changed. if(!$cc_api->updateService($ctag->ext_id, $data)) { $this->log->error(__METHOD__.": Error updating service {$ctag->ext_id} for preorder {$preorder->id}"); - //return \mfResponse::InternalServerError(["message" => "Error activating service"]); } // check if service is active, if not return deferred diff --git a/lib/Citycom/OanApiHelper.php b/lib/Citycom/OanApiHelper.php index 271729603..d84fa3725 100644 --- a/lib/Citycom/OanApiHelper.php +++ b/lib/Citycom/OanApiHelper.php @@ -95,10 +95,6 @@ class Citycom_OanApiHelper { $phone = $data["phone"]; $mobile = $data["mobile"]; - if(!$execution_date) { - $execution_date = date("Y-m-d"); - } - $ctag_range_search = false; if(array_key_exists("ctag_range_search", $data) && $data["ctag_range_search"]) { @@ -192,7 +188,6 @@ class Citycom_OanApiHelper { "sublocation" => $sublocation_id, "service_type" => $stype->id, "product" => $product_id, - "billing_date" => $execution_date, "ctag" => $ctag, "company" => $company, "firstname" => $firstname, @@ -200,10 +195,11 @@ class Citycom_OanApiHelper { "phone" => $phone, "mobile" => $mobile, ]; + if($execution_date) { + $service_data["billing_date"] = $execution_date; + } - //echo "Creating Service ".$stype->name." on sublocation $sublocation_id with product_id $product_id and ctag $ctag\n"; $this->log->info(__METHOD__.": Creating Service ".$stype->name." on sublocation $sublocation_id with product_id $product_id and ctag $ctag"); - //continue; // register new Service with Citycom $new_service = $this->api->createService($service_data); @@ -214,28 +210,6 @@ class Citycom_OanApiHelper { return false; } - /*$service_return[] = [ - "service_number" => $new_service->service_number, - "sublocation_id" => $sublocation_id, - "service_type" => $ctag_service_type, - "ctag" => $ctag, - "ont" => [ - "serial" => $new_service->ont->serial, - "fsan" => $new_service->ont->fsan, - ], - ];*/ - - /*$service_return[] = [ - "sublocation_id" => $sublocation_id, - "service_number" => "30-fggreger-01", - "service_type" => $ctag_service_type, - "ctag" => $ctag, - "ont" => [ - "serial" => "ONT123456", - "fsan" => "FSAN7890", - ], - ];*/ - // save ctag $ctag_data = $preorder_ctag_data; $ctag_data["ctag"] = $ctag; diff --git a/scripts/preorder/citycom/order-mgmt-services.php b/scripts/preorder/citycom/order-mgmt-services.php index bd09e2071..061fb39fe 100644 --- a/scripts/preorder/citycom/order-mgmt-services.php +++ b/scripts/preorder/citycom/order-mgmt-services.php @@ -67,9 +67,6 @@ foreach(PreordercampaignModel::search(["fulfillment" => "citycom_oan"]) as $camp $data["ctag_range_search"] = $existing_ctag->ctag; } - //echo "{$preorder->id}\n"; - //var_dump($data);exit; - $log->info(__FILE__.": Ordering Citycom services for preorder ".$preorder->id); if(!$cc_helper->orderServices($preorder, $sublocation_id, $data)) { $log->error(__FILE__.": Error ordering Citycom services for preorder ".$preorder->id);