diff --git a/gccoffice_uploads/flagpoles_files/2026/02/aadhaar/aadhaar_10022026160149_affidavit.png b/gccoffice_uploads/flagpoles_files/2026/02/aadhaar/aadhaar_10022026160149_affidavit.png new file mode 100644 index 0000000..aa05faf Binary files /dev/null and b/gccoffice_uploads/flagpoles_files/2026/02/aadhaar/aadhaar_10022026160149_affidavit.png differ diff --git a/gccoffice_uploads/flagpoles_files/2026/02/affidavit/affidavit_10022026160149_affidavit.png b/gccoffice_uploads/flagpoles_files/2026/02/affidavit/affidavit_10022026160149_affidavit.png new file mode 100644 index 0000000..aa05faf Binary files /dev/null and b/gccoffice_uploads/flagpoles_files/2026/02/affidavit/affidavit_10022026160149_affidavit.png differ diff --git a/gccoffice_uploads/flagpoles_files/2026/02/ec/ec_10022026160149_ec.png b/gccoffice_uploads/flagpoles_files/2026/02/ec/ec_10022026160149_ec.png new file mode 100644 index 0000000..96dfeb6 Binary files /dev/null and b/gccoffice_uploads/flagpoles_files/2026/02/ec/ec_10022026160149_ec.png differ diff --git a/gccoffice_uploads/flagpoles_files/2026/02/fmb/fmb_10022026160149_fmb.png b/gccoffice_uploads/flagpoles_files/2026/02/fmb/fmb_10022026160149_fmb.png new file mode 100644 index 0000000..e3223bf Binary files /dev/null and b/gccoffice_uploads/flagpoles_files/2026/02/fmb/fmb_10022026160149_fmb.png differ diff --git a/gccoffice_uploads/flagpoles_files/2026/02/patta/patta_10022026160149_patta.jpeg b/gccoffice_uploads/flagpoles_files/2026/02/patta/patta_10022026160149_patta.jpeg new file mode 100644 index 0000000..a8786be Binary files /dev/null and b/gccoffice_uploads/flagpoles_files/2026/02/patta/patta_10022026160149_patta.jpeg differ diff --git a/src/main/java/com/gcc/flagpoles/controller/ApiController.java b/src/main/java/com/gcc/flagpoles/controller/ApiController.java index 99f2c6c..9bfa034 100644 --- a/src/main/java/com/gcc/flagpoles/controller/ApiController.java +++ b/src/main/java/com/gcc/flagpoles/controller/ApiController.java @@ -43,6 +43,7 @@ import org.springframework.web.multipart.MultipartFile; import com.fasterxml.jackson.databind.ObjectMapper; import com.gcc.flagpoles.service.RequestService; +import com.gcc.flagpoles.service.SMSService; // import com.dumpregistration.configuration.AppConfig; // import com.dumpregistration.constants.AppConstants; @@ -72,8 +73,8 @@ public class ApiController { @Autowired private FileUploadService fileUploadService; - // @Autowired - // private PaymentService paymentService ; + @Autowired + private SMSService smsService; @Autowired private AppConfig appConfig; @@ -850,4 +851,24 @@ public class ApiController { return response; } + @GetMapping("/sendRestorationMessage") + public String sendRestorationMessage(@RequestParam String mobileNo, @RequestParam String streetName, + @RequestParam String amount, @RequestParam String requestId) { + return smsService.restorationflagpoleSms(mobileNo, streetName, amount, requestId); + } + + @GetMapping("/sendUnauthorizedMessage") + public String sendUnauthorizedMessage(@RequestParam String mobileNo, + @RequestParam String streetName, + @RequestParam String fineAmount, + @RequestParam String requestId) { + + return smsService.unauthorizedFlagPoleSms(mobileNo, streetName, fineAmount, requestId); + } + + @GetMapping("/sentRequestRaisedPermanent") + public String sentRequestRaisedPermanent(@RequestParam String mobileNo, @RequestParam String requestId) { + return smsService.sendBookingSuccesssmspermanent(mobileNo, requestId); + } + } diff --git a/src/main/java/com/gcc/flagpoles/service/RequestService.java b/src/main/java/com/gcc/flagpoles/service/RequestService.java index 7ce7e2d..77dafe9 100644 --- a/src/main/java/com/gcc/flagpoles/service/RequestService.java +++ b/src/main/java/com/gcc/flagpoles/service/RequestService.java @@ -380,6 +380,7 @@ public class RequestService { int id = kh.getKey().intValue(); // ---------- REFID ---------- + String refId = LocalDate.now().format(DateTimeFormatter.ofPattern("yyyyMMdd")) + id; mysqlJdbcTemplate.update(""" @@ -448,6 +449,25 @@ public class RequestService { id, refId); + // ================= SMS SECTION ================= + + } + + // ================= SMS SECTION ================= + + String mobileNo = mysqlJdbcTemplate.queryForObject(""" + SELECT mobile_number + FROM user_request_details + WHERE id = ? + """, String.class, id); + + if (mobileNo != null && !mobileNo.isBlank()) { + try { + smsService.sendBookingSuccesssmspermanent(mobileNo, refId); + } catch (Exception e) { + System.err.println("SMS failed for requestId: " + refId); + e.printStackTrace(); + } } return refId; diff --git a/src/main/java/com/gcc/flagpoles/service/SMSService.java b/src/main/java/com/gcc/flagpoles/service/SMSService.java index d73ccc3..ad9966e 100644 --- a/src/main/java/com/gcc/flagpoles/service/SMSService.java +++ b/src/main/java/com/gcc/flagpoles/service/SMSService.java @@ -223,4 +223,34 @@ public class SMSService { } } + ///// for permanent flagpole/statue messages + + public String sendBookingSuccesssmspermanent(String mobileNo, String requestId) { + + String message = "Your Permanent Flag Pole / Statue permission request has been submitted successfully. " + + "Request ID: " + requestId + + ". You will be notified once the status is updated. By GCC"; + + // Encode message and fix colon issue (gateway not decoding %3A) + String encodedMsg = URLEncoder.encode(message, StandardCharsets.UTF_8) + .replace("%3A", ":") + .replace("%2F", "/"); + + String urlString = appConfig.getGetOtpUrl() + + "from=GCCCRP" + + "&key=" + key + + "&sender=GCCCRP" + + "&to=" + mobileNo + + "&body=" + encodedMsg + + "&entityid=1401572690000011081" + + "&templateid=1407177062205821043"; + + System.out.println("SMS URL:- " + urlString); + + String response = messageUtility.sendSMS(urlString); + System.out.println("SMS RESPONSE:- " + response); + + return response; + } + } diff --git a/src/main/resources/templates/modules/flagpolesregistration/requestform.html b/src/main/resources/templates/modules/flagpolesregistration/requestform.html index 590c6a0..37b3d7c 100644 --- a/src/main/resources/templates/modules/flagpolesregistration/requestform.html +++ b/src/main/resources/templates/modules/flagpolesregistration/requestform.html @@ -3252,6 +3252,11 @@ Swal.fire('Missing Field', 'Select Pole Material.', 'warning'); return; } + + if (!streetData.flagmaterial) { + Swal.fire('Missing Field', 'Select Flag Material.', 'warning'); + return; + } } /* ================= PERMANENT STATUE ================= */