Fees and structures added

This commit is contained in:
RIT Services
2026-08-20 06:43:00 +00:00
parent 9d83dec681
commit 6e52735484
9 changed files with 909 additions and 44 deletions

View File

@@ -75,6 +75,13 @@ public class WebhookController {
String messageType = messageNode.get("type").asText();
UserState currentState = sessionService.getUserState(fromPhoneNumber);
boolean isInMemory = sessionService.isSessionCached(fromPhoneNumber);
boolean hasDbRecord = sessionService.hasSavedCredentials(fromPhoneNumber);
if (!isInMemory && hasDbRecord) {
messageService.sendMessage(fromPhoneNumber, "Authenticating User with IMS... ⏳");
}
boolean isAuthenticated = sessionService.isAuthenticated(fromPhoneNumber);
// Global reset command
@@ -166,7 +173,7 @@ public class WebhookController {
messageService.sendMessage(phoneNumber, "This menu selection is no longer active.");
studentMenuHandler.sendMainMenu(phoneNumber);
}
} else if (selectedListId.startsWith("receipt_")) {
} else if (selectedListId.startsWith("receipt_") || selectedListId.startsWith("exam_") || selectedListId.startsWith("acad_") || selectedListId.startsWith("cons_")) {
// They clicked a receipt download option
if (currentState == UserState.AWAITING_RECEIPT_SELECTION) {
studentMenuHandler.handleReceiptSelection(phoneNumber, selectedListId);
@@ -191,6 +198,16 @@ public class WebhookController {
return;
}
if ("student_exam_fees".equals(selectedButtonId)) {
studentMenuHandler.handleExamFees(phoneNumber);
return;
}
if ("student_payment_history".equals(selectedButtonId)) {
studentMenuHandler.handlePaymentHistory(phoneNumber);
return;
}
if (currentState == UserState.AWAITING_GRIEVANCE_CATEGORY) {
grievanceHandler.handleCategorySelection(phoneNumber, selectedButtonId);
} else {