1 Commits

Author SHA1 Message Date
Chinenye Nmoh ca3ca1cac3 added eco integration 2025-07-25 11:53:05 +01:00
6 changed files with 33 additions and 30 deletions
+10 -10
View File
@@ -3,14 +3,14 @@ KAFKA_TIMEOUT=1000.0
KAFKA_BROKER="10.20.30.50:9092"
KAFKA_TOPICS=PROCESS_PAYMENT,LOAN_REPAYMENT
# DATABASE_USER=firstadvance
# DATABASE_PASSWORD=FirstAdvance!
# DATABASE_HOST=10.20.30.60
# DATABASE_PORT=5432
# DATABASE_NAME=firstadvancedev
DATABASE_USER=firstadvance
DATABASE_PASSWORD=FirstAdvance!
DATABASE_HOST=10.20.30.60
DATABASE_PORT=5432
DATABASE_NAME=firstadvancedev
DATABASE_USER=system
DATABASE_PASSWORD=FIRSTADV_PASS
DATABASE_HOST=10.10.33.65
DATABASE_PORT=1521
DATABASE_SID=FREE
# DATABASE_USER=system
#DATABASE_PASSWORD=FIRSTADV_PASS
#DATABASE_HOST=10.10.33.65
#DATABASE_PORT=1521
#DATABASE_SID=FREE
+10 -10
View File
@@ -3,14 +3,14 @@ KAFKA_TIMEOUT=1000.0
KAFKA_BROKER="dev-events.simbrellang.net:9085"
KAFKA_TOPICS=PROCESS_PAYMENT,LOAN_REPAYMENT
# DATABASE_USER=firstadvance
# DATABASE_PASSWORD=FirstAdvance!
# DATABASE_HOST=dev-data.simbrellang.net
# DATABASE_PORT=10532
# DATABASE_NAME=firstadvancedev
DATABASE_USER=firstadvance
DATABASE_PASSWORD=FirstAdvance!
DATABASE_HOST=10.20.30.60
DATABASE_PORT=5432
DATABASE_NAME=firstadvancedev
DATABASE_USER=system
DATABASE_PASSWORD=FIRSTADV_PASS
DATABASE_HOST=10.10.33.65
DATABASE_PORT=1521
DATABASE_SID=FREE
# DATABASE_USER=system
#DATABASE_PASSWORD=FIRSTADV_PASS
#DATABASE_HOST=10.10.33.65
#DATABASE_PORT=1521
#DATABASE_SID=FREE
+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"
+2 -2
View File
@@ -1,7 +1,7 @@
openapi: 3.0.3
info:
title: Event Manager API
description: The documentation for Event Manager API
title: Eco Integration Event Manager API
description: The documentation for Eco Event Manager API
version: 1.0.0
contact:
name: API Support