added loop

This commit was merged in pull request #27.
This commit is contained in:
Chinenye Nmoh
2025-06-20 11:47:21 +01:00
parent 684833bd66
commit bcd9513a10
4 changed files with 19 additions and 9 deletions
+8 -8
View File
@@ -182,7 +182,7 @@ class SimbrellaClient:
def collect_loan_user_initiated(data):
# InitiatedBy = USER_INITIATED
logger.info(f"Calling CollectLoan collect_loan_user_initiated ******* endpoint with data: {data}")
return SimbrellaClient._collect_loan(data,1)
return SimbrellaClient._collect_loan(data,"1")
@staticmethod
def collect_loan_user_salary_detect(data):
@@ -198,28 +198,28 @@ class SimbrellaClient:
# return ResponseHelper.error(message="Failed to call salary endpoint",
# status_code=400,
# error=str(e) )
return SimbrellaClient._collect_loan(data,2)
return SimbrellaClient._collect_loan(data,"2")
@staticmethod
def collect_loan_user_due_payment(data):
# InitiatedBy = REPAYMENT_DUE
return SimbrellaClient._collect_loan(data,3)
return SimbrellaClient._collect_loan(data,"3")
@staticmethod
def _collect_loan(data, collectionMethod: int):
def _collect_loan(data, collectionMethod: str):
api_url = f"{SimbrellaClient.BANK_CALL_BASE_URL}{SimbrellaClient.BANK_CALL_COLLECT_LOAN_ENDPOINT}"
logger.info(f"Calling CollectLoan api_url==> : {api_url}")
logger.info(f"Calling CollectLoan endpoint with data: {data}")
# Check if the repayment exists
logger.info(f"Checking if repayment exists")
repayment = RepaymentService.get_repayment_by_transaction_id(transaction_id=data['transactionId'])
repayment = RepaymentService.get_repayment_by_id(id=data['Id'])
logger.info(f"Repayment Response From Database ** : {repayment}")
if not repayment:
logger.info(f"Repayment with transactionId: {data['transactionId']}, was not found")
logger.info(f"Repayment with id: {data['Id']}, was not found")
return ResponseHelper.error("Repayment not found")
logger.info(f"Repayment Response From Database ** : {repayment.to_dict()}")
repayment_data = repayment.to_dict()
@@ -252,7 +252,7 @@ class SimbrellaClient:
"customerId": repayment_data['customerId'],
"accountId": loan_data['accountId'],
"productId": repayment_data['productId'],
"collectAmount": loan_data['repaymentAmount'],
"collectAmount": loan_data['repaymentAmount'] or 0,
"penalCharge": 5,
"channel": "USSD",
"collectionMethod": collectionMethod,
@@ -263,7 +263,7 @@ class SimbrellaClient:
try:
logger.info(f"Here is your CollectLoan Request data ***** : {collect_loan_data}")
response = requests.post(api_url, json=collect_loan_data, headers=get_headers())
response = requests.post(api_url, json=collect_loan_data,timeout=30, headers=get_headers())
logger.info(f"CollectLoan response: {response.json()}")
RepaymentService.set_repay_result(repayment_data['Id'], response.json().get('responseCode', ''), response.json().get('responseMessage', ''))