Staered
This commit is contained in:
@@ -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
|
||||||
|
|
||||||
|
|||||||
@@ -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
@@ -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
|
||||||
|
|||||||
Reference in New Issue
Block a user