Files
yourpart-daemon/docs/FALUKANT_DEBTORS_DAEMON.md

30 lines
1.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Falukant: Schuldturm & Pfändung (Daemon)
Der externe Daemon (`YpDaemon`) pflegt Verzugstage, Schuldturm-Eintritt, Pfändung und Freilassung. **Keine zusätzliche Migration** im Daemon nötig Spalten in `falukant_data.debtors_prism` kommen vom Projekt.
## Wo im Code
| Komponente | Datei |
|------------|--------|
| SQL | `src/worker/sql.rs` (`QUERY_DEBTORS_*`) |
| Tageslogik | `src/worker/falukant_debtors.rs` |
| Stündliche Kreditrate + Verzug-Reset bei Zahlung | `src/worker/user_character.rs` |
| Daily-Tick (24 h) | `src/worker/falukant_family.rs``falukant_debtors::run_daily` |
## Ablauf
1. **Stündlich**: `handle_credits` zieht Rate, wenn genug Geld. Bei Erfolg: `falukant_debtors::on_credit_payment_success` setzt `days_overdue` für `status = delinquent` zurück.
2. **Täglich** (gleicher Rhythmus wie Falukant-Family-Daily): Nutzer mit offenem Kredit → Verzug erhöhen / Warnstufen / ab Tag 3 Eintritt `imprisoned` → Geld- und Fahrzeugverwertung → soziale Haftfolgen.
## Events (WebSocket)
Primär: `falukantUpdateDebt` mit `reason` (siehe Projektspezifikation). Begleitend: `falukantUpdateStatus`, `falukantUpdateFamily`, `falukantHouseUpdate`, `falukantBranchUpdate` je nach Schritt.
## Noch offen (größere Versionen)
- Waren/Lager, Hauspfändung, Niederlassungsschließung
- `household_tension_reasons_json` um `debtorsPrison` ergänzen
- Beziehungsabbruch nach Spec (Schwellen / Zufall)
Siehe die vollständige fachliche Spezifikation im Projektdokument „Schuldturm und Pfändung“.