added a new penal charge endpoint
This commit was merged in pull request #63.
This commit is contained in:
+40
-1
@@ -440,7 +440,46 @@ def report():
|
||||
except Exception as e:
|
||||
logger.error(f"Error generating or sending report: {e}")
|
||||
return ResponseHelper.error("Failed to send report", status_code=500, error=str(e))
|
||||
|
||||
|
||||
@autocall_bp.route("/process-penal-charges", methods=["GET"])
|
||||
def process_penal_charges():
|
||||
try:
|
||||
OVERDUE_GRACE_PERIOD_DAYS = settings.OVERDUE_GRACE_PERIOD_DAYS
|
||||
|
||||
overdue_loans = (
|
||||
LoanRepaymentScheduleService
|
||||
.get_overdue_repayment_schedule_with_grace_period(OVERDUE_GRACE_PERIOD_DAYS)
|
||||
)
|
||||
|
||||
logger.info(f"Found {len(overdue_loans)} overdue loans.")
|
||||
|
||||
if not overdue_loans:
|
||||
return ResponseHelper.success(
|
||||
message="No overdue loans found",
|
||||
status_code=200
|
||||
)
|
||||
|
||||
processed_loans = []
|
||||
|
||||
for loan in overdue_loans:
|
||||
# TODO: apply penal charge logic here
|
||||
# PenalChargeService.apply_penal_charge(loan)
|
||||
|
||||
processed_loans.append(loan.to_dict())
|
||||
|
||||
return ResponseHelper.success(
|
||||
message="Penal Charges Processed Successfully",
|
||||
status_code=200,
|
||||
data=processed_loans
|
||||
)
|
||||
|
||||
except Exception as e:
|
||||
logger.exception(f"Error processing penal charges: {e}")
|
||||
return ResponseHelper.error(
|
||||
"Failed to process penal charges",
|
||||
status_code=500,
|
||||
error=str(e)
|
||||
)
|
||||
|
||||
@autocall_bp.route("/overdue-loans", methods=["GET"])
|
||||
def overdue_loans():
|
||||
|
||||
Reference in New Issue
Block a user