- Verschifft
- 7. August 2026 um 01:13 UTC
- Autor
- Kamo
- Ausschuss
- 5dbfd80
Fügt com.kamo.z.shared.commission hinzu: ein Append-only signiertes Ledger, ein pro Mitglied Balance-Zeile, die nur existiert, um gleichzeitige Entnahmen zu serialisieren, die Kommission Prozessor Batch/Line-item-Modell und das pro-Ort Stripe Connect Auszahlungsunternehmen. Drei Entscheidungen, die es wert sind, behalten zu werden: - Das Ledger ist anhänglich und setzt es in Java durch (@PreUpdate/@PreRemove zu werfen). @Column(updatable=false) macht Hibernate nur eine Spalte aus der UPDATE, es macht nicht das Schreiben scheitern, so dass eine abgestandene Korrektur aussehen würde wie es gelungen ist. Korrekturen sind Rückwärtsstränge. - Verfügbar vs pending ist eine Abfrage über EFFECTIVE_AT, nicht eine Zustandmaschine. A Provision ausgestellt heute mit dem nächsten Monat Fälligkeit bewegt sich auf seine eigenem, so dass keine Sweep existiert, die scheitern könnte und Strand Geld als anhängig. - COMMISSION_MEMBER_BALANCE ist mit dem Ledger durch Konstruktion redundant. Es existiert, weil ein Waage ein Aggregat ist und SELECT FOR UPDATE nicht sperren kann aggregativ; ohne eine Zeile, um PESSIMISTIC_WRITE aufzunehmen, zwei gleichzeitig Abhebungen bestehen beide ihre eigene Sündprüfung. Geld ist NUMERIC(19,4) durchgehend, org IDs sind einfache INT8 Spalten anstatt Verbände so finanzielle Aufzeichnungen überleben Mitglieder Churn, und ORG_ID wird dupliziert auf Kinderreihen, so dass kein Single-Rhe holen kann Cross-Mieter lesen. Fügt auch drei Rechte (187-189) für die Finanzfläche hinzu. Sie sind so gespalten Trennung der Pflichten ist ausdrücklich: mit einem Recht die Person, die eine Provision könnte auch die Auszahlung freigeben und stornieren Sie den Halt, der existiert, serviceType ist absichtlich null - ein neuer ServiceType würde Gruppe sie automatisch aber machen sie in keinem Editor, da nur App-Sektionen erscheinen, wenn die org diese App aktiviert hat. Schema über KamoInitializer angewendet; alle neun Tabellen in Prod vorhanden mit ALLEN Berechtigungen für den Kamo-App-Benutzer.