Merge branch 'test' of DigiFi/digifi-EventManager into master
This commit is contained in:
@@ -8,7 +8,8 @@ from app.utils.logger import logger
|
|||||||
from flask import jsonify, current_app
|
from flask import jsonify, current_app
|
||||||
from app.services.transactions import TransactionService
|
from app.services.transactions import TransactionService
|
||||||
from app.services.repayment import RepaymentService
|
from app.services.repayment import RepaymentService
|
||||||
from app.extensions import db
|
from app.extensions import db
|
||||||
|
from app.services.repayments_data import RepaymentsData
|
||||||
|
|
||||||
|
|
||||||
class SimbrellaClient:
|
class SimbrellaClient:
|
||||||
@@ -231,6 +232,12 @@ class SimbrellaClient:
|
|||||||
|
|
||||||
logger.info(f"CollectLoan response: {response.json()}")
|
logger.info(f"CollectLoan response: {response.json()}")
|
||||||
RepaymentService.set_repay_result(repayment_data['Id'], response.json().get('responseCode', ''), response.json().get('responseMessage', ''))
|
RepaymentService.set_repay_result(repayment_data['Id'], response.json().get('responseCode', ''), response.json().get('responseMessage', ''))
|
||||||
|
result = response.json()
|
||||||
|
new_repayment_data = RepaymentsData.add_repayment_data(result)
|
||||||
|
logger.info(f"Repayment data added successfully: {new_repayment_data.to_dict()}")
|
||||||
|
if not new_repayment_data:
|
||||||
|
logger.info(f"Failed to add repayment data")
|
||||||
|
|
||||||
return ResponseHelper.success(response.json(), "Successful")
|
return ResponseHelper.success(response.json(), "Successful")
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
logger.info(f"Failed to call CollectLoan endpoint: {e}")
|
logger.info(f"Failed to call CollectLoan endpoint: {e}")
|
||||||
|
|||||||
@@ -4,5 +4,6 @@ from .loan import Loan
|
|||||||
from .loan_charge import LoanCharge
|
from .loan_charge import LoanCharge
|
||||||
from .customer import Customer
|
from .customer import Customer
|
||||||
from .account import Account
|
from .account import Account
|
||||||
|
from .repayments_data import RepaymentsData
|
||||||
|
|
||||||
__all__ = ['Transaction', 'Repayment', 'Loan', 'LoanCharge', 'Customer', 'Account']
|
__all__ = ['Transaction', 'Repayment', 'Loan', 'LoanCharge', 'Customer', 'Account', 'RepaymentsData']
|
||||||
@@ -0,0 +1,44 @@
|
|||||||
|
from datetime import datetime, timezone
|
||||||
|
from app.extensions import db
|
||||||
|
from app.utils.logger import logger
|
||||||
|
|
||||||
|
class RepaymentsData(db.Model):
|
||||||
|
__tablename__ = 'repayments_data'
|
||||||
|
|
||||||
|
id = db.Column(db.Integer, primary_key=True, autoincrement=True)
|
||||||
|
transaction_id = db.Column(db.String(50), nullable=False)
|
||||||
|
added_date = db.Column(db.DateTime(timezone=True), default=datetime.now(timezone.utc), nullable=False)
|
||||||
|
response_code = db.Column(db.String(10), nullable=True)
|
||||||
|
response_descr = db.Column(db.String(255), nullable=True)
|
||||||
|
|
||||||
|
def to_dict(self):
|
||||||
|
return {
|
||||||
|
"id": self.id,
|
||||||
|
"transaction_id": self.transaction_id,
|
||||||
|
"added_date": self.added_date.isoformat() if self.added_date else None,
|
||||||
|
"response_code": self.response_code,
|
||||||
|
"response_descr": self.response_descr,
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
def __repr__(self):
|
||||||
|
return f"<RepaymentsData id={self.id}, transaction_id={self.transaction_id}>"
|
||||||
|
|
||||||
|
@classmethod
|
||||||
|
def add_repayment_data(cls, data):
|
||||||
|
"""
|
||||||
|
Add a new repayment data entry.
|
||||||
|
"""
|
||||||
|
try:
|
||||||
|
new_data = cls(
|
||||||
|
transaction_id=data.get('transactionId'),
|
||||||
|
response_code=data.get('responseCode'),
|
||||||
|
response_descr=data.get('responseMessage')
|
||||||
|
)
|
||||||
|
db.session.add(new_data)
|
||||||
|
db.session.commit()
|
||||||
|
logger.info(f"data has been commited ")
|
||||||
|
return new_data
|
||||||
|
except Exception as e:
|
||||||
|
db.session.rollback()
|
||||||
|
raise Exception(f"Error adding repayment data: {str(e)}")
|
||||||
@@ -0,0 +1,11 @@
|
|||||||
|
from app.models import RepaymentsData
|
||||||
|
|
||||||
|
class RepaymentService:
|
||||||
|
|
||||||
|
|
||||||
|
@classmethod
|
||||||
|
def add_repayment_data(cls,data):
|
||||||
|
"""
|
||||||
|
Add a new repayment data entry.
|
||||||
|
"""
|
||||||
|
return RepaymentsData.add_repayment_data(data)
|
||||||
Reference in New Issue
Block a user