89 lines
2.6 KiB
Python
89 lines
2.6 KiB
Python
from app.models import Loan, LoanCharge
|
|
|
|
class LoanService:
|
|
|
|
@classmethod
|
|
def get_loan_by_transaction_id(cls, transaction_id):
|
|
"""
|
|
Get the loan by transaction ID
|
|
"""
|
|
return Loan.get_loan_by_transaction_id(transaction_id)
|
|
@classmethod
|
|
def get_loan_by_loan_id(cls, loan_id):
|
|
"""
|
|
Get the loan by ID
|
|
"""
|
|
return Loan.get_loan_by_loan_id(loan_id)
|
|
|
|
|
|
@classmethod
|
|
def get_loan_by_debt_id(cls, debt_id):
|
|
"""
|
|
Get the loan by transaction ID
|
|
"""
|
|
return Loan.get_loan_by_debt_id(debt_id)
|
|
|
|
|
|
@classmethod
|
|
def get_loan_charge_by_debt_id(cls, debt_id):
|
|
"""
|
|
Get the loan charge by debt ID
|
|
"""
|
|
return LoanCharge.get_loan_charge_by_debt_id(debt_id)
|
|
|
|
@classmethod
|
|
def set_disbursement_date(cls, loan_id, customer_id):
|
|
"""
|
|
Update the disbursement status of the loan with the given loan_id.
|
|
"""
|
|
return Loan.set_disbursement_date(loan_id, customer_id)
|
|
@classmethod
|
|
def set_disburse_verify_date(cls, loan_id, customer_id):
|
|
"""
|
|
Update the disburse verify date of the loan with the given loan_id.
|
|
"""
|
|
return Loan.set_disburse_verify_date(loan_id, customer_id)
|
|
|
|
@classmethod
|
|
def set_disbursement_result(cls, loan_id, result, description):
|
|
"""
|
|
Update the disbursement result of the loan with the given loan_id.
|
|
"""
|
|
return Loan.set_disbursement_result(loan_id, result, description)
|
|
@classmethod
|
|
def set_disburse_verify_result(cls, loan_id, result, description):
|
|
"""
|
|
Update the disburse verify result of the loan with the given loan_id.
|
|
"""
|
|
return Loan.set_disburse_verify_result(loan_id, result, description)
|
|
|
|
@classmethod
|
|
def get_latest_loan_without_disburse_date(cls):
|
|
"""
|
|
Get the latest loan without a disbursement date.
|
|
"""
|
|
return Loan.get_latest_loan_without_disburse_date()
|
|
|
|
@classmethod
|
|
def get_latest_loan_with_disburse_date(cls):
|
|
"""
|
|
Get the latest loan without a disbursement date.
|
|
"""
|
|
return Loan.get_latest_loan_with_disburse_date()
|
|
|
|
@classmethod
|
|
def get_customer_loans(cls, customer_id):
|
|
"""
|
|
Get customer's active loans by customer_id.
|
|
"""
|
|
|
|
return Loan.get_customer_loans(customer_id=customer_id)
|
|
|
|
@classmethod
|
|
def update_status(cls, loan_id, status):
|
|
"""
|
|
Update the status of the loan with the given loan_id.
|
|
"""
|
|
# Retrieve loan
|
|
return Loan.update_status(loan_id, status)
|