feat(falukant): enhance product pricing and nobility advancement features
All checks were successful
Deploy to production / deploy (push) Successful in 2m52s

- Updated the `getAllProductPricesInRegion` method in `FalukantService` to accept additional parameters for network worth and branch ID, improving pricing calculations based on user branches.
- Enhanced the nobility advancement logic in `NobilityView` to display unmet requirements clearly, providing users with better feedback on advancement conditions.
- Refactored the revenue calculation in `ProductionSection` to utilize a cached product prices object, optimizing performance and reducing redundant API calls.
- Updated localization files to include new translations for attack sources across multiple languages, enhancing the user experience for diverse audiences.
- Removed obsolete C++ worker references and streamlined the retention logic for production logs, ensuring efficient data management.
This commit is contained in:
Torsten Schulz (local)
2026-04-09 09:08:32 +02:00
parent 360bb59a4e
commit 1118a691b9
20 changed files with 216 additions and 85 deletions

View File

@@ -33,16 +33,14 @@ Backend-Implementierung: `getCertificateCompletedProductionCount` in `backend/se
Stattdessen:
- Zähler-Reset über **`certificate_productions_count_since`** (siehe oben).
- Alte Zeilen werden mit **Retention 30 Tage** bereinigt, damit die Tabelle nicht unbegrenzt wächst.
In diesem Repo: **`UserCharacterWorker`** führt stündlich `QUERY_DELETE_OLD_PRODUCTIONS` aus:
- Alte Zeilen mit **Retention 30 Tage** bereinigen (z.B. im **YpDaemon** mit `QUERY_DELETE_OLD_PRODUCTIONS`), damit die Tabelle nicht unbegrenzt wächst:
```sql
DELETE FROM falukant_log.production
WHERE COALESCE(production_timestamp, production_date::timestamp) < NOW() - INTERVAL '30 days';
```
Parallel löscht derselbe Worker weiterhin einzelne Zeilen nach dem Wissens-Update (`QUERY_DELETE_LOG_ENTRY`), sobald die Zeile „vom Vortag“ verarbeitet wurde (`QUERY_UPDATE_GET_ITEMS_TO_UPDATE` mit `COALESCE` für das Datumsfenster).
Die C++-Worker unter **`src/`** sind **[obsolet](LEGACY_CPP_WORKERS.md)** und werden für Retention oder Zertifikatslogik **nicht** mehr als Bezug genutzt.
## Migrationen

View File

@@ -0,0 +1,9 @@
# Legacy: C++-Worker (`src/`)
Die C++-Prozesse unter **`src/`** (z.B. `*worker.cpp` / `websocket_server`) gelten als **obsolet**.
- **Keine** neuen Features oder fachliche Korrekturen mehr in diesem Code pflegen.
- **Quelle der Wahrheit** für Hintergrundlogik (Zertifikat, Retention, Wirtschaft, …) ist der **externe Daemon** bzw. **Backend-Jobs**, nicht diese Worker.
- Beim Arbeiten an Falukant bitte **Backend** (`backend/`), **Frontend** und **Daemon-Repo** berücksichtigen; `src/` nur bei Bedarf für Build-/Entfernen-Fragen anfassen.
Siehe auch: [`FALUKANT_PRODUCTION_CERTIFICATE.md`](./FALUKANT_PRODUCTION_CERTIFICATE.md) (Zählung und Log-Retention ohne Bezug auf die C++-Worker).