feat: improve FCP filter with counts/sorting and update highlight conditions

This commit is contained in:
2026-02-27 12:23:32 +01:00
parent 259b542ae1
commit 315f85356c
2 changed files with 41 additions and 7 deletions

View File

@@ -1448,10 +1448,31 @@ class PreorderController extends mfBaseController {
if (!$campaign->id) return [];
return array_map(
fn($fcp) => ["real_id" => $fcp->id, "id" => $fcp->name ?? null, "text" => $fcp->name ?? null, 'lat' => $fcp->gps_lat ?? null, 'lng' => $fcp->gps_long ?? null],
ADBRimoFcp::getAll(["netzgebiet_id" => intval($campaign->network->adb_netzgebiet_id)]) ?? []
$fcps = ADBRimoFcp::getAll(["netzgebiet_id" => intval($campaign->network->adb_netzgebiet_id)]) ?? [];
if (empty($fcps)) return [];
$fcpIds = array_map(fn($fcp) => $fcp->id, $fcps);
$stats = ADBRimoFcp::getRimoFcpStatistics($fcpIds);
$statsMap = [];
foreach ($stats as $stat) {
$statsMap[$stat['fcp_id']] = $stat['total_active_preorders'];
}
$result = array_map(
fn($fcp) => [
"real_id" => $fcp->id,
"id" => $fcp->name ?? null,
"text" => $fcp->name ?? null,
'lat' => $fcp->gps_lat ?? null,
'lng' => $fcp->gps_long ?? null,
'preorder_count' => $statsMap[$fcp->id] ?? 0
],
$fcps
);
usort($result, fn($a, b) => $b['preorder_count'] <=> $a['preorder_count']);
return $result;
}
public function getRimoFcpStatsApi()