Changeset 75f5086


Ignore:
Timestamp:
02/28/24 19:23:09 (15 months ago)
Author:
Aleksandar Panovski <apano77@…>
Branches:
main
Children:
cfc16a3
Parents:
65b6638
Message:

RetaurantServiceImpl problemi
isAvailable od tableEntity...

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  
    88
    99public interface RestaurantRepository extends JpaRepository<Restaurant, Long> {
    10 
    11 
     10    List<Restaurant> findAllByNameLike(String search);
     11    List<Restaurant> findAllByCuisineTypeLike(String search);
    1212}
  • src/main/java/com/example/rezevirajmasa/demo/repository/TableRepository.java

    r65b6638 r75f5086  
    77import org.springframework.data.repository.query.Param;
    88
     9import java.time.LocalDateTime;
    910import java.util.List;
    1011
     
    1314//    @Query("SELECT t FROM TableEntity t JOIN FETCH t.restaurant WHERE t.id = :id")
    1415//    TableEntity findTableEntityByIdWithRestaurant(@Param("id") Long id);
     16    List<TableEntity> findAllByTimeSlotsContainingAndCapacity(LocalDateTime timeSlot, Integer partySize);
    1517}
  • src/main/java/com/example/rezevirajmasa/demo/service/RestaurantService.java

    r65b6638 r75f5086  
    2121    List<Restaurant> getRestaurantsWithAvailableTimeSlotsForToday();
    2222    public List<Restaurant> findRestaurantsByDateTimeAndPartySize(LocalDateTime dateTime, int partySize, String search);
     23    public List<Restaurant> findRestaurantsBySearchParams(LocalDateTime dateTime, int partySize, String search);
    2324}
  • src/main/java/com/example/rezevirajmasa/demo/service/impl/RestaurantServiceImpl.java

    r65b6638 r75f5086  
    165165        return name == null || name.isEmpty() || restaurant.getName().contains(name);
    166166    }
     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    }
    167186}
  • src/main/java/com/example/rezevirajmasa/demo/web/rest/testController.java

    r65b6638 r75f5086  
    6464        }
    6565
    66         List<Restaurant> filteredRestaurants = restaurantService.findRestaurantsByDateTimeAndPartySize(parsedDateTime, partySize, search);
     66        List<Restaurant> filteredRestaurants = restaurantService.findRestaurantsBySearchParams(parsedDateTime, partySize, search);
    6767
    6868        return new ResponseEntity<List<Restaurant>>(filteredRestaurants, HttpStatus.OK);
Note: See TracChangeset for help on using the changeset viewer.