Changes between Version 6 and Version 7 of UseCaseImplementations


Ignore:
Timestamp:
02/04/24 00:35:17 (10 months ago)
Author:
211255
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • UseCaseImplementations

    v6 v7  
    542542{{{#!java
    543543@PostMapping(path = "/restaurant/add")
    544     public List<Restaurant> add(@RequestBody Restaurant restaurant, @RequestParam(name = "userId") long userId) {
     544    public void add(@RequestBody Restaurant restaurant, @RequestParam(name = "userId") long userId) {
    545545
    546546        restaurantManager.createRestaurant(restaurant, userId);
    547         return restaurantManager.getRestaurants();
    548547    }
    549548}}}
     
    629628----
    630629[[Image(RestaurantTables.png)]]
     630{{{#!java
     631public void saveTable(RestaurantsTable resTable) {
     632        em.persist(resTable);
     633    }
     634}}}
     635Додавање на нова маса во базата
     636{{{#!java
     637public void createTable(Long restaurantId, int noSeats) {
     638        Restaurant r = restaurantDao.findRestaurantByID(restaurantId);
     639        RestaurantsTable restaurantsTable = new RestaurantsTable(r, noSeats);
     640        restaurantDao.saveTable(restaurantsTable);
     641    }
     642}}}
     643Во сервисот се зима ресторанот на кој ќе се додава новата маса, за неа се внесуваат број на седишта
     644{{{#!java
     645@PostMapping(path = "/restaurant/table/{id}/add")
     646    public void addTable(@PathVariable Long id, @RequestParam Integer noSeats) {
     647        restaurantManager.createTable(id, noSeats);
     648    }
     649}}}
     650Се зима id на ресторанот и бројот за колку луѓе е наменета масата, па се повикува функцијата од сервисот за понатамошна логика
    631651----
    632652[[Image(RestaurantTableAvailable.png)]]
     653{{{#!java
     654public void saveTableAvailable(RestaurantsAvailible ra){
     655        em.persist(ra);
     656    }
     657}}}
     658Се зачувува слободната маса во база
     659{{{#!java
     660public void createTableAvailable(Long rt, Date hourFrom, Date hourTo, int numTables) {
     661        RestaurantsTable rtabl = findTableById(rt);
     662        RestaurantsAvailible ra = new RestaurantsAvailible(rtabl, hourFrom, hourTo, numTables);
     663        restaurantDao.saveTableAvailable(ra);
     664    }
     665}}}
     666Во сервисот се зима масата преку id и се прави нов објект од расположливост на маси и се сетира од кога до кога и колку такви маси има на располагање
     667{{{#!java
     668@PostMapping(path = "/restaurant/table/{id}/available/add")
     669    public void addTableAvailable(@RequestBody RestaurantsAvailible restaurantsAvailible,
     670                                  @PathVariable Long id) {
     671        restaurantManager.createTableAvailable(id, restaurantsAvailible.getHourFrom(), restaurantsAvailible.getHourTo(), restaurantsAvailible.getNumTables());
     672    }
     673}}}
     674За додавање на расположливост во контролерот се зима објект од RestaurantsAvailable и се зима id од која маса
    633675----
    634676[[Image(RestaurantTableEdit.png)]]
    635 ----
    636 '''Исто како и кај хотел така и тука може да се прегледуваат резервациите за самиот ресторан.'''
     677{{{#!java
     678public void editTable(Restaurant restaurant, long tableId, int noSeats) {
     679        RestaurantsTable resTable = findTableById(tableId);
     680        resTable.setRestaurant(restaurant);
     681        resTable.setNoSeats(noSeats);
     682        restaurantDao.saveTable(resTable);
     683    }
     684}}}
     685Се наоѓа масата преку id и на истата се додава се менуваат потребните детали. Зачувувањето во база е исто па не се покажува
     686{{{#!java
     687@PostMapping(path = "/restaurant/table/edit")
     688    public void editTable(@RequestBody RestaurantsTable restaurantsTable) {
     689        restaurantManager.editTable(restaurantsTable.getRestaurant(), restaurantsTable.getTableId(), restaurantsTable.getNoSeats());
     690    }
     691}}}
     692Се зима цел објект од масата и за истата се пропушта на сервисот за логиката
     693
    637694----
    638695[[Image(ReservationTable.png)]]
     696
    639697
    640698=== Додава транспорт
     
    650708----
    651709[[Image(transportEdit.png)]]
    652 
     710{{{#!java
     711public List<RestaurantReservations> findReservationByRestaurant(Restaurant restaurant) {
     712        return em.createQuery("select rr from RestaurantReservations rr where rr.table.restaurant = :rest").setParameter("rest", restaurant).getResultList();
     713    }
     714}}}
     715Се листаат сите резервации кои се резервирани на ресторанот
     716{{{#!java
     717public List<RestaurantReservationDto> findReservationByRestaurant(Long restaurant) {
     718        Restaurant r = findRestaurantByID(restaurant);
     719        List<RestaurantReservations> res = restaurantDao.findReservationByRestaurant(r);
     720        return res.stream().map(x -> new RestaurantReservationDto(
     721                x.getUser(),
     722                x.getTable(),
     723                x.getTimeFrom(),
     724                x.getTimeTo()
     725        )).collect(Collectors.toList());
     726    }
     727}}}
     728Исто како и горе се прави Dto и се ноѓаат сите резервации од конкретниот ресторан и истите се враќаат како резултатна листа
     729{{{#!java
     730@GetMapping(path = "/restaurant/{id}/reservations/active")
     731    public List<RestaurantReservationDto> getActiveReservationsForRestaurant(@PathVariable Long id)
     732    {
     733        return restaurantManager.findReservationByRestaurant(id);
     734    }
     735}}}
     736Преку контролерот се зимаат податоци за id на на ресторанот и потоа се повикува функцијата од сервисот за резервација.
    653737==== Додава рути
    654738'''Секој транпосрт може да нуди различни рути, од кој до кој град патува патува и попатните градови низ кој поминува. За истите се додава и цена на чинење за секоја релација'''