- Navios
- 28 de maio de 2026 às 21:37 UTC
- Autor
- Kamo
- Enviar
- a8c11bd
Observabilidade: - micrômetro-registro-prometheus no classpath - /actuator/prometheus exposto através da configuração de gestão (tanto local + k8s configmap) - Serviço de empréstimos: **************************** los charge off total, los desembolso total, los empréstimo status count{status} gauge, ****************Histograma - Contadores conectados ao LoanPaymentPostingService + LoanChargeOffService Matemática + testes: - 21 testes unitários cobrindo AmortizaçãoEngine (pagamento de nível, APR Newton- Rafhson, progressão mensal da data de vencimento, principal + interesse invariante, proteção contra má entrada), InterestAccrualEngine (ACT 365 / ACT 360 DPR, um dia / trinta dias de exercício, LOC ADB), PaymentAllocator (fees→interesses) → ordem principal, parciais, sobrepagamento, nulos) - Fixes 100x de taxa de juros. — o divisor foi 36500/36000 em vez de 3.650.000/3.600.000 (anualRate fração precisa tanto /10000 bps→fração E /365 dias), assim acumulado O interesse era muito alto. O teste acrescentou que o teria apanhado. Identificadores Real Stripe (sem mais espaços): - StripeConnectController.onboard agora persiste LoanOrgStripeConnect on criação bem sucedida da conta Stripe; .status retorna estado de integração - New StripeIdResolver: connectedAccountIdForOrg () + preguiça getOrCreateBorrowerCustomerId() (Client.create com chave de idempotência sob a conta conectada, persiste para Loan.stripeCustomer Id) - AutoDebitRunJob.fireAchDebit + .fireDesembolso agora resolve real IDs através do StripeIdResolver em vez de "acct placeholder *" Cadência de lembrete: - LembreteSchedulingJob: varredura noturna emite PAGAMENTO DUE 3 DAYS, PAGAMENTO DAY DAY DAY DAY DAY 1/5/15, OFFER EXPIring (24h) Antes de expirar, DECLARAÇÃO DISPONÍVEL (em geração). Dedup-keyed via Então, as reprises são idempotentes. Imposto de fim de ano: - YearEndTaxJob (cron 06:00 Jan 5): produz 1099-C para recargas ≥$600 + 1099-INT para juros de crédito do mutuário > $10. Forma renderizada em PDFBox, armazenado no MediaService, registrado como LoanDisclosure com formulário/ano metadados para que as reprises sejam idempotentes. - Empréstimo.tax1099 Auto-set CEligible em carga-off confirmar quando o valor ≥ $ 600