This commit is contained in:
CHIEFSOFT\ameye
2025-05-10 06:58:17 -04:00
parent 40158b1c54
commit 334cb0f2d6
3 changed files with 12 additions and 6 deletions
+5 -3
View File
@@ -30,9 +30,6 @@ class OfferAnalysis:
if not offer: if not offer:
raise ValueError("Invalid Offer.") raise ValueError("Invalid Offer.")
original_transaction = transaction_id original_transaction = transaction_id
# we can now find the origin transactions
customer_loan = Loan.get_customer_current_active_loan(customer_id)
return transaction_offer, offer, eligible_amount, original_transaction return transaction_offer, offer, eligible_amount, original_transaction
@@ -40,6 +37,10 @@ class OfferAnalysis:
def decide_offer(transaction_id, rac_check, validated_data,customer): def decide_offer(transaction_id, rac_check, validated_data,customer):
# if we have active offers - we have to feed off it # if we have active offers - we have to feed off it
# we can now find the origin transactions
last_customer_loan = Loan.get_customer_last_loan(customer.id) #Find the last loan - it will have original_transaction
logger.info(f"{last_customer_loan}")
""" """
Find the last loan - it will have original_transaction Find the last loan - it will have original_transaction
@@ -48,6 +49,7 @@ class OfferAnalysis:
This will give you the eligible_amount = REAL_ELIGIBLIBLE_AMOUNT This will give you the eligible_amount = REAL_ELIGIBLIBLE_AMOUNT
Sum all loans amount with same original_transaction together = Sum_active loans. = SUM_OF_ACTIVE_LOAN Sum all loans amount with same original_transaction together = Sum_active loans. = SUM_OF_ACTIVE_LOAN
[*** we will come back to this action to make sure w dont count already paid loans *******]
The new eligible amount will be = REAL_ELIGIBLIBLE_AMOUNT - SUM_OF_ACTIVE_LOAN The new eligible amount will be = REAL_ELIGIBLIBLE_AMOUNT - SUM_OF_ACTIVE_LOAN
+1 -1
View File
@@ -146,7 +146,7 @@ class ProvideLoanService(BaseService):
# charges = Charge.get_offer_charges(offer.id) # charges = Charge.get_offer_charges(offer.id)
logger.info(f"{charges}") # logger.info(f"{charges}")
loan_id = loan.id loan_id = loan.id
+6 -2
View File
@@ -6,6 +6,8 @@ from sqlalchemy.exc import IntegrityError
from sqlalchemy.orm import relationship from sqlalchemy.orm import relationship
from dateutil.relativedelta import relativedelta from dateutil.relativedelta import relativedelta
from datetime import timedelta from datetime import timedelta
import logging
logger = logging.getLogger(__name__)
class Loan(db.Model): class Loan(db.Model):
@@ -134,11 +136,13 @@ class Loan(db.Model):
return loan return loan
@classmethod @classmethod
def get_customer_current_active_loan(cls, customer_id): def get_customer_last_loan(cls, customer_id):
""" """
Get customer's active loans. Get customer's active loans.
""" """
logger.info(f"Find last loan for [customer_id] ==>>>> {customer_id}")
loan = cls.query.filter_by( customer_id = customer_id).first() loan = cls.query.filter_by( customer_id = customer_id).first()
logger.info(f" Active Loan ==>>>> RESULT************************ AMEYE")
if not loan: if not loan:
loan = { loan = {
"eligible_amount": 0, "eligible_amount": 0,
@@ -147,7 +151,7 @@ class Loan(db.Model):
"transaction_id": "", "transaction_id": "",
"resultDescription": "No Active Loan" "resultDescription": "No Active Loan"
} }
logger.info(f" Active Loan ==>>>> RESULT*********************")
logger.info(f" Active Loan ==>>>> {loan}") logger.info(f" Active Loan ==>>>> {loan}")
return loan return loan