[add]: loan ref to repayment

This commit is contained in:
VivianDee
2025-05-28 20:05:38 +01:00
parent 65472d3f07
commit 729cc26698
6 changed files with 21 additions and 26 deletions
+1 -2
View File
@@ -5,9 +5,8 @@ class RepaymentSchema(Schema):
type = fields.Str(required=False)
msisdn = fields.Str(required=False) #optional
debtId = fields.Str(required=True)
productId = fields.Str(required=True)
transactionId = fields.Str(required=True)
accountId = fields.Str(required=True)
customerId = fields.Str(required=True)
channel = fields.Str(required=True)
loanRef = fields.Str(required=True)
initiatedBy = fields.Str(required=False)
+9 -6
View File
@@ -32,20 +32,22 @@ class RepaymentService(BaseService):
customer_id = validated_data.get('customerId')
request_id = validated_data.get('requestId')
loan_id = validated_data.get('debtId')
product_id = validated_data.get('productId')
account_id = validated_data.get('accountId')
customer = Customer.get_customer_with_loan_list(customer_id)
loan_ref = validated_data.get('loanRef')
# customer = Customer.get_customer_with_loan_list(customer_id)
transaction_id = validated_data.get('transactionId')
initiated_by = validated_data.get('initiatedBy')
if(RepaymentService.validate_account_ownership(account_id = account_id, customer_id = customer_id)):
# Check loan exists
loan = Loan.get_customer_loan(loan_id = loan_id, customer_id = customer_id)
# Save the repayment details
repayment = Repayment.create_repayment(
customer_id = customer_id,
loan_id = loan_id,
product_id = product_id,
transaction_id=transaction_id
loan = loan,
transaction_id = transaction_id
)
if not repayment:
@@ -66,7 +68,8 @@ class RepaymentService(BaseService):
response_data = {
"transactionId": transaction_id,
"customerId": customer_id,
"productId": product_id,
"productId": loan.product_id,
"loanRef": loan_ref,
"debtId": loan_id
}
+4 -1
View File
@@ -59,8 +59,11 @@ class SelectOfferService(BaseService):
db.session.flush()
if(amount < offer.min_amount):
if amount < offer.min_amount:
return ResponseHelper.error(result_description="The amount is less than the minimum allowed offer amount.")
elif amount > offer.max_amount:
return ResponseHelper.error(result_description="The amount is greater than the maximum allowed offer amount.")
charges = SelectOfferService.calculate_charges(offer, amount)