02 · Duyệt và ghi nhận giải ngân khoản vay

02 · Duyệt và ghi nhận giải ngân khoản vay Sơ đồ trình tự nghiệp vụ Long Phú đối chiếu mã nguồn. POST admin/{ref}/approve Đọc hồ sơ và quyết định NEGOTIATING / user=PENDING Giả định admin chưa duyệtthay khách. Lưu ADMIN_APPROVE + history adminDecision=APPROVED [Sau commit] LOAN_NEGOTIATING Chờ khách chấp thuận POST {ref}/approve Đọc hồ sơ thuộc user NEGOTIATING; admin đã đồng ý Lưu USER_APPROVE / history userDecision=APPROVED [Đủ hai bên] Lưu APPROVED Trạng thái và history mới Decision được resetPENDING khi đổi trạngthái. [Sau commit] LOAN_APPROVED Hồ sơ được duyệt PUT status=DISBURSED Đọc hồ sơ / trạng thái APPROVED hoặc ON_HOLD Chuyển trạng thái phảiđược phép. Lưu DISBURSED / disbursedAt Hồ sơ / history đã lưu Thử generateSchedule() [Đủ dữ liệu] Lưu các kỳ nợ Kết quả lưu lịch Return / lỗi được xử lý [Sau commit] LOAN_DISBURSED Kết quả ghi nhận giải ngân 1 · NEGOTIATING: admin chấp thuận, khách còn chờ 2 · Khách đồng ý → đủ hai bên → APPROVED 3 · Cán bộ ghi nhận giải ngân và tạo lịch trả nợ Admin Web · Cán bộ xử lý hồ sơ · Thành phần tham gia Admin Web Cán bộ xử lý hồ sơ Mobile · Khách chấp thuận · Thành phần tham gia Mobile Khách chấp thuận Loan API · Quyết định và trạng thái · Thành phần tham gia Loan API Quyết định và trạng thái CSDL Loan · Hồ sơ / quyết định / kỳ nợ · Thành phần tham gia CSDL Loan Hồ sơ / quyết định / kỳ nợ Tạo lịch nợ · Thành phần nội bộ Loan · Thành phần tham gia Tạo lịch nợ Thành phần nội bộ Loan RabbitMQ · Sự kiện trạng thái · Thành phần tham gia RabbitMQ Sự kiện trạng thái Chú giải yêu cầu chính phản hồi sự kiện bất đồng bộ lời gọi