Loan status fix

This commit is contained in:
CHIEFSOFT\ameye
2025-06-20 22:31:15 -04:00
parent 42a3b0fd73
commit 3f1d87b88a
2 changed files with 14 additions and 18 deletions
+12 -17
View File
@@ -50,34 +50,29 @@ class Repayment(db.Model):
@classmethod
def create_repayment(cls, repayment_data):
logger.info(f"create_repayment data: {repayment_data}")
try:
logger.info(f"repayment_data-LoanStatus- data: {repayment_data['LoanStatus']}")
except Exception as e:
logger.error(f"Bad data LoanStatus 777777 error: {e}")
llogger.info(f"LoanStatus 2222222 data: {repayment_data.LoanStatus}")
if repayment_data["LoanStatus"] not in [LoanStatus.ACTIVE, LoanStatus.START_REPAY]:
raise ValueError(f"Repayment cannot be processed. Loan status: ({repayment_data["LoanStatus"]})")
raise ValueError(f"Repayment cannot be processed. Loan status: ({repayment_data['LoanStatus']})")
repayment = cls(
customer_id=repayment_data.customerId,
loan_id=repayment_data.loanId,
product_id=repayment_data.productId,
transaction_id=repayment_data.transactionId,
customer_id=repayment_data["customerId"],
loan_id=repayment_data["loanId"],
product_id=repayment_data["productId"],
transaction_id=repayment_data["transactionId"],
created_at=datetime.now(timezone.utc),
updated_at=datetime.now(timezone.utc),
initiated_by= repayment_data.initiated_by
initiated_by= repayment_data["initiatedBy"],
salary_amount=repayment_data["salaryAmount"]
)
try:
db.session.add(repayment)
except IntegrityError as err:
db.session.commit()
logger.info("Repayment record committed.")
return repayment
except InqtegrityError as err:
logger.error(f"Database integrity error: {err}")
return repayment
return [q]
@classmethod
+2 -1
View File
@@ -8,6 +8,7 @@ from app.integrations.simbrella import SimbrellaClient
from app.services.loan import LoanService
from app.services.repayment import RepaymentService
from app.services.salary import SalaryService
from app.enums.loan_status import LoanStatus
autocall_bp = Blueprint("autocall", __name__)
@@ -192,7 +193,7 @@ def salary_detect():
#logger.info(f"Creating repayment for loan ID {loan_dict['debtId']}")
# repayment = RepaymentService.add_repayment(repayment_data)
repayment = RepaymentService.create_repayment(repayment_data)
Loan.update_status(loan_id=repayment_data.loanId,
LoanService.update_status(loan_id=repayment_data["loanId"],
status=LoanStatus.START_REPAY) # repay started
logger.info(f"Created repayment ID: {repayment.id}")