Browse Source

building id dynamically and live issue fixed (wrong build & category) booking by user & fixed the changes officerdashboard page for caretaker2

master
AJITHKUMAR12 9 months ago
parent
commit
f340c42d4b
  1. 486
      src/main/java/com/gcc/coworkspace/controller/BookingController.java
  2. 1330
      src/main/java/com/gcc/coworkspace/controller/controller.java
  3. 1132
      src/main/java/com/gcc/coworkspace/service/BookingService.java
  4. 9
      src/main/java/com/gcc/coworkspace/service/NormalSMS.java
  5. 28
      src/main/java/com/gcc/coworkspace/service/WhatsAppService.java
  6. 9
      src/main/resources/templates/caretaker/abstract.html
  7. 13
      src/main/resources/templates/caretaker/bookingdetails.html
  8. 2
      src/main/resources/templates/caretaker/bookingdetails.html.29112024.html
  9. 1860
      src/main/resources/templates/caretaker/officer-dashboard.html
  10. 2
      src/main/resources/templates/fragments/user-nav.html
  11. 1597
      src/main/resources/templates/user/book-Conferance.html
  12. 1442
      src/main/resources/templates/user/book-reading.html
  13. 33
      src/main/resources/templates/user/book-workdesk.html
  14. 2
      src/main/resources/templates/user/bookinghistory.html
  15. 2
      src/main/resources/templates/user/qrpage.html
  16. 181
      src/main/resources/templates/user/razor-pay.html

486
src/main/java/com/gcc/coworkspace/controller/BookingController.java

@ -1,11 +1,10 @@
package com.gcc.coworkspace.controller; package com.gcc.coworkspace.controller;
import com.gcc.coworkspace.component.UserSession; import com.gcc.coworkspace.component.UserSession;
import com.gcc.coworkspace.configuration.AppConfig; import com.gcc.coworkspace.configuration.AppConfig;
import com.gcc.coworkspace.configuration.QrGenerator; import com.gcc.coworkspace.configuration.QrGenerator;
import com.gcc.coworkspace.constants.AppConstants; import com.gcc.coworkspace.constants.AppConstants;
import com.gcc.coworkspace.exception.NoSlotAvailable;
import com.gcc.coworkspace.service.BookingService; import com.gcc.coworkspace.service.BookingService;
import com.gcc.coworkspace.service.NormalSMS; import com.gcc.coworkspace.service.NormalSMS;
import com.gcc.coworkspace.service.PaymentService; import com.gcc.coworkspace.service.PaymentService;
@ -54,62 +53,113 @@ public class BookingController {
@Autowired @Autowired
private NormalSMS normalSMS; private NormalSMS normalSMS;
/*
* @PostMapping("/saveInTemp")
* public Map<String, Object> booking(@RequestParam("catId") int catId,
*
* @RequestParam("buildId") int buildId,
*
* @RequestParam("subId") int subId,
*
* @RequestParam("noOfPeople") int noOfPeople,
*
* @RequestParam("fromDate") LocalDate fromDate,
*
* @RequestParam("toDate") LocalDate toDate,
*
* @RequestParam("userName") String userName,
*
* @RequestParam("userMobile") long userMobile,
* // @RequestParam("amount") double amount,
*
* @RequestParam("slots") List<Integer> slots) {
*
* System.out.println(catId);
* System.out.println(slots);
* return bookingService.saveTempBooking(userName, userMobile, slots, fromDate,
* toDate, noOfPeople, catId, buildId,
* subId);
*
* }
*/
@PostMapping("/saveInTemp") @PostMapping("/saveInTemp")
public Map<String, Object> booking(@RequestParam("catId") int catId,
@RequestParam("buildId") int buildId,
@RequestParam("subId") int subId,
@RequestParam("noOfPeople") int noOfPeople,
@RequestParam("fromDate") LocalDate fromDate,
@RequestParam("toDate") LocalDate toDate,
@RequestParam("userName") String userName,
@RequestParam("userMobile") long userMobile,
// @RequestParam("amount") double amount,
@RequestParam("slots") List<Integer> slots){
System.out.println(catId);
System.out.println(slots);
return bookingService.saveTempBooking(userName,userMobile, slots, fromDate, toDate,noOfPeople,catId,buildId,subId) ;
public ResponseEntity<Map<String, Object>> booking(
@RequestParam("catId") int catId,
@RequestParam("buildId") int buildId,
@RequestParam("subId") int subId,
@RequestParam("noOfPeople") int noOfPeople,
@RequestParam("fromDate") LocalDate fromDate,
@RequestParam("toDate") LocalDate toDate,
@RequestParam("userName") String userName,
@RequestParam("userMobile") long userMobile,
@RequestParam("slots") List<Integer> slots) {
System.out.println("buildId" + buildId);
System.out.println("catId" + catId);
}
Map<String, Object> response = new HashMap<>();
// @PostMapping("/saveBooking")
// public int saveBooking(@RequestParam("tempBookId") int tempBookId){
//
// return bookingService.saveBooking(tempBookId);
// }
/*
@GetMapping("/checkAvail")
public Boolean checkAvailability(int bid,int cid,LocalDate bDate,int scid,int noOfPerson,int slotId){
System.out.println("check Availability");
return bookingService.checkAvailabilityByBdate(bid,cid,bDate,scid,noOfPerson,slotId);
try {
Map<String, Object> result = bookingService.saveTempBooking(
userName, userMobile, slots,
fromDate, toDate, noOfPeople,
catId, buildId, subId);
response.put("status", "SUCCESS");
response.putAll(result);
return ResponseEntity.ok(response);
} catch (NoSlotAvailable e) {
response.put("status", "ERROR");
response.put("message", e.getMessage());
return ResponseEntity
.status(HttpStatus.BAD_REQUEST)
.body(response);
}
} }
*/
// @PostMapping("/saveBooking")
// public int saveBooking(@RequestParam("tempBookId") int tempBookId){
//
// return bookingService.saveBooking(tempBookId);
// }
/*
* @GetMapping("/checkAvail")
* public Boolean checkAvailability(int bid,int cid,LocalDate bDate,int scid,int
* noOfPerson,int slotId){
* System.out.println("check Availability");
* return
* bookingService.checkAvailabilityByBdate(bid,cid,bDate,scid,noOfPerson,slotId)
* ;
* }
*/
@GetMapping("/checkAvail") @GetMapping("/checkAvail")
public Boolean checkAvailability(int bid,int cid,LocalDate bDate,int scid,int noOfPerson,int slotId){
public Boolean checkAvailability(int bid, int cid, LocalDate bDate, int scid, int noOfPerson, int slotId) {
System.out.println("check Availability"); System.out.println("check Availability");
return bookingService.checkAvailabilityByBdate(bid,cid,bDate,scid,noOfPerson,slotId);
return bookingService.checkAvailabilityByBdate(bid, cid, bDate, scid, noOfPerson, slotId);
} }
@GetMapping("/hasTodayAttendance") @GetMapping("/hasTodayAttendance")
public ResponseEntity<Map<String,Object>> hasTodayAttendance(
public ResponseEntity<Map<String, Object>> hasTodayAttendance(
@RequestParam("buildingid") int buildingid) { @RequestParam("buildingid") int buildingid) {
boolean exists = bookingService.hasTodayAttendance(buildingid); boolean exists = bookingService.hasTodayAttendance(buildingid);
Map<String,Object> response = new HashMap<>();
Map<String, Object> response = new HashMap<>();
response.put("exists", exists); response.put("exists", exists);
return ResponseEntity.ok(response); return ResponseEntity.ok(response);
} }
@PostMapping(value="/create_order")
public String create_order(HttpServletRequest request,@RequestParam("id") int tempid) throws RazorpayException {
@PostMapping(value = "/create_order")
public String create_order(HttpServletRequest request, @RequestParam("id") int tempid) throws RazorpayException {
// Get data from the service // Get data from the service
Map<String, Object> tempBookingInfo = bookingService.getTempBookingByTempId(tempid); Map<String, Object> tempBookingInfo = bookingService.getTempBookingByTempId(tempid);
// Check if the list is not empty // Check if the list is not empty
if (tempBookingInfo!=null && !tempBookingInfo.isEmpty()) {
if (tempBookingInfo != null && !tempBookingInfo.isEmpty()) {
String tempbookid = tempBookingInfo.get("tempbookid").toString(); String tempbookid = tempBookingInfo.get("tempbookid").toString();
String amount = tempBookingInfo.get("amount").toString(); String amount = tempBookingInfo.get("amount").toString();
@ -121,54 +171,52 @@ public class BookingController {
System.out.println("Invalid number format for amount: " + amount); System.out.println("Invalid number format for amount: " + amount);
} }
//To enable testing mode in appConstants if required for testing & development
var client = new RazorpayClient(AppConstants.key_id,AppConstants.key_secret);
// To enable testing mode in appConstants if required for testing & development
var client = new RazorpayClient(AppConstants.key_id, AppConstants.key_secret);
JSONObject options = new JSONObject(); JSONObject options = new JSONObject();
options.put("amount", amountDouble * 100); options.put("amount", amountDouble * 100);
options.put("currency", "INR"); options.put("currency", "INR");
Order od = client.orders.create(options); Order od = client.orders.create(options);
System.out.println(od); System.out.println(od);
paymentService.saveorderLog(od.get("id").toString(),od.toString(),tempbookid);
paymentService.saveorderLog(od.get("id").toString(), od.toString(), tempbookid);
return od.toString(); return od.toString();
} else { } else {
System.out.println("No data found for tempid: " + tempid); System.out.println("No data found for tempid: " + tempid);
return "No data found for tempid: " + tempid; return "No data found for tempid: " + tempid;
} }
// return "error";
// return "error";
} }
@PostMapping("/Confirm") @PostMapping("/Confirm")
public String updateOrder(@RequestBody Map<String,Object> data){
String tempid=data.get("id").toString();;
String pay_id= data.get("payment_id").toString();
String order_id=data.get("order_id").toString();
String status=data.get("status").toString();
String amount =(Double.parseDouble(data.get("amount").toString())/100)+"";
int pid = paymentService.savePayment(amount,pay_id,order_id,status,0+"",0+"");
public String updateOrder(@RequestBody Map<String, Object> data) {
String tempid = data.get("id").toString();
;
String pay_id = data.get("payment_id").toString();
String order_id = data.get("order_id").toString();
String status = data.get("status").toString();
String amount = (Double.parseDouble(data.get("amount").toString()) / 100) + "";
int pid = paymentService.savePayment(amount, pay_id, order_id, status, 0 + "", 0 + "");
try { try {
int bookingId = bookingser.saveBooking(Integer.parseInt(tempid),pid);
//
// Print or use the values as required
System.out.println("Temp ID: " + tempid);
System.out.println("Booking ID:- "+bookingId);
return bookingId+"";
int bookingId = bookingser.saveBooking(Integer.parseInt(tempid), pid);
//
// Print or use the values as required
System.out.println("Temp ID: " + tempid);
System.out.println("Booking ID:- " + bookingId);
return bookingId + "";
}catch (Exception e){
System.out.println("error: "+e.getMessage());
} catch (Exception e) {
System.out.println("error: " + e.getMessage());
System.out.println("No booking data found for tempid: " + tempid); System.out.println("No booking data found for tempid: " + tempid);
return "error"; return "error";
} }
} }
//mobile app development
// mobile app development
@GetMapping("/bookings") @GetMapping("/bookings")
public ResponseEntity<List<Map<String, Object>>> getBookingsByMobileNo(@RequestParam long mobileNo) { public ResponseEntity<List<Map<String, Object>>> getBookingsByMobileNo(@RequestParam long mobileNo) {
List<Map<String, Object>> bookings = bookingService.getBookingByMobileNo(mobileNo); List<Map<String, Object>> bookings = bookingService.getBookingByMobileNo(mobileNo);
@ -177,6 +225,7 @@ public class BookingController {
} }
return ResponseEntity.ok(bookings); // Return 200 with the bookings data return ResponseEntity.ok(bookings); // Return 200 with the bookings data
} }
@GetMapping("/generate-qrcode") @GetMapping("/generate-qrcode")
public ResponseEntity<?> generateQRCode(@RequestParam(required = true) String booking_id) { public ResponseEntity<?> generateQRCode(@RequestParam(required = true) String booking_id) {
if (booking_id == null) { if (booking_id == null) {
@ -184,7 +233,7 @@ public class BookingController {
} }
try { try {
// URL for the booking details API // URL for the booking details API
String url = appConfig.getFull_URL()+"/bookingQRCode?booking_id=" + booking_id;
String url = appConfig.getFull_URL() + "/bookingQRCode?booking_id=" + booking_id;
// Generate QR code as base64 string // Generate QR code as base64 string
String base64QRCode = QrGenerator.generateQRCode(url); String base64QRCode = QrGenerator.generateQRCode(url);
@ -214,7 +263,7 @@ public class BookingController {
int otp = rand.nextInt(90000) + 10000; int otp = rand.nextInt(90000) + 10000;
System.out.print("\n otp---:" + otp); System.out.print("\n otp---:" + otp);
String bodyMessage = normalSMS.sendOTPNsms(mobileNo,otp+"");
String bodyMessage = normalSMS.sendOTPNsms(mobileNo, otp + "");
HttpSession session = request.getSession(); HttpSession session = request.getSession();
session.setAttribute("otp", otp); session.setAttribute("otp", otp);
@ -222,7 +271,6 @@ public class BookingController {
return bodyMessage; return bodyMessage;
} }
@GetMapping(value = "/verifyOTP") @GetMapping(value = "/verifyOTP")
@ResponseBody @ResponseBody
public Map<String, Object> verifyOtp(HttpServletRequest request, @RequestParam String otp) { public Map<String, Object> verifyOtp(HttpServletRequest request, @RequestParam String otp) {
@ -270,103 +318,103 @@ public class BookingController {
return response; return response;
} }
/* /*
@GetMapping(value = "/verifyOTP")
public String verifyOtp(HttpServletRequest request, @RequestParam String otp) {
HttpSession session = request.getSession();
try {
Integer session_otp = (Integer) session.getAttribute("otp");
System.out.println("session_otp---:" + session_otp);
Integer entered_otp = Integer.parseInt(otp);
if (session_otp != null && session_otp.equals(entered_otp)) {
System.out.println("Entered OTP Correct");
session.setAttribute("verifiedotp", "success");
userSession.setMobileno(Long.parseLong(session.getAttribute("mobileNo").toString()));
return "Success";
} else {
System.out.println("Incorrect OTP. Please enter correct OTPs.");
session.setAttribute("verifiedotp", "error");
return "Error";
}
} catch (NumberFormatException e) {
System.out.println("Invalid OTP format: " + otp);
return "Error";
} catch (Exception e) {
System.out.println("Error verifying OTP: " + e.getMessage());
return "Error";
}
}
*/
* @GetMapping(value = "/verifyOTP")
* public String verifyOtp(HttpServletRequest request, @RequestParam String otp)
* {
* HttpSession session = request.getSession();
*
* try {
* Integer session_otp = (Integer) session.getAttribute("otp");
* System.out.println("session_otp---:" + session_otp);
* Integer entered_otp = Integer.parseInt(otp);
*
* if (session_otp != null && session_otp.equals(entered_otp)) {
* System.out.println("Entered OTP Correct");
* session.setAttribute("verifiedotp", "success");
* userSession.setMobileno(Long.parseLong(session.getAttribute("mobileNo").
* toString()));
* return "Success";
* } else {
* System.out.println("Incorrect OTP. Please enter correct OTPs.");
* session.setAttribute("verifiedotp", "error");
* return "Error";
* }
* } catch (NumberFormatException e) {
* System.out.println("Invalid OTP format: " + otp);
* return "Error";
* } catch (Exception e) {
* System.out.println("Error verifying OTP: " + e.getMessage());
* return "Error";
* }
* }
*/
// @PostMapping("/validatelogin") // @PostMapping("/validatelogin")
// public ResponseEntity<?> checkLogin(@RequestParam String usernametxt, @RequestParam String passwordtxt, HttpSession session) {
// try {
// String userName = bookingser.validateLogin(usernametxt, passwordtxt);
// if (userName != null) {
// // Set user info in the session
// session.setAttribute("mobileno", usernametxt);
// session.setAttribute("user_name",userName );
// return ResponseEntity.ok(userName);
// } else {
// return ResponseEntity.status(HttpStatus.EXPECTATION_FAILED).body("error");
// }
// } catch (Exception e) {
// e.printStackTrace();
// return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).body("Internal server error occurred");
// }
// }
// public ResponseEntity<?> checkLogin(@RequestParam String usernametxt,
// @RequestParam String passwordtxt, HttpSession session) {
// try {
// String userName = bookingser.validateLogin(usernametxt, passwordtxt);
// added by yogi
@PostMapping("/validatelogin")
public ResponseEntity<?> checkLogin(
@RequestParam String usernametxt,
@RequestParam String passwordtxt,
HttpSession session) {
// if (userName != null) {
// // Set user info in the session
// session.setAttribute("mobileno", usernametxt);
// session.setAttribute("user_name",userName );
try {
Map<String, Object> userData = bookingser.validateLogin(usernametxt, passwordtxt);
// return ResponseEntity.ok(userName);
// } else {
// return ResponseEntity.status(HttpStatus.EXPECTATION_FAILED).body("error");
// }
// } catch (Exception e) {
// e.printStackTrace();
// return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).body("Internal
// server error occurred");
// }
// }
if (userData != null) {
// added by yogi
@PostMapping("/validatelogin")
public ResponseEntity<?> checkLogin(
@RequestParam String usernametxt,
@RequestParam String passwordtxt,
HttpSession session) {
String userName = (String) userData.get("user_name");
//Integer bid = (Integer) userData.get("bid");
try {
Map<String, Object> userData = bookingser.validateLogin(usernametxt, passwordtxt);
// FIX: Convert BID safely
Integer bid = Integer.valueOf(userData.get("bid").toString());
if (userData != null) {
// Store in session
// Store in session
session.setAttribute("user_name", userName);
session.setAttribute("bid", bid);
// Return clean JSON
Map<String, Object> response = new HashMap<>();
response.put("status", "success");
response.put("user_name", userName);
response.put("bid", bid);
String userName = (String) userData.get("user_name");
// Integer bid = (Integer) userData.get("bid");
// FIX: Convert BID safely
Integer bid = Integer.valueOf(userData.get("bid").toString());
System.out.println("Logged in user=" + userName + ", BID=" + bid);
// Store in session
// Store in session
session.setAttribute("user_name", userName);
session.setAttribute("bid", bid);
// Return clean JSON
Map<String, Object> response = new HashMap<>();
response.put("status", "success");
response.put("user_name", userName);
response.put("bid", bid);
return ResponseEntity.ok(response);
} else {
return ResponseEntity.status(HttpStatus.EXPECTATION_FAILED).body("error");
}
System.out.println("Logged in user=" + userName + ", BID=" + bid);
} catch (Exception e) {
e.printStackTrace();
return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR)
.body("Internal server error occurred");
return ResponseEntity.ok(response);
} else {
return ResponseEntity.status(HttpStatus.EXPECTATION_FAILED).body("error");
} }
}
} catch (Exception e) {
e.printStackTrace();
return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR)
.body("Internal server error occurred");
}
}
//ak
// ak
@GetMapping("/bookinghistorydetails") @GetMapping("/bookinghistorydetails")
@ResponseBody @ResponseBody
@ -383,93 +431,105 @@ public class BookingController {
} }
@GetMapping("/getAvailabilityBySlot") @GetMapping("/getAvailabilityBySlot")
public List<Map<String, Object>> getAvailabilityBySlot(@RequestParam int scid, @RequestParam String selectedDate) {
public List<Map<String, Object>> getAvailabilityBySlot(@RequestParam int scid, @RequestParam String selectedDate) {
return bookingService.getCalendarBasedOnSubCatId(scid, selectedDate); return bookingService.getCalendarBasedOnSubCatId(scid, selectedDate);
// Replace with the actual view name // Replace with the actual view name
} }
/* @GetMapping("/getbookingdetailDashBoard")
public List<Map<String, Object>> getbookingdetailDashBoard(@RequestParam String fromDate, @RequestParam String toDate, @RequestParam String status) {
return bookingService.getbookingdetailDashBoard(fromDate,toDate, status);
}*/
//ak
/*
* @GetMapping("/getbookingdetailDashBoard")
* public List<Map<String, Object>> getbookingdetailDashBoard(@RequestParam
* String fromDate, @RequestParam String toDate, @RequestParam String status) {
* return bookingService.getbookingdetailDashBoard(fromDate,toDate, status);
* }
*/
// ak
@GetMapping("/getbookingdetailDashBoard") @GetMapping("/getbookingdetailDashBoard")
public List<Map<String, Object>> getbookingdetailDashBoard(
@RequestParam String fromDate,
@RequestParam String toDate,
@RequestParam String status,
@RequestParam int bid) {
System.out.println("fromdate: " + fromDate);
System.out.println("bid: " + bid);
System.out.println("status: " + status);
System.out.println("toDate: " + toDate);
return bookingService.getbookingdetailDashBoard(fromDate, toDate, status, bid);
}
public List<Map<String, Object>> getbookingdetailDashBoard(
@RequestParam String fromDate,
@RequestParam String toDate,
@RequestParam String status,
@RequestParam int bid) {
System.out.println("fromdate: " + fromDate);
System.out.println("bid: " + bid);
System.out.println("status: " + status);
System.out.println("toDate: " + toDate);
return bookingService.getbookingdetailDashBoard(fromDate, toDate, status, bid);
}
/*
* @GetMapping("/amountCollected")
* public List<Map<String, Object>> getAmountCollected(@RequestParam("fromDate")
* String fromDate,
*
* @RequestParam("toDate") String toDate) {
* // Convert the string dates to LocalDate
* LocalDate parsedFromDate = LocalDate.parse(fromDate);
* LocalDate parsedToDate = LocalDate.parse(toDate);
* return bookingService.getAmountCollectedByDate(parsedFromDate, parsedToDate);
* }
*/
@GetMapping("/amountCollected")
public List<Map<String, Object>> getAmountCollected(
@RequestParam("fromDate") String fromDate,
@RequestParam("toDate") String toDate,
@RequestParam("bid") int bid) {
/* @GetMapping("/amountCollected")
public List<Map<String, Object>> getAmountCollected(@RequestParam("fromDate") String fromDate,
@RequestParam("toDate") String toDate) {
// Convert the string dates to LocalDate
LocalDate parsedFromDate = LocalDate.parse(fromDate); LocalDate parsedFromDate = LocalDate.parse(fromDate);
LocalDate parsedToDate = LocalDate.parse(toDate); LocalDate parsedToDate = LocalDate.parse(toDate);
return bookingService.getAmountCollectedByDate(parsedFromDate, parsedToDate);
}*/
@GetMapping("/amountCollected")
public List<Map<String, Object>> getAmountCollected(
@RequestParam("fromDate") String fromDate,
@RequestParam("toDate") String toDate,
@RequestParam("bid") int bid) {
LocalDate parsedFromDate = LocalDate.parse(fromDate);
LocalDate parsedToDate = LocalDate.parse(toDate);
return bookingService.getAmountCollectedByDate(parsedFromDate, parsedToDate, bid);
}
return bookingService.getAmountCollectedByDate(parsedFromDate, parsedToDate, bid);
}
/*@GetMapping("/bookingCountByCategory")
public List<Map<String, Object>> getBookingCountsByCategory(@RequestParam("fromDate") String fromDate,
@RequestParam("toDate") String toDate,) {
// Call the service method to get the booking counts for the specified date range
return bookingService.getBookingCountsByCategory(fromDate, toDate);
}*/
//ak
/*
* @GetMapping("/bookingCountByCategory")
* public List<Map<String, Object>>
* getBookingCountsByCategory(@RequestParam("fromDate") String fromDate,
*
* @RequestParam("toDate") String toDate,) {
* // Call the service method to get the booking counts for the specified date
* range
* return bookingService.getBookingCountsByCategory(fromDate, toDate);
* }
*/
// ak
@GetMapping("/bookingCountByCategory") @GetMapping("/bookingCountByCategory")
public List<Map<String, Object>> getBookingCountsByCategory(
@RequestParam("fromDate") String fromDate,
@RequestParam("toDate") String toDate,
@RequestParam("bid") int bid) {
public List<Map<String, Object>> getBookingCountsByCategory(
@RequestParam("fromDate") String fromDate,
@RequestParam("toDate") String toDate,
@RequestParam("bid") int bid) {
return bookingService.getBookingCountsByCategory(fromDate, toDate, bid);
}
return bookingService.getBookingCountsByCategory(fromDate, toDate, bid);
}
/* @GetMapping("/totalBookingCounts")
public List<Map<String, Object>> getBookingCounts(@RequestParam("fromDate") String fromDate,@RequestParam("toDate")String toDate) {
// Call service method to get booking counts
return bookingService.getBookingCountsByDate(fromDate,toDate);
}*/
//ak
/*
* @GetMapping("/totalBookingCounts")
* public List<Map<String, Object>> getBookingCounts(@RequestParam("fromDate")
* String fromDate,@RequestParam("toDate")String toDate) {
* // Call service method to get booking counts
* return bookingService.getBookingCountsByDate(fromDate,toDate);
* }
*/
// ak
@GetMapping("/totalBookingCounts") @GetMapping("/totalBookingCounts")
public List<Map<String, Object>> getBookingCounts(
@RequestParam("fromDate") String fromDate,
@RequestParam("toDate") String toDate,
@RequestParam("bid") int bid) {
return bookingService.getBookingCountsByDate(fromDate, toDate, bid);
}
public List<Map<String, Object>> getBookingCounts(
@RequestParam("fromDate") String fromDate,
@RequestParam("toDate") String toDate,
@RequestParam("bid") int bid) {
return bookingService.getBookingCountsByDate(fromDate, toDate, bid);
}
@GetMapping("/bookinghistory") @GetMapping("/bookinghistory")
@ResponseBody
public List<Map<String, Object>> getBookingHistory() {
if (userSession != null && userSession.getMobileno() != 0) {
return bookingService.getBookingByMobileNo(userSession.getMobileno());
}
return Collections.emptyList();
}
@ResponseBody
public List<Map<String, Object>> getBookingHistory() {
if (userSession != null && userSession.getMobileno() != 0) {
return bookingService.getBookingByMobileNo(userSession.getMobileno());
}
return Collections.emptyList();
}
@GetMapping("/getComplaintsByMobile") @GetMapping("/getComplaintsByMobile")
public ResponseEntity<?> getComplaintAndUserDetailsByMobile(@RequestParam("mobileNo") String mobileNo) { public ResponseEntity<?> getComplaintAndUserDetailsByMobile(@RequestParam("mobileNo") String mobileNo) {

1330
src/main/java/com/gcc/coworkspace/controller/controller.java
File diff suppressed because it is too large
View File

1132
src/main/java/com/gcc/coworkspace/service/BookingService.java
File diff suppressed because it is too large
View File

9
src/main/java/com/gcc/coworkspace/service/NormalSMS.java

@ -1,9 +1,10 @@
package com.gcc.coworkspace.service; package com.gcc.coworkspace.service;
import com.gcc.coworkspace.configuration.AppConfig;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import com.gcc.coworkspace.configuration.AppConfig;
@Service @Service
public class NormalSMS { public class NormalSMS {
@ -22,7 +23,10 @@ public class NormalSMS {
} }
public String sendELearnNsms(String MobileNo, String noOfPerson, String bdate, String slot, String amount) { public String sendELearnNsms(String MobileNo, String noOfPerson, String bdate, String slot, String amount) {
String generatedToken = "Dear Patron, \n" +
String generatedToken = "Dear Patrons \n" +
"Welcome to Muthalvar Padaippagam. \n" + "Welcome to Muthalvar Padaippagam. \n" +
"You have booked our Learning Centre for " + noOfPerson + " number of persons on " + bdate + " at time slot " + slot + ". Payment for the booking is Rs." + amount + " received. Please show your QR Code at Reception Desk for accessing Muthalvar Padaippagam. Have a Nice Day - GCC"; "You have booked our Learning Centre for " + noOfPerson + " number of persons on " + bdate + " at time slot " + slot + ". Payment for the booking is Rs." + amount + " received. Please show your QR Code at Reception Desk for accessing Muthalvar Padaippagam. Have a Nice Day - GCC";
String urlString = appConfig.getGetOtpUrl() + "from=GCCCRP&key=" + key + "&sender=GCCCRP&to=" + MobileNo + "&body=" + generatedToken + "&entityid=1401572690000011081&templateid=1407173027552104564"; String urlString = appConfig.getGetOtpUrl() + "from=GCCCRP&key=" + key + "&sender=GCCCRP&to=" + MobileNo + "&body=" + generatedToken + "&entityid=1401572690000011081&templateid=1407173027552104564";
@ -30,6 +34,7 @@ public class NormalSMS {
} }
public String sendTLearnNsms(String MobileNo, String noOfPerson, String bdate, String slot, String amount) { public String sendTLearnNsms(String MobileNo, String noOfPerson, String bdate, String slot, String amount) {
slot = "கொத்தூர்"+slot;
String generatedToken = "அன்பான வாடிக்கையாளரே,\n" + String generatedToken = "அன்பான வாடிக்கையாளரே,\n" +
"முதல்வர் படைப்பகம் தங்களை அன்புடன் வரவேற்கின்றது. தாங்கள் எங்களின் கற்றல் மையத்தை "+ noOfPerson +" எண்ணிக்கை நபர்களுக்கு "+bdate+" அன்று நேர இடைவெளி "+bdate+" ல் பயன்படுத்திக்கொள்ள முன்பதிவு செய்துள்ளீர்கள். இதற்கான கட்டணம் ரூ. "+amount+" பெறப்பட்டுள்ளது. முதல்வர் படைப்பகம் பயன்படுத்த உங்கள் QR குறியீட்டை வரவேற்பறையில் காட்டுங்கள் இந்நாள் இனிய நாளாய் அமையட்டும் - பெ.செ.மா"; "முதல்வர் படைப்பகம் தங்களை அன்புடன் வரவேற்கின்றது. தாங்கள் எங்களின் கற்றல் மையத்தை "+ noOfPerson +" எண்ணிக்கை நபர்களுக்கு "+bdate+" அன்று நேர இடைவெளி "+bdate+" ல் பயன்படுத்திக்கொள்ள முன்பதிவு செய்துள்ளீர்கள். இதற்கான கட்டணம் ரூ. "+amount+" பெறப்பட்டுள்ளது. முதல்வர் படைப்பகம் பயன்படுத்த உங்கள் QR குறியீட்டை வரவேற்பறையில் காட்டுங்கள் இந்நாள் இனிய நாளாய் அமையட்டும் - பெ.செ.மா";
String urlString = appConfig.getGetOtpUrl() + "from=GCCCRP&key=" + key + "&sender=GCCCRP&to=" + MobileNo + "&body=" + generatedToken + "&entityid=1401572690000011081&templateid=1407173027534475535"; String urlString = appConfig.getGetOtpUrl() + "from=GCCCRP&key=" + key + "&sender=GCCCRP&to=" + MobileNo + "&body=" + generatedToken + "&entityid=1401572690000011081&templateid=1407173027534475535";

28
src/main/java/com/gcc/coworkspace/service/WhatsAppService.java

@ -17,19 +17,29 @@ public class WhatsAppService {
return whatsappMsgService.sendMsg(msgContent); return whatsappMsgService.sendMsg(msgContent);
} }
public String sendELearnNmsg(String MobileNo, String noOfPerson, String bdate, String slot, String amount, String bookingId) {
public String sendELearnNmsg(String MobileNo, String noOfPerson, String bdate, String slot, String smsename,String amount, String bookingId) {
//slot = smsename+"+" + slot;
smsename = smsename.replace(" ", "%20");
slot = slot + "+(" + smsename + ")";
System.out.println("slot...12"+slot);
// String msgContent = "https://media.smsgupshup.com/GatewayAPI/rest?userid=2000233507&password="+password+"&send_to="+MobileNo+"&v=1.1&format=json&msg_type=TEXT&method=SENDMESSAGE&msg=Dear+Patron%2C%0AWelcome+to+Muthalvar+Padaippagam%F0%9F%99%8F++%0A%0AYou+have+booked+our+Learning+Centre+for+%2A"+noOfPerson+"%2A+number+of+persons+on+%2A"+bdate+"%2A+at+%0Atime+slot+%2A"+slot+"%2A+.%0A%0APayment+for+the+booking+is+%2ARs.+"+amount+"%2A+received.+%0A%0APlease+show+your+QR+Code+at+Reception+Desk+for+accessing+Muthalvar+Padaippagam.%0A%0AHave+a+Nice+Day%F0%9F%98%8A&isTemplate=true&buttonUrlParam=muthalvarpadaippagam%2FbookingQRCode%3Fbooking_id%3D"+bookingId;
String msgContent = "https://media.smsgupshup.com/GatewayAPI/rest?userid=2000233507&password="+password+"&send_to="+MobileNo+"&v=1.1&format=json&msg_type=TEXT&method=SENDMESSAGE&msg=Dear+Patron%2C%0AWelcome+to+Muthalvar+Padaippagam%F0%9F%99%8F++%0A%0AYou+have+booked+our+Learning+Centre+for+%2A"+noOfPerson+"%2A+number+of+persons+on+%2A"+bdate+"%2A+at+%0Atime+slot+%2A"+slot+"%2A+.%0A%0APayment+for+the+booking+is+%2ARs.+"+amount+"%2A+received.+%0A%0APlease+show+your+QR+Code+at+Reception+Desk+for+accessing+Muthalvar+Padaippagam.%0A%0AHave+a+Nice+Day%F0%9F%98%8A&isTemplate=true&buttonUrlParam=muthalvarpadaippagam%2FbookingQRCode%3Fbooking_id%3D"+bookingId; String msgContent = "https://media.smsgupshup.com/GatewayAPI/rest?userid=2000233507&password="+password+"&send_to="+MobileNo+"&v=1.1&format=json&msg_type=TEXT&method=SENDMESSAGE&msg=Dear+Patron%2C%0AWelcome+to+Muthalvar+Padaippagam%F0%9F%99%8F++%0A%0AYou+have+booked+our+Learning+Centre+for+%2A"+noOfPerson+"%2A+number+of+persons+on+%2A"+bdate+"%2A+at+%0Atime+slot+%2A"+slot+"%2A+.%0A%0APayment+for+the+booking+is+%2ARs.+"+amount+"%2A+received.+%0A%0APlease+show+your+QR+Code+at+Reception+Desk+for+accessing+Muthalvar+Padaippagam.%0A%0AHave+a+Nice+Day%F0%9F%98%8A&isTemplate=true&buttonUrlParam=muthalvarpadaippagam%2FbookingQRCode%3Fbooking_id%3D"+bookingId;
System.out.println(msgContent); System.out.println(msgContent);
return whatsappMsgService.sendMsg(msgContent); return whatsappMsgService.sendMsg(msgContent);
} }
public String sendTLearnNmsg(String MobileNo, String noOfPerson, String bdate, String slot, String amount, String bookingId) {
public String sendTLearnNmsg(String MobileNo, String noOfPerson, String bdate, String slot,String amount, String bookingId) {
// slot = smstname+"+" + slot;
String msgContent = "https://media.smsgupshup.com/GatewayAPI/rest?userid=2000233507&password="+password+"&send_to="+MobileNo+"&v=1.1&format=json&msg_type=TEXT&method=SENDMESSAGE&msg=%E0%AE%85%E0%AE%A9%E0%AF%8D%E0%AE%AA%E0%AE%BE%E0%AE%A9+%E0%AE%B5%E0%AE%BE%E0%AE%9F%E0%AE%BF%E0%AE%95%E0%AF%8D%E0%AE%95%E0%AF%88%E0%AE%AF%E0%AE%BE%E0%AE%B3%E0%AE%B0%E0%AF%87%2C+%0A%E0%AE%AE%E0%AF%81%E0%AE%A4%E0%AE%B2%E0%AF%8D%E0%AE%B5%E0%AE%B0%E0%AF%8D+%E0%AE%AA%E0%AE%9F%E0%AF%88%E0%AE%AA%E0%AF%8D%E0%AE%AA%E0%AE%95%E0%AE%AE%E0%AF%8D+%E0%AE%A4%E0%AE%99%E0%AF%8D%E0%AE%95%E0%AE%B3%E0%AF%88+%E0%AE%85%E0%AE%A9%E0%AF%8D%E0%AE%AA%E0%AF%81%E0%AE%9F%E0%AE%A9%E0%AF%8D+%E0%AE%B5%E0%AE%B0%E0%AE%B5%E0%AF%87%E0%AE%B1%E0%AF%8D%E0%AE%95%E0%AE%BF%E0%AE%A9%E0%AF%8D%E0%AE%B1%E0%AE%A4%E0%AF%81+%F0%9F%99%8F++%0A%0A%E0%AE%A4%E0%AE%BE%E0%AE%99%E0%AF%8D%E0%AE%95%E0%AE%B3%E0%AF%8D+%E0%AE%8E%E0%AE%99%E0%AF%8D%E0%AE%95%E0%AE%B3%E0%AE%BF%E0%AE%A9%E0%AF%8D+%E0%AE%95%E0%AE%B1%E0%AF%8D%E0%AE%B1%E0%AE%B2%E0%AF%8D+%E0%AE%AE%E0%AF%88%E0%AE%AF%E0%AE%A4%E0%AF%8D%E0%AE%A4%E0%AF%88++%2A"+noOfPerson+"%2A+%E0%AE%8E%E0%AE%A3%E0%AF%8D%E0%AE%A3%E0%AE%BF%E0%AE%95%E0%AF%8D%E0%AE%95%E0%AF%88+%E0%AE%A8%E0%AE%AA%E0%AE%B0%E0%AF%8D%E0%AE%95%E0%AE%B3%E0%AF%81%E0%AE%95%E0%AF%8D%E0%AE%95%E0%AF%81++%2A"+bdate+"%2A+%E0%AE%85%E0%AE%A9%E0%AF%8D%E0%AE%B1%E0%AF%81++%E0%AE%A8%E0%AF%87%E0%AE%B0+%E0%AE%87%E0%AE%9F%E0%AF%88%E0%AE%B5%E0%AF%86%E0%AE%B3%E0%AE%BF+%2A"+slot+"%2A+%E0%AE%B2%E0%AF%8D+%E0%AE%AA%E0%AE%AF%E0%AE%A9%E0%AF%8D%E0%AE%AA%E0%AE%9F%E0%AF%81%E0%AE%A4%E0%AF%8D%E0%AE%A4%E0%AE%BF%E0%AE%95%E0%AF%8D%E0%AE%95%E0%AF%8A%E0%AE%B3%E0%AF%8D%E0%AE%B3+%E0%AE%AE%E0%AF%81%E0%AE%A9%E0%AF%8D%E0%AE%AA%E0%AE%A4%E0%AE%BF%E0%AE%B5%E0%AF%81+%E0%AE%9A%E0%AF%86%E0%AE%AF%E0%AF%8D%E0%AE%A4%E0%AF%81%E0%AE%B3%E0%AF%8D%E0%AE%B3%E0%AF%80%E0%AE%B0%E0%AF%8D%E0%AE%95%E0%AE%B3%E0%AF%8D.+.%0A%0A%E0%AE%87%E0%AE%A4%E0%AE%B1%E0%AF%8D%E0%AE%95%E0%AE%BE%E0%AE%A9++%E0%AE%95%E0%AE%9F%E0%AF%8D%E0%AE%9F%E0%AE%A3%E0%AE%AE%E0%AF%8D+%2A%E0%AE%B0%E0%AF%82.+"+amount+"%2A+%E0%AE%AA%E0%AF%86%E0%AE%B1%E0%AE%AA%E0%AF%8D%E0%AE%AA%E0%AE%9F%E0%AF%8D%E0%AE%9F%E0%AF%81%E0%AE%B3%E0%AF%8D%E0%AE%B3%E0%AE%A4%E0%AF%81.%0A%0A%E0%AE%AE%E0%AF%81%E0%AE%A4%E0%AE%B2%E0%AF%8D%E0%AE%B5%E0%AE%B0%E0%AF%8D+%E0%AE%AA%E0%AE%9F%E0%AF%88%E0%AE%AA%E0%AF%8D%E0%AE%AA%E0%AE%95%E0%AE%AE%E0%AF%8D+%E0%AE%AA%E0%AE%AF%E0%AE%A9%E0%AF%8D%E0%AE%AA%E0%AE%9F%E0%AF%81%E0%AE%A4%E0%AF%8D%E0%AE%A4+%E0%AE%89%E0%AE%99%E0%AF%8D%E0%AE%95%E0%AE%B3%E0%AF%8D+QR+%E0%AE%95%E0%AF%81%E0%AE%B1%E0%AE%BF%E0%AE%AF%E0%AF%80%E0%AE%9F%E0%AF%8D%E0%AE%9F%E0%AF%88+%E0%AE%B5%E0%AE%B0%E0%AE%B5%E0%AF%87%E0%AE%B1%E0%AF%8D%E0%AE%AA%E0%AE%B1%E0%AF%88%E0%AE%AF%E0%AE%BF%E0%AE%B2%E0%AF%8D+%E0%AE%95%E0%AE%BE%E0%AE%9F%E0%AF%8D%E0%AE%9F%E0%AF%81%E0%AE%99%E0%AF%8D%E0%AE%95%E0%AE%B3%E0%AF%8D.%0A%0A%E0%AE%87%E0%AE%A8%E0%AF%8D%E0%AE%A8%E0%AE%BE%E0%AE%B3%E0%AF%8D+%E0%AE%87%E0%AE%A9%E0%AE%BF%E0%AE%AF+%E0%AE%A8%E0%AE%BE%E0%AE%B3%E0%AE%BE%E0%AE%AF%E0%AF%8D+%E0%AE%85%E0%AE%AE%E0%AF%88%E0%AE%AF%E0%AE%9F%E0%AF%8D%E0%AE%9F%E0%AF%81%E0%AE%AE%E0%AF%8D%F0%9F%98%8A&isTemplate=true&buttonUrlParam=muthalvarpadaippagam%2FbookingQRCode%3Fbooking_id%3D"+bookingId; String msgContent = "https://media.smsgupshup.com/GatewayAPI/rest?userid=2000233507&password="+password+"&send_to="+MobileNo+"&v=1.1&format=json&msg_type=TEXT&method=SENDMESSAGE&msg=%E0%AE%85%E0%AE%A9%E0%AF%8D%E0%AE%AA%E0%AE%BE%E0%AE%A9+%E0%AE%B5%E0%AE%BE%E0%AE%9F%E0%AE%BF%E0%AE%95%E0%AF%8D%E0%AE%95%E0%AF%88%E0%AE%AF%E0%AE%BE%E0%AE%B3%E0%AE%B0%E0%AF%87%2C+%0A%E0%AE%AE%E0%AF%81%E0%AE%A4%E0%AE%B2%E0%AF%8D%E0%AE%B5%E0%AE%B0%E0%AF%8D+%E0%AE%AA%E0%AE%9F%E0%AF%88%E0%AE%AA%E0%AF%8D%E0%AE%AA%E0%AE%95%E0%AE%AE%E0%AF%8D+%E0%AE%A4%E0%AE%99%E0%AF%8D%E0%AE%95%E0%AE%B3%E0%AF%88+%E0%AE%85%E0%AE%A9%E0%AF%8D%E0%AE%AA%E0%AF%81%E0%AE%9F%E0%AE%A9%E0%AF%8D+%E0%AE%B5%E0%AE%B0%E0%AE%B5%E0%AF%87%E0%AE%B1%E0%AF%8D%E0%AE%95%E0%AE%BF%E0%AE%A9%E0%AF%8D%E0%AE%B1%E0%AE%A4%E0%AF%81+%F0%9F%99%8F++%0A%0A%E0%AE%A4%E0%AE%BE%E0%AE%99%E0%AF%8D%E0%AE%95%E0%AE%B3%E0%AF%8D+%E0%AE%8E%E0%AE%99%E0%AF%8D%E0%AE%95%E0%AE%B3%E0%AE%BF%E0%AE%A9%E0%AF%8D+%E0%AE%95%E0%AE%B1%E0%AF%8D%E0%AE%B1%E0%AE%B2%E0%AF%8D+%E0%AE%AE%E0%AF%88%E0%AE%AF%E0%AE%A4%E0%AF%8D%E0%AE%A4%E0%AF%88++%2A"+noOfPerson+"%2A+%E0%AE%8E%E0%AE%A3%E0%AF%8D%E0%AE%A3%E0%AE%BF%E0%AE%95%E0%AF%8D%E0%AE%95%E0%AF%88+%E0%AE%A8%E0%AE%AA%E0%AE%B0%E0%AF%8D%E0%AE%95%E0%AE%B3%E0%AF%81%E0%AE%95%E0%AF%8D%E0%AE%95%E0%AF%81++%2A"+bdate+"%2A+%E0%AE%85%E0%AE%A9%E0%AF%8D%E0%AE%B1%E0%AF%81++%E0%AE%A8%E0%AF%87%E0%AE%B0+%E0%AE%87%E0%AE%9F%E0%AF%88%E0%AE%B5%E0%AF%86%E0%AE%B3%E0%AE%BF+%2A"+slot+"%2A+%E0%AE%B2%E0%AF%8D+%E0%AE%AA%E0%AE%AF%E0%AE%A9%E0%AF%8D%E0%AE%AA%E0%AE%9F%E0%AF%81%E0%AE%A4%E0%AF%8D%E0%AE%A4%E0%AE%BF%E0%AE%95%E0%AF%8D%E0%AE%95%E0%AF%8A%E0%AE%B3%E0%AF%8D%E0%AE%B3+%E0%AE%AE%E0%AF%81%E0%AE%A9%E0%AF%8D%E0%AE%AA%E0%AE%A4%E0%AE%BF%E0%AE%B5%E0%AF%81+%E0%AE%9A%E0%AF%86%E0%AE%AF%E0%AF%8D%E0%AE%A4%E0%AF%81%E0%AE%B3%E0%AF%8D%E0%AE%B3%E0%AF%80%E0%AE%B0%E0%AF%8D%E0%AE%95%E0%AE%B3%E0%AF%8D.+.%0A%0A%E0%AE%87%E0%AE%A4%E0%AE%B1%E0%AF%8D%E0%AE%95%E0%AE%BE%E0%AE%A9++%E0%AE%95%E0%AE%9F%E0%AF%8D%E0%AE%9F%E0%AE%A3%E0%AE%AE%E0%AF%8D+%2A%E0%AE%B0%E0%AF%82.+"+amount+"%2A+%E0%AE%AA%E0%AF%86%E0%AE%B1%E0%AE%AA%E0%AF%8D%E0%AE%AA%E0%AE%9F%E0%AF%8D%E0%AE%9F%E0%AF%81%E0%AE%B3%E0%AF%8D%E0%AE%B3%E0%AE%A4%E0%AF%81.%0A%0A%E0%AE%AE%E0%AF%81%E0%AE%A4%E0%AE%B2%E0%AF%8D%E0%AE%B5%E0%AE%B0%E0%AF%8D+%E0%AE%AA%E0%AE%9F%E0%AF%88%E0%AE%AA%E0%AF%8D%E0%AE%AA%E0%AE%95%E0%AE%AE%E0%AF%8D+%E0%AE%AA%E0%AE%AF%E0%AE%A9%E0%AF%8D%E0%AE%AA%E0%AE%9F%E0%AF%81%E0%AE%A4%E0%AF%8D%E0%AE%A4+%E0%AE%89%E0%AE%99%E0%AF%8D%E0%AE%95%E0%AE%B3%E0%AF%8D+QR+%E0%AE%95%E0%AF%81%E0%AE%B1%E0%AE%BF%E0%AE%AF%E0%AF%80%E0%AE%9F%E0%AF%8D%E0%AE%9F%E0%AF%88+%E0%AE%B5%E0%AE%B0%E0%AE%B5%E0%AF%87%E0%AE%B1%E0%AF%8D%E0%AE%AA%E0%AE%B1%E0%AF%88%E0%AE%AF%E0%AE%BF%E0%AE%B2%E0%AF%8D+%E0%AE%95%E0%AE%BE%E0%AE%9F%E0%AF%8D%E0%AE%9F%E0%AF%81%E0%AE%99%E0%AF%8D%E0%AE%95%E0%AE%B3%E0%AF%8D.%0A%0A%E0%AE%87%E0%AE%A8%E0%AF%8D%E0%AE%A8%E0%AE%BE%E0%AE%B3%E0%AF%8D+%E0%AE%87%E0%AE%A9%E0%AE%BF%E0%AE%AF+%E0%AE%A8%E0%AE%BE%E0%AE%B3%E0%AE%BE%E0%AE%AF%E0%AF%8D+%E0%AE%85%E0%AE%AE%E0%AF%88%E0%AE%AF%E0%AE%9F%E0%AF%8D%E0%AE%9F%E0%AF%81%E0%AE%AE%E0%AF%8D%F0%9F%98%8A&isTemplate=true&buttonUrlParam=muthalvarpadaippagam%2FbookingQRCode%3Fbooking_id%3D"+bookingId;
System.out.println(msgContent); System.out.println(msgContent);
return whatsappMsgService.sendMsg(msgContent); return whatsappMsgService.sendMsg(msgContent);
} }
public String sendEDeskspaceNmsg(String MobileNo, String noOfPerson, String bdate, String slot, String amount, String bookingId) {
public String sendEDeskspaceNmsg(String MobileNo, String noOfPerson, String bdate, String slot,String smsename, String amount, String bookingId) {
// slot = smsename+"+" + slot;
smsename = smsename.replace(" ", "%20");
slot = slot + "+(" + smsename + ")";
String msgContent = "https://media.smsgupshup.com/GatewayAPI/rest?userid=2000233507&password="+password+"&send_to="+MobileNo+"&v=1.1&format=json&msg_type=TEXT&method=SENDMESSAGE&msg=Dear+Patron%2C%0AWelcome+to+Muthalvar+Padaippagam%F0%9F%99%8F++%0A%0AYou+have+booked+our+Desk+space+for+%2A"+noOfPerson+"%2A+number+of+persons+on+%2A"+bdate+"%2A+at+time+slot+%2A"+slot+"%2A+.%0A%0APayment+for+the+booking+is+%2ARs.+"+amount+"%2A+received.+%0A%0APlease+show+your+QR+Code+at+Reception+Desk+for+accessing+Muthalvar+Padaippagam.%0A%0AHave+a+Nice+Day%F0%9F%98%8A&isTemplate=true&buttonUrlParam=muthalvarpadaippagam%2FbookingQRCode%3Fbooking_id%3D"+bookingId; String msgContent = "https://media.smsgupshup.com/GatewayAPI/rest?userid=2000233507&password="+password+"&send_to="+MobileNo+"&v=1.1&format=json&msg_type=TEXT&method=SENDMESSAGE&msg=Dear+Patron%2C%0AWelcome+to+Muthalvar+Padaippagam%F0%9F%99%8F++%0A%0AYou+have+booked+our+Desk+space+for+%2A"+noOfPerson+"%2A+number+of+persons+on+%2A"+bdate+"%2A+at+time+slot+%2A"+slot+"%2A+.%0A%0APayment+for+the+booking+is+%2ARs.+"+amount+"%2A+received.+%0A%0APlease+show+your+QR+Code+at+Reception+Desk+for+accessing+Muthalvar+Padaippagam.%0A%0AHave+a+Nice+Day%F0%9F%98%8A&isTemplate=true&buttonUrlParam=muthalvarpadaippagam%2FbookingQRCode%3Fbooking_id%3D"+bookingId;
System.out.println(msgContent); System.out.println(msgContent);
return whatsappMsgService.sendMsg(msgContent); return whatsappMsgService.sendMsg(msgContent);
@ -41,7 +51,10 @@ public class WhatsAppService {
return whatsappMsgService.sendMsg(msgContent); return whatsappMsgService.sendMsg(msgContent);
} }
public String sendEMonthDeskspaceNmsg(String MobileNo, String noOfPerson, String bFromdate,String bTodate, String slot, String amount, String bookingId) {
public String sendEMonthDeskspaceNmsg(String MobileNo, String noOfPerson, String bFromdate,String bTodate, String slot,String smsename, String amount, String bookingId) {
// slot = smsename+"+" + slot;
smsename = smsename.replace(" ", "%20");
slot = slot + "+(" + smsename + ")";
String msgContent = "https://media.smsgupshup.com/GatewayAPI/rest?userid=2000233507&password="+password+"&send_to="+MobileNo+"&v=1.1&format=json&msg_type=TEXT&method=SENDMESSAGE&msg=Dear+Patron%2C%0AWelcome+to+Muthalvar+Padaippagam%F0%9F%99%8F++%0A%0AYou+have+booked+our+Desk+space+for+%2A"+noOfPerson+"%2A+number+of+persons+for+30+days+from+%2A"+bFromdate+"+to+"+bTodate+"%2A+at+time+slot+%2A"+slot+"%2A.%0A%0APayment+for+the+booking+is+%2ARs.+"+amount+"%2A+received.+%0A%0APlease+show+your+QR+Code+at+Reception+Desk+for+accessing+Muthalvar+Padaippagam.%0A%0AHave+a+Nice+Day%F0%9F%98%8A&isTemplate=true&buttonUrlParam=muthalvarpadaippagam%2FbookingQRCode%3Fbooking_id%3D"+bookingId; String msgContent = "https://media.smsgupshup.com/GatewayAPI/rest?userid=2000233507&password="+password+"&send_to="+MobileNo+"&v=1.1&format=json&msg_type=TEXT&method=SENDMESSAGE&msg=Dear+Patron%2C%0AWelcome+to+Muthalvar+Padaippagam%F0%9F%99%8F++%0A%0AYou+have+booked+our+Desk+space+for+%2A"+noOfPerson+"%2A+number+of+persons+for+30+days+from+%2A"+bFromdate+"+to+"+bTodate+"%2A+at+time+slot+%2A"+slot+"%2A.%0A%0APayment+for+the+booking+is+%2ARs.+"+amount+"%2A+received.+%0A%0APlease+show+your+QR+Code+at+Reception+Desk+for+accessing+Muthalvar+Padaippagam.%0A%0AHave+a+Nice+Day%F0%9F%98%8A&isTemplate=true&buttonUrlParam=muthalvarpadaippagam%2FbookingQRCode%3Fbooking_id%3D"+bookingId;
System.out.println(msgContent); System.out.println(msgContent);
return whatsappMsgService.sendMsg(msgContent); return whatsappMsgService.sendMsg(msgContent);
@ -53,7 +66,12 @@ public class WhatsAppService {
return whatsappMsgService.sendMsg(msgContent); return whatsappMsgService.sendMsg(msgContent);
} }
public String sendEConfeNmsg(String mobileNo, String bdate, String slot, String amount,String bookingId) {
public String sendEConfeNmsg(String mobileNo, String bdate, String slot,String smsename, String amount,String bookingId) {
// slot = smsename+"+" + slot;
smsename = smsename.replace(" ", "%20");
slot = slot + "+(" + smsename + ")";
System.out.println("Final Slot :"+slot);
String msgContent= "https://media.smsgupshup.com/GatewayAPI/rest?userid=2000233507&password=h2YjFNcJ&send_to="+mobileNo+"&v=1.1&format=json&msg_type=TEXT&method=SENDMESSAGE&msg=Dear+Patron%2C%0AWelcome+to+Muthalvar+Padaippagam%F0%9F%99%8F++%0A%0AYou+have+booked+our+Conference+Hall+on+%2A"+bdate+"%2A+at+time+slot+%2A"+slot+"%2A+.%0A%0APayment+for+the+booking+is+%2ARs.+"+amount+"%2A+received.+%0A%0APlease+show+your+QR+Code+at+Reception+Desk+for+accessing+Muthalvar+Padaippagam.%0A%0AHave+a+Nice+Day%F0%9F%98%8A&isTemplate=true&buttonUrlParam=muthalvarpadaippagam%2FbookingQRCode%3Fbooking_id%3D"+bookingId; String msgContent= "https://media.smsgupshup.com/GatewayAPI/rest?userid=2000233507&password=h2YjFNcJ&send_to="+mobileNo+"&v=1.1&format=json&msg_type=TEXT&method=SENDMESSAGE&msg=Dear+Patron%2C%0AWelcome+to+Muthalvar+Padaippagam%F0%9F%99%8F++%0A%0AYou+have+booked+our+Conference+Hall+on+%2A"+bdate+"%2A+at+time+slot+%2A"+slot+"%2A+.%0A%0APayment+for+the+booking+is+%2ARs.+"+amount+"%2A+received.+%0A%0APlease+show+your+QR+Code+at+Reception+Desk+for+accessing+Muthalvar+Padaippagam.%0A%0AHave+a+Nice+Day%F0%9F%98%8A&isTemplate=true&buttonUrlParam=muthalvarpadaippagam%2FbookingQRCode%3Fbooking_id%3D"+bookingId;
System.out.println(msgContent); System.out.println(msgContent);
return whatsappMsgService.sendMsg(msgContent); return whatsappMsgService.sendMsg(msgContent);

9
src/main/resources/templates/caretaker/abstract.html

@ -276,10 +276,11 @@
}); });
// Handle Reset Button // Handle Reset Button
$('#filterForm').on('reset', function () {
$('#filterForm').on('reset', function (e) {
e.preventDefault();
// Reset dates // Reset dates
$('#fromDate').val(currentDate);
$('#toDate').val(currentDate);
$('#fromDate').val(currentDate);
$('#toDate').val(currentDate);
// Reset filters // Reset filters
$('#typeFilter').val(''); $('#typeFilter').val('');
@ -311,7 +312,7 @@
totalPersons += parseInt(row.NO_of_person || 0); totalPersons += parseInt(row.NO_of_person || 0);
}); });
excelData.push(['', '', 'Total', totalAmount.toFixed(2), totalPersons]);
excelData.push(['', '', '','','Total', totalAmount.toFixed(2), totalPersons]);
const ws = XLSX.utils.aoa_to_sheet(excelData); const ws = XLSX.utils.aoa_to_sheet(excelData);
const wb = XLSX.utils.book_new(); const wb = XLSX.utils.book_new();

13
src/main/resources/templates/caretaker/bookingdetails.html

@ -16,6 +16,9 @@
padding-left: 10px; /* Adjust padding to position icon */ padding-left: 10px; /* Adjust padding to position icon */
padding-right: 10px; padding-right: 10px;
} }
.modal-xl-custom {
max-width: 95%; /* or any size you prefer */
}
#mobileNo { #mobileNo {
border-left: none; /* Remove left border to merge with icon */ border-left: none; /* Remove left border to merge with icon */
@ -216,14 +219,16 @@
</div> </div>
</div> </div>
<!-- Modal for Booking Details --> <!-- Modal for Booking Details -->
<div class="modal fade" id="bookingDetailsModal" tabindex="-1" role="dialog" aria-labelledby="bookingDetailsModalLabel" aria-hidden="true">
<div class="modal-dialog modal-lg" role="document">
<div class="modal fade" id="bookingDetailsModal" tabindex="-2" role="dialog" aria-labelledby="bookingDetailsModalLabel" data-bs-backdrop="static" aria-hidden="true">
<div class="modal-dialog modal-xl-custom" role="document">
<div class="modal-content"> <div class="modal-content">
<div class="modal-header"> <div class="modal-header">
<h5 class="modal-title" id="bookingDetailsModalLabel">Booking Details</h5> <h5 class="modal-title" id="bookingDetailsModalLabel">Booking Details</h5>
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<!-- <button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">&times;</span> <span aria-hidden="true">&times;</span>
</button>
</button>-->
<button type="button" class="btn-close" data-bs-dismiss="modal"
aria-label="Close">&times;</button>
</div> </div>
<div class="modal-body"> <div class="modal-body">
<iframe id="bookingDetailsIframe" src="" width="100%" height="500px" style="border:none;"></iframe> <iframe id="bookingDetailsIframe" src="" width="100%" height="500px" style="border:none;"></iframe>

2
src/main/resources/templates/caretaker/bookingdetails.html.29112024.html

@ -174,7 +174,7 @@
<div class="modal-dialog modal-lg" role="document"> <div class="modal-dialog modal-lg" role="document">
<div class="modal-content"> <div class="modal-content">
<div class="modal-header"> <div class="modal-header">
<h5 class="modal-title" id="bookingDetailsModalLabel">Booking Details</h5>
<h5 class="modal-title" id="bookingDetailsModalLabel">Booking Details a</h5>
<button type="button" class="close" data-dismiss="modal" aria-label="Close"> <button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">&times;</span> <span aria-hidden="true">&times;</span>
</button> </button>

1860
src/main/resources/templates/caretaker/officer-dashboard.html
File diff suppressed because it is too large
View File

2
src/main/resources/templates/fragments/user-nav.html

@ -95,7 +95,7 @@
<!-- <a href="#" style="margin-right:2px;"> <!-- <a href="#" style="margin-right:2px;">
<img src="images/CMDA.png" alt="Second Image" style="width:40px;height:40px;background-color:white;border-radius:5px;"> <img src="images/CMDA.png" alt="Second Image" style="width:40px;height:40px;background-color:white;border-radius:5px;">
</a> --> </a> -->
<a href="#!" onclick="javascript:toggleFullScreen()" style="color:white;">
<a onclick="javascript:toggleFullScreen()" style="color:white;">
<i class="feather icon-maximize full-screen" style="font-size:20px;"></i> <i class="feather icon-maximize full-screen" style="font-size:20px;"></i>
</a> </a>
</li> </li>

1597
src/main/resources/templates/user/book-Conferance.html
File diff suppressed because it is too large
View File

1442
src/main/resources/templates/user/book-reading.html
File diff suppressed because it is too large
View File

33
src/main/resources/templates/user/book-workdesk.html

@ -282,12 +282,15 @@
class="col-lg-6 col-sm-12 justify-content-center align-items-center"> class="col-lg-6 col-sm-12 justify-content-center align-items-center">
<!-- Enter Details --> <!-- Enter Details -->
<!-- <h5 class="mb-3" style="color:#E29D25">Select Your Preference: <button id="backBtn" class="btn btn-sm btn-outline-primary">Back </button></h5> -->
<div class="d-flex justify-content-between align-items-center mb-3">
<h5 class="mb-0" style="color:#E29D25">Select Your Preference:</h5>
<button id="backBtn" class="btn btn-sm btn-outline-primary">Back</button>
</div>
<!-- <h5 class="mb-3" style="color:#E29D25">Select Your Preference: <button id="backBtn" class="btn btn-sm btn-outline-primary">Back </button></h5> -->
<div
class="d-flex justify-content-between align-items-center mb-3">
<h5 class="mb-0" style="color:#E29D25">Select Your
Preference:</h5>
<button id="backBtn2" onclick="history.back()"
class="btn btn-primary">Back</button>
</div>
@ -308,7 +311,7 @@
</div> </div>
<!-- <div class="mb-3 row">
<!-- <div class="mb-3 row">
<label style="font-weight:bold;" for="buildingname" class="col-sm-4 col-form-label text-end fw-semibold"> <label style="font-weight:bold;" for="buildingname" class="col-sm-4 col-form-label text-end fw-semibold">
Building name: Building name:
</label> </label>
@ -659,8 +662,8 @@
}); });
$(document).on('click', '#backBtn', function () { $(document).on('click', '#backBtn', function () {
window.location.href = '/muthalvarpadaippagam/home';
});
//window.location.href = '/muthalvarpadaippagam/home';
});
fetch('/muthalvarpadaippagam/book/api/marquee') fetch('/muthalvarpadaippagam/book/api/marquee')
@ -955,10 +958,20 @@
$('#ackModal').modal('show'); $('#ackModal').modal('show');
} }
}, },
error: function (xhr, status, error) {
/*error: function (xhr, status, error) {
alert("Please select another slot. The selected slot is now full."); alert("Please select another slot. The selected slot is now full.");
console.log('Error sending data:', error); console.log('Error sending data:', error);
console.log('Response text:', xhr.responseText); // Log response text for debugging console.log('Response text:', xhr.responseText); // Log response text for debugging
}*/
error: function (xhr) {
let msg = "Booking failed. Please try again.";
if (xhr.responseJSON && xhr.responseJSON.message) {
msg = xhr.responseJSON.message;
}
alert(msg);
} }
}); });
} }

2
src/main/resources/templates/user/bookinghistory.html

@ -305,7 +305,7 @@
<div class="modal-content"> <div class="modal-content">
<div class="modal-header"> <div class="modal-header">
<h5>Booking details.</h5>
<h5>Booking details</h5>
<!-- <button type="button" class="close" data-dismiss="modal" aria-label="Close" onclick="close_modal('#bookingDetailsModal')"><span aria-hidden="true">&times;</span> --> <!-- <button type="button" class="close" data-dismiss="modal" aria-label="Close" onclick="close_modal('#bookingDetailsModal')"><span aria-hidden="true">&times;</span> -->
<button type="button" class="btn-close" data-bs-dismiss="modal" <button type="button" class="btn-close" data-bs-dismiss="modal"
aria-label="Close">&times;</button> aria-label="Close">&times;</button>

2
src/main/resources/templates/user/qrpage.html

@ -271,7 +271,7 @@
</div> </div>
<div class="button-container"> <div class="button-container">
<button class="btn btn-success" onclick="backToHome()">Back To Home</button> <button class="btn btn-success" onclick="backToHome()">Back To Home</button>
<button class="btn btn-success" onclick="printDiv('printArea')">Print</button>
<!-- <button class="btn btn-success" onclick="printDiv('printArea')">Print</button>-->
</div> </div>
<footer th:replace="~{fragments/footer :: footer}"></footer> <footer th:replace="~{fragments/footer :: footer}"></footer>
</div> </div>

181
src/main/resources/templates/user/razor-pay.html

@ -1,95 +1,96 @@
<html>
<header>
<script src="https://checkout.razorpay.com/v1/checkout.js"></script>
<script src="https://unpkg.com/sweetalert/dist/sweetalert.min.js"></script>
<script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
<html>
<header>
<script src="https://checkout.razorpay.com/v1/checkout.js"></script>
<script src="https://unpkg.com/sweetalert/dist/sweetalert.min.js"></script>
<script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
<script type="text/javascript">
const paymentStart=(id)=>{
console.log("payment started :-"+id);
$.ajax({
url:'/muthalvarpadaippagam/book/api/create_order',
data:{id:id},
type:'POST',
dataType:'json',
success:function(response){
let amt = response.amount;
console.log("FIRST:==>");
console.log(response);
if(response.status=="created"){
let options = {
// "key": "[[${keyId}]]",
"key" : "rzp_test_tDkHFEqWXmuEi8", // Enter the Key ID generated from the Dashboard
"amount": response.amount, // Amount is in currency subunits. Default currency is INR. Hence, 50000 refers to 50000 paise
"currency": "INR",
"name": "Greater Chennai Corporation",
"description": "Co-workspace Transaction",
"image": "https://upload.wikimedia.org/wikipedia/commons/a/a8/Chennai_Corporation_Emblem.png",
"order_id": response.id, //This is a sample Order ID. Pass the `id` obtained in the response of Step 1
"handler": function (response){
console.log("second==>\n");
console.log(response);
console.log(response.razorpay_payment_id);
console.log(response.razorpay_order_id);
console.log(response.razorpay_signature);
console.log("payment success");
alert("congrates !payment successfull");
updatePaymentInServer(response.razorpay_payment_id,response.razorpay_order_id,"paid",id,amt);
},
"prefill": {
"name": "",
"email": "",
"contact": ""
},
"notes": {
"address": "Greater Chennai Corporation."
},
"theme": {
"color": "#3399cc"
}
<script type="text/javascript">
const paymentStart = (id) => {
console.log("payment started :-" + id);
$.ajax({
url: '/muthalvarpadaippagam/book/api/create_order',
data: { id: id },
type: 'POST',
dataType: 'json',
success: function (response) {
let amt = response.amount;
console.log("FIRST:==>");
console.log(response);
if (response.status == "created") {
let options = {
//"key": "[[${keyId}]]",
"key": "rzp_test_tDkHFEqWXmuEi8", // Enter the Key ID generated from the Dashboard
"amount": response.amount, // Amount is in currency subunits. Default currency is INR. Hence, 50000 refers to 50000 paise
"currency": "INR",
"name": "Greater Chennai Corporation",
"description": "Co-workspace Transaction",
"image": "https://upload.wikimedia.org/wikipedia/commons/a/a8/Chennai_Corporation_Emblem.png",
"order_id": response.id, //This is a sample Order ID. Pass the `id` obtained in the response of Step 1
"handler": function (response) {
console.log("second==>\n");
console.log(response);
console.log(response.razorpay_payment_id);
console.log(response.razorpay_order_id);
console.log(response.razorpay_signature);
console.log("payment success");
alert("congrates !payment successfull");
updatePaymentInServer(response.razorpay_payment_id, response.razorpay_order_id, "paid", id, amt);
},
"prefill": {
"name": "",
"email": "",
"contact": ""
},
"notes": {
"address": "Greater Chennai Corporation."
},
"theme": {
"color": "#3399cc"
}
}; };
var rzp1 = new Razorpay(options);
rzp1.on('payment.failed', function (response){
console.log(response.error.code);
console.log(response.error.description);
console.log(response.error.source);
console.log(response.error.step);
console.log(response.error.reason);
console.log(response.error.metadata.order_id);
console.log(response.error.metadata.payment_id);
});
rzp1.open();
var rzp1 = new Razorpay(options);
rzp1.on('payment.failed', function (response) {
console.log(response.error.code);
console.log(response.error.description);
console.log(response.error.source);
console.log(response.error.step);
console.log(response.error.reason);
console.log(response.error.metadata.order_id);
console.log(response.error.metadata.payment_id);
});
rzp1.open();
}
},
error: function (error) {
console.log(error);
alert("error");
}
})
};
function updatePaymentInServer(payment_id, order_id, status, id, amt) {
$.ajax({
url: '/muthalvarpadaippagam/book/api/Confirm',
data: JSON.stringify({ payment_id: payment_id, order_id: order_id, status: status, id: id, amount: amt }),
contentType: 'application/json',
type: 'POST',
dataType: 'json',
success: function (response) {
console.log("update payment in server");
//alert(response);
if (response != "error") {
window.location.href = "/muthalvarpadaippagam/bookingQRCode?booking_id=" + response;
} else {
alert("please contact GCC. If amount is debited from your account!!\nThank You");
window.location.href = "/muthalvarpadaippagam";
}
},
error: function (error) {
swal("Failed`!", "We will check & contact you soon", "error");
} }
},
error:function(error){
console.log(error);
alert("error");
}
})
};
function updatePaymentInServer(payment_id,order_id,status,id,amt){
$.ajax({
url:'/muthalvarpadaippagam/book/api/Confirm',
data:JSON.stringify({payment_id:payment_id,order_id:order_id,status:status,id:id,amount:amt}),
contentType:'application/json',
type:'POST',
dataType:'json',
success:function(response){
console.log("update payment in server");
//alert(response);
if(response != "error"){
window.location.href = "/muthalvarpadaippagam/bookingQRCode?booking_id="+response;
}else{
alert("please contact GCC. If amount is debited from your account!!\nThank You");
window.location.href = "/muthalvarpadaippagam";
}
},
error:function(error){
swal("Failed`!", "We will check & contact you soon", "error");
}
}); });
};
</script>
</header>
</html>
};
</script>
</header>
</html>
Loading…
Cancel
Save