5/5 - Pontértékek megőrzése a PointsLedger-ben (snapshot mechanizmus) #369
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Mérföldkő: Epic 8 - Gamification 2.0
Cél: Annak biztosítása, hogy a gamification.points_ledger táblában a kiosztott pontok értékei megmaradjanak, még akkor is, ha a point_rules táblában később módosítják a pontértékeket.
🔗 Függőségek (Dependencies)
📝 Elemzés
Jelenleg a PointsLedger modell (gamification.py:33-53) az alábbi mezőket tartalmazza:
Hiányzik a snapshot mechanizmus: ha a point_rules tablaban valaki modositja a 'KYC_VERIFICATION' erteket 100-rol 200-ra, a regi kiosztasok tovabbra is 100-at fognak mutatni a ledgerben, de erre jelenleg NINCS garancia, mert a ledger csak az amount mezőt tarolja, ami a process_activity-ben szamitas utan kerul bele.
Javasolt megoldas: A PointsLedger modell kiegeszitese egy 'points_snapshot' JSONB mezovel, ami tarolja:
Alternativ megoldas: a meglévo amount mezo mar tarolja a tenylegesen kiosztott pontokat, igy ha a process_activity mar hasznalja a point_rules-t, a ledger automatikusan a megfelelo erteket tarolja. A snapshot celja az audit-trail, hogy meg lehessen allapitani, melyik szabaly melyik verzioja szerint tortent a kiosztas.
Módosítandó fájlok:
✅ Munka befejezve: 2026-06-30 19:45:29
Technikai Összefoglaló:
Added points_snapshot JSONB field to PointsLedger model. process_activity() now captures action_key, point_rule_id, points_at_time, and multiplier in the snapshot when action_key is provided.
⏱️ Az idő rögzítve.