- Ya
- 28 Mei 2026, 19:57 UTC
- Mwandishi
- Kamo
- Ahadi ya
- 47f7f7a
New Spring Boot 3.1.5 / Java 21 microservice modeled on BillingService. Owns personal-loan domain end-to-end: - LoanProduct / LoanOffer / Loan CRUD with REST + DTO layer - LoanLifecycleService materializes Loan + commerce Engagement/Commitment on offer acceptance (one txn) - LoanPayment + LoanDraw + LoanStatement + LoanPaymentMethod + LoanRecurringPaymentPlan services + controllers - Math: AmortizationEngine (Reg Z Appendix J), InterestAccrualEngine (ACT_365 / ACT_360 + ADB), PaymentAllocator (fees→interest→principal) - StripeConnectService (Custom-account onboarding, ACH disbursement, ACH debit) + StripeWebhookService (idempotent via LoanStripeWebhookEvent) + connect-specific webhook endpoint - TilaRendererService renders Reg Z Schumer box (installment) / open-end disclosure (LOC) via PDFBox into MinIO - StateRuleSelfHealService boot-loads loan_state_rules.json (50-state registry + MLA cap + cooling-off) — reconcile pattern from rights - EsignClient + EsignSignController complete the missing member-facing signature submission path (writes EsignGenericEnvelope + EsignSignature in shared-lib) - NotificationDispatchService with dedup-keyed scheduling - Cron jobs: OfferExpiration, StatementGeneration, DelinquencySweep - k8s manifests (configmap / deployment / service), Dockerfile, Forgejo CI workflow (dual-cluster K1M1+K2M1) all aligned with BillingService conventions