added eco integration

This commit is contained in:
Chinenye Nmoh
2025-07-25 11:53:05 +01:00
parent c50b69e852
commit ca3ca1cac3
6 changed files with 33 additions and 30 deletions
+4 -4
View File
@@ -33,12 +33,12 @@ class Config:
DATABASE_NAME = os.getenv("DATABASE_NAME")
DATABASE_PORT = os.getenv("DATABASE_PORT", 10532)
DATABASE_SID = os.environ.get("DATABASE_SID", "FREE")
DNS = f"(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST={DATABASE_HOST})(PORT={DATABASE_PORT}))(CONNECT_DATA=(SID={DATABASE_SID})))"
#DNS = f"(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST={DATABASE_HOST})(PORT={DATABASE_PORT}))(CONNECT_DATA=(SID={DATABASE_SID})))"
SQLALCHEMY_DATABASE_URI = (f"oracle+oracledb://{DATABASE_USER}:{DATABASE_PASSWORD}@{DNS}")
#SQLALCHEMY_DATABASE_URI = (f"oracle+oracledb://{DATABASE_USER}:{DATABASE_PASSWORD}@{DNS}")
# SQLALCHEMY_DATABASE_URI = f"postgresql+psycopg2://{DATABASE_USER}:{DATABASE_PASSWORD}@{DATABASE_HOST}:{DATABASE_PORT}/{DATABASE_NAME}"
SQLALCHEMY_DATABASE_URI = f"postgresql+psycopg2://{DATABASE_USER}:{DATABASE_PASSWORD}@{DATABASE_HOST}:{DATABASE_PORT}/{DATABASE_NAME}"
SQLALCHEMY_TRACK_MODIFICATIONS = False
# SQLALCHEMY_ECHO = True
@@ -50,7 +50,7 @@ class Config:
MAIL_USE_TLS = os.getenv('MAIL_USE_TLS', 'True').lower() in ('true', '1', 'yes')
MAIL_USE_SSL = os.getenv('MAIL_USE_SSL', 'False').lower() in ('true', '1', 'yes')
MAIL_DEFAULT_SENDER = ('FirstAdvance', 'firstadvance@dynamikservices.tech')
MAIL_RECEIVER= os.getenv('MAIL_RECEIVER', 'chinenyeumeaku@gmail.com,umeakuchinenye@gmail.com')
MAIL_RECEIVER= os.getenv('MAIL_RECEIVER', 'chinenyeumeaku@gmail.com')
BANK_CALL_BASE_URL = os.getenv("BANK_CALL_BASE_URL", "https://bank-emulator.dev.simbrellang.net/api")
BANK_CALL_SMS_BASE_URL= os.getenv("BANK_CALL_SMS_BASE_URL","https://first-advance-middleware-develop.fbn-devops-dev-asenv.appserviceenvironment.net/SMS")
+5 -4
View File
@@ -78,9 +78,10 @@ class SimbrellaClient:
insurance_fee = loan_charges.get("INSURANCE")['amount']
debtId = str(loan_data.get('debtId', "")).strip().zfill(6)
t_id = ''.join(random.choices(string.ascii_uppercase, k=22))
disbursement_data = {
"transactionId": loan_data.get('transactionId'),
"transactionId": t_id,
"FbnTransactionId": loan_data.get('transactionId'),
"debtId": debtId,
"customerId": loan_data.get('customerId'),
@@ -97,7 +98,7 @@ class SimbrellaClient:
try:
logger.info(f"Here is your Disbursement Request data ****** : {disbursement_data}")
response = requests.post(api_url, json=disbursement_data, timeout=10, headers=get_headers())
response = requests.post(api_url, json=disbursement_data, timeout=90, headers=get_headers())
if response.status_code == 404:
logger.error("Received 404 from external service")
return ResponseHelper.error("Disbursement Service url not found (404)", status_code=404)
@@ -178,7 +179,7 @@ class SimbrellaClient:
"unicode": True
}
try:
sms_response = requests.post(sms_url, json=sms_data, timeout=10, headers=get_headers())
sms_response = requests.post(sms_url, json=sms_data, timeout=90, headers=get_headers())
sms_response.raise_for_status() # Raise an exception for 4xx or 5xx status codes
result = sms_response.json()
@@ -194,7 +195,7 @@ class SimbrellaClient:
return 0
except Exception as e:
logger.info(f"Failed to call TransactionVerify endpoint: {e}")
return 0
return ResponseHelper.error("Unexpected error while processing loan disbursement", status_code=500, error=str(e))
@staticmethod
def collect_loan_user_initiated(data):
+2
View File
@@ -3,6 +3,7 @@ from flask import current_app
from app.extensions import mail
import pandas as pd
from io import BytesIO
from app.utils.logger import logger
def get_report_data():
"""
@@ -36,5 +37,6 @@ def send_report_email(report_data: list, recipients: list):
with current_app.app_context():
mail.send(msg)
return "Report email sent"