diff --git a/book-my-show/backend/java/bms-monolith/src/main/java/org/lbcc/bms/bms_monolith/admin/controller/AdminVendorOnboardingController.java b/book-my-show/backend/java/bms-monolith/src/main/java/org/lbcc/bms/bms_monolith/admin/controller/AdminVendorOnboardingController.java index d22b7d7..72d3d87 100644 --- a/book-my-show/backend/java/bms-monolith/src/main/java/org/lbcc/bms/bms_monolith/admin/controller/AdminVendorOnboardingController.java +++ b/book-my-show/backend/java/bms-monolith/src/main/java/org/lbcc/bms/bms_monolith/admin/controller/AdminVendorOnboardingController.java @@ -1,5 +1,6 @@ package org.lbcc.bms.bms_monolith.admin.controller; +import jakarta.annotation.Nullable; import jakarta.websocket.server.PathParam; import org.lbcc.bms.bms_monolith.admin.dto.VendorOnboardResponse; import org.lbcc.bms.bms_monolith.admin.constants.BMSConstants; @@ -31,7 +32,7 @@ public AdminVendorOnboardingController(AdminService adminService) { this.adminService = adminService; } - @PostMapping("/onboard") + @PostMapping() public ResponseEntity> onboardNewVendor(@RequestBody VendorOnboardRequest vendorOnboardRequest) { VendorOnboardResponse response = adminService.onboardNewVendor(vendorOnboardRequest); ApiResponse apiResponse = ApiResponse.builder() @@ -54,8 +55,8 @@ public ResponseEntity> updateVendorStatus(@PathVariable Stri } @GetMapping - public ResponseEntity getAllVendors( - @ModelAttribute VendorSearchRequest searchRequest, + public ResponseEntity> getAllVendors( + @Nullable @ModelAttribute() VendorSearchRequest searchRequest, @PageableDefault(page = 0, size = 10) @SortDefault(sort = "name", direction = Sort.Direction.ASC) Pageable pageable) { diff --git a/book-my-show/backend/java/bms-monolith/src/main/java/org/lbcc/bms/bms_monolith/admin/controller/SeatTypeController.java b/book-my-show/backend/java/bms-monolith/src/main/java/org/lbcc/bms/bms_monolith/admin/controller/SeatTypeController.java index ea88754..1f12f69 100644 --- a/book-my-show/backend/java/bms-monolith/src/main/java/org/lbcc/bms/bms_monolith/admin/controller/SeatTypeController.java +++ b/book-my-show/backend/java/bms-monolith/src/main/java/org/lbcc/bms/bms_monolith/admin/controller/SeatTypeController.java @@ -24,7 +24,7 @@ public SeatTypeController(SeatTypeService seatTypeService) { } @PostMapping - public ResponseEntity createSeatType(@RequestBody SeatTypesRequestDto seatTypesRequestDto) { + public ResponseEntity> createSeatType(@RequestBody SeatTypesRequestDto seatTypesRequestDto) { SeatTypeResponse response = seatTypeService.createSeatType(seatTypesRequestDto); ApiListResponse apiResponse = ApiListResponse.builder() .success(true).message("Seat types created successfully") diff --git a/book-my-show/backend/java/bms-monolith/src/main/java/org/lbcc/bms/bms_monolith/admin/controller/VenueController.java b/book-my-show/backend/java/bms-monolith/src/main/java/org/lbcc/bms/bms_monolith/admin/controller/VenueController.java index 1da7125..1f77ea9 100644 --- a/book-my-show/backend/java/bms-monolith/src/main/java/org/lbcc/bms/bms_monolith/admin/controller/VenueController.java +++ b/book-my-show/backend/java/bms-monolith/src/main/java/org/lbcc/bms/bms_monolith/admin/controller/VenueController.java @@ -6,6 +6,7 @@ import org.lbcc.bms.bms_monolith.admin.service.VenueService; import org.lbcc.bms.bms_monolith.common.entity.Venue; import org.lbcc.bms.bms_monolith.common.response.ApiResponse; +import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; @@ -23,18 +24,18 @@ public VenueController(VenueService venueService) { } //onboard venue - @PostMapping("/onboard") + @PostMapping() public ResponseEntity onboardVenue(@RequestBody VenueDto venueDto) { VenueOnboardResponse response = venueService.createVenue(venueDto); ApiResponse apiResponse = ApiResponse.builder() .success(true).message("Venue onboarded successfully") .data(response).build(); - return ResponseEntity.ok(apiResponse); + return ResponseEntity.status(HttpStatus.CREATED).body(apiResponse); } //add seats to venue @PostMapping("/seats") - public ResponseEntity addSeatsToVenue(@RequestBody VenueAddSeatsRequest request) { + public ResponseEntity> addSeatsToVenue(@RequestBody VenueAddSeatsRequest request) { Venue response = venueService.addSeatsToVenue(request.getVenueId(), request.getSeatDtos()); ApiResponse apiResponse = ApiResponse.builder() .success(true).message("Seats added successfully") diff --git a/book-my-show/backend/java/bms-monolith/src/main/java/org/lbcc/bms/bms_monolith/admin/dto/VendorDto.java b/book-my-show/backend/java/bms-monolith/src/main/java/org/lbcc/bms/bms_monolith/admin/dto/VendorDto.java index 956c8ea..a95ec9e 100644 --- a/book-my-show/backend/java/bms-monolith/src/main/java/org/lbcc/bms/bms_monolith/admin/dto/VendorDto.java +++ b/book-my-show/backend/java/bms-monolith/src/main/java/org/lbcc/bms/bms_monolith/admin/dto/VendorDto.java @@ -1,5 +1,6 @@ package org.lbcc.bms.bms_monolith.admin.dto; +import lombok.Builder; import lombok.Data; import org.lbcc.bms.bms_monolith.common.dto.AddressDto; import org.lbcc.bms.bms_monolith.common.enums.VendorStatus; @@ -7,6 +8,7 @@ import java.util.UUID; @Data +@Builder public class VendorDto { private UUID id; diff --git a/book-my-show/backend/java/bms-monolith/src/main/java/org/lbcc/bms/bms_monolith/admin/dto/VendorOnboardRequest.java b/book-my-show/backend/java/bms-monolith/src/main/java/org/lbcc/bms/bms_monolith/admin/dto/VendorOnboardRequest.java index fc31d3e..17b8cf2 100644 --- a/book-my-show/backend/java/bms-monolith/src/main/java/org/lbcc/bms/bms_monolith/admin/dto/VendorOnboardRequest.java +++ b/book-my-show/backend/java/bms-monolith/src/main/java/org/lbcc/bms/bms_monolith/admin/dto/VendorOnboardRequest.java @@ -10,6 +10,8 @@ import org.lbcc.bms.bms_monolith.common.enums.VendorStatus; import org.springframework.web.multipart.MultipartFile; +import java.time.LocalDateTime; + @Data @Builder public class VendorOnboardRequest { @@ -56,7 +58,7 @@ public static Vendor buildVendorFromDto(VendorOnboardRequest vendorOnboardReques .website(vendorOnboardRequest.getWebsite()) .gstNo(vendorOnboardRequest.getGstNo()) .panNo(vendorOnboardRequest.getPanNo()) - .registrationDate(vendorOnboardRequest.getRegistrationDate()) + .registrationDate(LocalDateTime.parse(vendorOnboardRequest.getRegistrationDate())) .logoUrl("logo-url-logo-url-logo-url-logo-url") .status(VendorStatus.ACTIVE) .build(); diff --git a/book-my-show/backend/java/bms-monolith/src/main/java/org/lbcc/bms/bms_monolith/admin/dto/VendorSearchResponse.java b/book-my-show/backend/java/bms-monolith/src/main/java/org/lbcc/bms/bms_monolith/admin/dto/VendorSearchResponse.java index bc6db2d..d3c848e 100644 --- a/book-my-show/backend/java/bms-monolith/src/main/java/org/lbcc/bms/bms_monolith/admin/dto/VendorSearchResponse.java +++ b/book-my-show/backend/java/bms-monolith/src/main/java/org/lbcc/bms/bms_monolith/admin/dto/VendorSearchResponse.java @@ -11,19 +11,15 @@ public class VendorSearchResponse { private List vendorDtoList; public static VendorDto buildVendorDtoFromVendor(Vendor vendor) { - VendorDto vendorDto = new VendorDto(); - vendorDto.setId(vendor.getId()); - vendorDto.setName(vendor.getName()); - vendorDto.setContactNumber(vendor.getContactNumber()); - vendorDto.setEmail(vendor.getEmail()); - vendorDto.setAddress(AddressDto.addressToAddressDto(vendor.getAddress())); - vendorDto.setWebsite(vendor.getWebsite()); - vendorDto.setGstNo(vendor.getGstNo()); - vendorDto.setPanNo(vendor.getPanNo()); - vendorDto.setStatus(vendor.getStatus()); - vendorDto.setRegistrationDate(vendor.getRegistrationDate()); - vendorDto.setLogoUrl(vendor.getLogoUrl()); - return vendorDto; + return VendorDto.builder() + .id(vendor.getId()).name(vendor.getName()) + .contactNumber(vendor.getContactNumber()).email(vendor.getEmail()) + .address(AddressDto.addressToAddressDto(vendor.getAddress())) + .website(vendor.getWebsite()).gstNo(vendor.getGstNo()) + .panNo(vendor.getPanNo()).status(vendor.getStatus()) + .registrationDate(String.valueOf(vendor.getRegistrationDate())) + .logoUrl(vendor.getLogoUrl()) + .build(); } public static List buildVendorDtoListFromVendorList(List vendorList) { diff --git a/book-my-show/backend/java/bms-monolith/src/main/java/org/lbcc/bms/bms_monolith/admin/dto/venue/VenueAddSeatsRequest.java b/book-my-show/backend/java/bms-monolith/src/main/java/org/lbcc/bms/bms_monolith/admin/dto/venue/VenueAddSeatsRequest.java index c776bcf..755fd20 100644 --- a/book-my-show/backend/java/bms-monolith/src/main/java/org/lbcc/bms/bms_monolith/admin/dto/venue/VenueAddSeatsRequest.java +++ b/book-my-show/backend/java/bms-monolith/src/main/java/org/lbcc/bms/bms_monolith/admin/dto/venue/VenueAddSeatsRequest.java @@ -7,6 +7,6 @@ @Data public class VenueAddSeatsRequest { - String venueId; + private String venueId; private List seatDtos; } diff --git a/book-my-show/backend/java/bms-monolith/src/main/java/org/lbcc/bms/bms_monolith/admin/service/VendorSpecifications.java b/book-my-show/backend/java/bms-monolith/src/main/java/org/lbcc/bms/bms_monolith/admin/service/VendorSpecifications.java index 1019d03..8b094da 100644 --- a/book-my-show/backend/java/bms-monolith/src/main/java/org/lbcc/bms/bms_monolith/admin/service/VendorSpecifications.java +++ b/book-my-show/backend/java/bms-monolith/src/main/java/org/lbcc/bms/bms_monolith/admin/service/VendorSpecifications.java @@ -13,20 +13,30 @@ public class VendorSpecifications { public static Specification createSpecification(VendorSearchRequest searchRequest) { + if (searchRequest == null) { + // return all vendors without applying any filters (Conjunction) + return (root, query, criteriaBuilder) -> criteriaBuilder.conjunction(); + } + return (root, query, criteriaBuilder) -> { List predicates = new ArrayList<>(); if (StringUtils.isNotBlank(searchRequest.getVendorName())) { - predicates.add(criteriaBuilder.like(root.get("vendorName"), "%" + searchRequest.getVendorName() + "%")); + predicates.add(criteriaBuilder.like( + criteriaBuilder.lower(root.get("vendorName")), + "%" + searchRequest.getVendorName().toLowerCase() + "%" + )); } if (StringUtils.isNotBlank(searchRequest.getVendorStatus())) { predicates.add(criteriaBuilder.equal(root.get("vendorStatus"), searchRequest.getVendorStatus())); } - if (StringUtils.isNotBlank(searchRequest.getRegistrationDate())) { + if (searchRequest.getRegistrationDate() != null) { predicates.add(criteriaBuilder.equal(root.get("registrationDate"), searchRequest.getRegistrationDate())); } - return criteriaBuilder.and(predicates.toArray(new Predicate[0])); + return predicates.isEmpty() + ? criteriaBuilder.conjunction() + : criteriaBuilder.and(predicates.toArray(new Predicate[0])); }; } } \ No newline at end of file diff --git a/book-my-show/backend/java/bms-monolith/src/main/java/org/lbcc/bms/bms_monolith/admin/service/VenueService.java b/book-my-show/backend/java/bms-monolith/src/main/java/org/lbcc/bms/bms_monolith/admin/service/VenueService.java index ec1315c..442ed58 100644 --- a/book-my-show/backend/java/bms-monolith/src/main/java/org/lbcc/bms/bms_monolith/admin/service/VenueService.java +++ b/book-my-show/backend/java/bms-monolith/src/main/java/org/lbcc/bms/bms_monolith/admin/service/VenueService.java @@ -25,7 +25,7 @@ public class VenueService { private final SeatTypeService seatTypeService; @Autowired - VenueService(VenueRepository venueRepository, SeatTypeService seatTypeService) { + public VenueService(VenueRepository venueRepository, SeatTypeService seatTypeService) { this.venueRepository = venueRepository; this.seatTypeService = seatTypeService; } diff --git a/book-my-show/backend/java/bms-monolith/src/main/java/org/lbcc/bms/bms_monolith/eventservice/controller/EventController.java b/book-my-show/backend/java/bms-monolith/src/main/java/org/lbcc/bms/bms_monolith/eventservice/controller/EventController.java index b374b46..b47e8bd 100644 --- a/book-my-show/backend/java/bms-monolith/src/main/java/org/lbcc/bms/bms_monolith/eventservice/controller/EventController.java +++ b/book-my-show/backend/java/bms-monolith/src/main/java/org/lbcc/bms/bms_monolith/eventservice/controller/EventController.java @@ -4,7 +4,11 @@ import lombok.extern.slf4j.Slf4j; import org.lbcc.bms.bms_monolith.common.constants.BMSConstants; import org.lbcc.bms.bms_monolith.common.response.ApiListResponse; +import org.lbcc.bms.bms_monolith.common.response.ApiResponse; +import org.lbcc.bms.bms_monolith.eventservice.dto.EventDTO; import org.lbcc.bms.bms_monolith.eventservice.dto.EventResponse; +import org.lbcc.bms.bms_monolith.eventservice.dto.EventTypeRequestDto; +import org.lbcc.bms.bms_monolith.eventservice.dto.EventTypeResponse; import org.lbcc.bms.bms_monolith.eventservice.service.IEventService; import org.springframework.data.domain.Page; import org.springframework.data.domain.Pageable; diff --git a/book-my-show/backend/java/bms-monolith/src/main/java/org/lbcc/bms/bms_monolith/eventservice/service/IEventService.java b/book-my-show/backend/java/bms-monolith/src/main/java/org/lbcc/bms/bms_monolith/eventservice/service/IEventService.java index e1c6f8a..482b0cf 100644 --- a/book-my-show/backend/java/bms-monolith/src/main/java/org/lbcc/bms/bms_monolith/eventservice/service/IEventService.java +++ b/book-my-show/backend/java/bms-monolith/src/main/java/org/lbcc/bms/bms_monolith/eventservice/service/IEventService.java @@ -10,7 +10,7 @@ public interface IEventService { - Page getAllEvents(Pageable pageable); + Page getAllEvents(Pageable pageable); EventResponse hostEvent(EventDTO eventDTO); diff --git a/book-my-show/backend/java/bms-monolith/src/main/java/org/lbcc/bms/bms_monolith/eventservice/service/impl/EventServiceImpl.java b/book-my-show/backend/java/bms-monolith/src/main/java/org/lbcc/bms/bms_monolith/eventservice/service/impl/EventServiceImpl.java index 6ad18b6..26bf1db 100644 --- a/book-my-show/backend/java/bms-monolith/src/main/java/org/lbcc/bms/bms_monolith/eventservice/service/impl/EventServiceImpl.java +++ b/book-my-show/backend/java/bms-monolith/src/main/java/org/lbcc/bms/bms_monolith/eventservice/service/impl/EventServiceImpl.java @@ -37,7 +37,6 @@ public EventServiceImpl(IEventRepository IEventRepository, SeatTypeRepository seatTypeRepository, VenueService venueService, AdminService adminService) { - public EventServiceImpl(IEventRepository IEventRepository) { this.IEventRepository = IEventRepository; this.eventTypeRepository = eventTypeRepository; this.seatTypeRepository = seatTypeRepository; @@ -91,10 +90,7 @@ public Event mapEventDTOToEntity(EventDTO eventDTO) { eventShows.forEach(show -> show.setEvent(event)); - if (!event.getShow().isEmpty()) { - log.warn("no shows found in request"); - event.setShow(eventShows); - } + event.setShow(eventShows); return event; } diff --git a/book-my-show/backend/java/bms-monolith/src/test/java/org/lbcc/bms/bms_monolith/service/EventServiceImplTest.java b/book-my-show/backend/java/bms-monolith/src/test/java/org/lbcc/bms/bms_monolith/service/EventServiceImplTest.java index fcda7b8..c4db7ac 100644 --- a/book-my-show/backend/java/bms-monolith/src/test/java/org/lbcc/bms/bms_monolith/service/EventServiceImplTest.java +++ b/book-my-show/backend/java/bms-monolith/src/test/java/org/lbcc/bms/bms_monolith/service/EventServiceImplTest.java @@ -56,6 +56,7 @@ class EventServiceImplTest { @Test void testGetAllEventsSuccess() { Event event = new Event(); + event.setId(UUID.randomUUID()); event.setTitle("Sample Event"); event.setDescription("Sample Description");