[add]: Summary to loan status response #66

Merged
ameye merged 1 commits from update_loan_status_response into master 2025-10-23 10:42:23 +00:00
2 changed files with 10 additions and 11 deletions
+4 -11
View File
@@ -47,6 +47,7 @@ class LoanStatusService(BaseService):
loans = [
loan.to_dict()
for loan in customer_loans
if loan.status in [LoanStatus.ACTIVE, LoanStatus.START_REPAY, LoanStatus.ACTIVE_PARTIAL]
]
transaction = LoanStatusService.log_transaction(
@@ -68,22 +69,14 @@ class LoanStatusService(BaseService):
)
total_outstanding_amount = sum(
loan.balance
for loan in customer_loans
if loan.status in [LoanStatus.ACTIVE, LoanStatus.START_REPAY, LoanStatus.ACTIVE_PARTIAL]
loan.get("currentLoanAmount") or 0 for loan in loans
)
total_active_loan_amount = sum(
loan.repayment_amount
for loan in customer_loans
if loan.status in [LoanStatus.ACTIVE, LoanStatus.START_REPAY, LoanStatus.ACTIVE_PARTIAL]
loan.get("repaymentAmount") or 0 for loan in loans
)
total_settled_amount = sum(
loan.repayment_amount
for loan in customer_loans
if loan.status == LoanStatus.REPAID
)
total_settled_amount = total_active_loan_amount - total_outstanding_amount
# Simulated processing logic
response_data = {
+6
View File
@@ -56,6 +56,12 @@ class Repayment(db.Model):
raise ValueError(f"Database integrity error: {err}")
return repayment
# Get loan repayments
@classmethod
def get_repayments_by_id(cls, loan_id):
return cls.query.filter_by(loan_id=loan_id).all()
def to_dict(self):
return {