- Порезанный
- 28 мая 2026 г. в 21:01 UTC
- Автор
- Kamo
- Обещать
- 0c59054
Движение денег (основной P1): - LoanPaymentPoytingService: MarkSucceededAndPost / MarkFailed / MarkReturnedAndReverse / MarkDisbursement Преемник / MarkDrawDisbursed Распределение заказа заблокировано: сборы → проценты → основной. Автопродвижение статуса DELINQUENT → ACTIVE → PAID OFF на основе полученного баланса. StripeWebhookService больше не является только для входа в систему: payment intent.succeeded payment failed / charge.refunded (ACH return) / dispute.created+closed / payout.paid+ провалил все авансовые записи через PostingService. NachaReturnCode + RetryScheduler: NACHA-совместимая маршрутизация R-кода R01/R09 с перерывом до 2х/5 дней, R07/R10/R29 отменяет мандат, Исчерпанные ретрисы перевернуть LoanPaymentMethod → REQUIRES REVERIFY. Торгово-вертикальная материализация: ******************* теперь создает Вовлеченность (PERSONAL LOANS, COMMITTED), Commitment (ACTIVE, with pricing+terms JSON) snapshots), Order (AUTHORIZED, subtotal=principal) и threads их идентификаторы Вернуться в Loan.commitmentUid / engagementUid / originingOrderUid той же сделки. Кронные задания (реальная логика, а не заглушки): - CoolingOffAdvanceJob: завязывается оплата PENDING DISBURSEMENT OUT Каждое нарушение ссуда, охлаждение которой истекло. - InterestAccrualJob: ежедневное начисление простых процентов на основной баланс Активный + Делинквентный кредит. - StatementGenerationJob: installment per-due-date statement, LOC per-cycle заявление с аппроксимацией АБР + годовой взнос + автоплатеж расписание. AutoDebitRunJob: увольняет автоматические дебеты + выплаты + NACHA перезаписывается через StripeConnectService с помощью ключей идемпотентности. - Согласительная работа: ночная пересчет сборов/основных/балансовых от Реестр; коррекция дрейфа зарегистрирована + проверена. ReminderDispatchJob: удаляет уведомления SCHEDULED за пределы запланированного и доставляет через NotificationDispatchService. Уведомления: ********************** Настоящий HTTP POST для EmailService (/api/email/transactional/send) и VOIPService (/api/voip/sms/send), /api/voip/voice/send), templateKey = "loan.{kind lowercase}". Проверка: - LoanProductValidationService: форсирует APR ≤ State cap (на вид), Запрещенные проверки, min/max-принципиальное здравомыслие. Застрял в LoanProductService.создать + обновить. Зарядка: LoanChargeOffService.queue() перечисляет кредиты D120; .confirm() переворачивает статус CHARGE OFF RECORDED – это аудиторское мероприятие. - LoanChargeOffController показывает **************************** Аудиторский просмотр: - LoanAuditEventController показывает ****************************