customer with loan listing

This commit is contained in:
CHIEFSOFT\ameye
2025-05-24 07:41:20 -04:00
parent c9aba07e9c
commit 9e22e0fcf3
3 changed files with 3 additions and 20 deletions
+1 -18
View File
@@ -31,37 +31,20 @@ class LoanStatusService(BaseService):
customer_id = validated_data.get('customerId') customer_id = validated_data.get('customerId')
logger.info(f"Looking for customer *** {customer_id}") logger.info(f"Looking for customer *** {customer_id}")
customer = Customer.get_customer(customer_id) customer = Customer.get_customer_with_loan_list(customer_id)
transactionId = validated_data.get('transactionId') transactionId = validated_data.get('transactionId')
account_id = validated_data.get('accountId') account_id = validated_data.get('accountId')
if(LoanStatusService.validate_account_ownership(account_id = account_id, customer_id = customer_id)): if(LoanStatusService.validate_account_ownership(account_id = account_id, customer_id = customer_id)):
# Get loans # Get loans
loans = [loan.to_dict() for loan in customer.loans if loan.status == LoanStatus.ACTIVE] loans = [loan.to_dict() for loan in customer.loans if loan.status == LoanStatus.ACTIVE]
transaction = LoanStatusService.log_transaction(validated_data = validated_data) transaction = LoanStatusService.log_transaction(validated_data = validated_data)
if not transaction: if not transaction:
logger.error(f"Failed to log transaction") logger.error(f"Failed to log transaction")
return ResponseHelper.error(result_description="Failed to log transaction.") return ResponseHelper.error(result_description="Failed to log transaction.")
else: else:
return ResponseHelper.error(result_description="Invalid Customer or Account") return ResponseHelper.error(result_description="Invalid Customer or Account")
# loans = [
# {
# "debtId": "123456789",
# "loanDate": "2019-10-18 14:26:21.063",
# "dueDate": "2019-11-20 14:26:21.063",
# "currentLoanAmount": 8500,
# "initialLoanAmount": 10000,
# "defaultPenaltyFee": 0,
# "continuousFee": 0,
# "productId": "101"
# }
# ]
total_debt_amount = sum( total_debt_amount = sum(
loan.get("currentLoanAmount") or 0 loan.get("currentLoanAmount") or 0
for loan in loans for loan in loans
+1 -1
View File
@@ -34,7 +34,7 @@ class RepaymentService(BaseService):
loan_id = validated_data.get('debtId') loan_id = validated_data.get('debtId')
product_id = validated_data.get('productId') product_id = validated_data.get('productId')
account_id = validated_data.get('accountId') account_id = validated_data.get('accountId')
customer = Customer.get_customer(customer_id) customer = Customer.get_customer_with_loan_list(customer_id)
transaction_id = validated_data.get('transactionId') transaction_id = validated_data.get('transactionId')
if(RepaymentService.validate_account_ownership(account_id = account_id, customer_id = customer_id)): if(RepaymentService.validate_account_ownership(account_id = account_id, customer_id = customer_id)):
+1 -1
View File
@@ -72,7 +72,7 @@ class Customer(db.Model):
return customer return customer
@classmethod @classmethod
def get_customer(cls, customer_id): def get_customer_with_loan_list(cls, customer_id):
""" """
Get customer by ID. Get customer by ID.
""" """