added repayment_schedule

This commit is contained in:
Chinenye Nmoh
2025-08-27 12:00:42 +01:00
parent 524836f52a
commit fb460471fb
9 changed files with 330 additions and 131 deletions
+7 -2
View File
@@ -11,6 +11,7 @@ from app.services.repayment import RepaymentService
from app.services.salary import SalaryService
from app.services.loan_repayment_schedule import LoanRepaymentScheduleService
from app.enums.loan_status import LoanStatus
from app.enums.repayment_schedule_status import RepaymentScheduleStatus
from app.utils.mail import send_report_email, get_report_data
from app.config import settings
@@ -294,7 +295,7 @@ def process_overdue_loan(loan):
#lets check if the loan with the repayment has been repaid, then update the loan schedule to paid
if full_loan_data.to_dict().get("status") == LoanStatus.REPAID and full_loan_data.to_dict().get("balance") == 0:
try:
LoanRepaymentScheduleService.update_repayment_schedule_status(loan.id, paid=True)
LoanRepaymentScheduleService.update_repayment_schedule_status(loan.id)
logger.info(f"Updated Loan Repayment Schedule ID {loan.id} to PAID")
return
except Exception as e:
@@ -335,8 +336,12 @@ def process_overdue_loan(loan):
# Step 3: Call Simbrella
try:
#lets add the overdue loan schedule id and amount we are currently processing to the repayment data
if loan.paid_status == RepaymentScheduleStatus.PARTIALLY_PAID:
amount = loan.partial_balance or 0
else:
amount = loan.installment_amount
repayment_data["overdueLoanScheduleAmount"] = amount
repayment_data["overdueLoanScheduleId"] = loan.id
repayment_data["overdueLoanScheduleAmount"] = loan.installment_amount
repayment_data["Id"] = repayment.id
simbrella_response = SimbrellaClient.collect_loan_user_due_payment(repayment_data)