Changeset 75f5086
- Timestamp:
- 02/28/24 19:23:09 (15 months ago)
- Branches:
- main
- Children:
- cfc16a3
- Parents:
- 65b6638
- Location:
- src/main/java/com/example/rezevirajmasa/demo
- Files:
-
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
src/main/java/com/example/rezevirajmasa/demo/repository/RestaurantRepository.java
r65b6638 r75f5086 8 8 9 9 public interface RestaurantRepository extends JpaRepository<Restaurant, Long> { 10 11 10 List<Restaurant> findAllByNameLike(String search); 11 List<Restaurant> findAllByCuisineTypeLike(String search); 12 12 } -
src/main/java/com/example/rezevirajmasa/demo/repository/TableRepository.java
r65b6638 r75f5086 7 7 import org.springframework.data.repository.query.Param; 8 8 9 import java.time.LocalDateTime; 9 10 import java.util.List; 10 11 … … 13 14 // @Query("SELECT t FROM TableEntity t JOIN FETCH t.restaurant WHERE t.id = :id") 14 15 // TableEntity findTableEntityByIdWithRestaurant(@Param("id") Long id); 16 List<TableEntity> findAllByTimeSlotsContainingAndCapacity(LocalDateTime timeSlot, Integer partySize); 15 17 } -
src/main/java/com/example/rezevirajmasa/demo/service/RestaurantService.java
r65b6638 r75f5086 21 21 List<Restaurant> getRestaurantsWithAvailableTimeSlotsForToday(); 22 22 public List<Restaurant> findRestaurantsByDateTimeAndPartySize(LocalDateTime dateTime, int partySize, String search); 23 public List<Restaurant> findRestaurantsBySearchParams(LocalDateTime dateTime, int partySize, String search); 23 24 } -
src/main/java/com/example/rezevirajmasa/demo/service/impl/RestaurantServiceImpl.java
r65b6638 r75f5086 165 165 return name == null || name.isEmpty() || restaurant.getName().contains(name); 166 166 } 167 168 @Override 169 public List<Restaurant> findRestaurantsBySearchParams(LocalDateTime dateTime, int partySize, String search) { 170 if (!search.isEmpty()) { 171 List<Restaurant> restaurantList = null; 172 if (!restaurantRepository.findAllByNameLike(search).isEmpty()) { 173 restaurantList = restaurantRepository.findAllByNameLike(search); 174 } else { 175 restaurantList = restaurantRepository.findAllByCuisineTypeLike(search); 176 } 177 return restaurantList; 178 } else { 179 List<TableEntity> tableEntities = tableRepository.findAllByTimeSlotsContainingAndCapacity(dateTime, partySize); 180 return tableEntities.stream() 181 .map(TableEntity::getRestaurant) 182 .distinct() // To avoid duplicates in case one restaurant has multiple tables 183 .collect(Collectors.toList()); 184 } 185 } 167 186 } -
src/main/java/com/example/rezevirajmasa/demo/web/rest/testController.java
r65b6638 r75f5086 64 64 } 65 65 66 List<Restaurant> filteredRestaurants = restaurantService.findRestaurantsBy DateTimeAndPartySize(parsedDateTime, partySize, search);66 List<Restaurant> filteredRestaurants = restaurantService.findRestaurantsBySearchParams(parsedDateTime, partySize, search); 67 67 68 68 return new ResponseEntity<List<Restaurant>>(filteredRestaurants, HttpStatus.OK);
Note:
See TracChangeset
for help on using the changeset viewer.