source: src/main/java/com/example/fooddeliverysystem/service/impl/PriceServiceImpl.java@ 8d11f8c

Last change on this file since 8d11f8c was 8d11f8c, checked in by jovanmanchev <jovanmanchev3003@…>, 18 months ago

code added, trial 2

  • Property mode set to 100644
File size: 1.3 KB
Line 
1package com.example.fooddeliverysystem.service.impl;
2
3import com.example.fooddeliverysystem.exceptions.FoodItemNotFoundException;
4import com.example.fooddeliverysystem.model.FoodItem;
5import com.example.fooddeliverysystem.model.Price;
6import com.example.fooddeliverysystem.repository.PriceRepository;
7import com.example.fooddeliverysystem.service.PriceService;
8import org.springframework.stereotype.Service;
9
10import java.util.List;
11import java.util.Optional;
12
13@Service
14public class PriceServiceImpl implements PriceService {
15
16 private final PriceRepository priceRepository;
17
18 public PriceServiceImpl(PriceRepository priceRepository) {
19 this.priceRepository = priceRepository;
20 }
21
22 @Override
23 public List<Price> findAllPrices() {
24 return this.priceRepository.findAll();
25 }
26
27 @Override
28 public Price findCurrentPriceForFoodItem(FoodItem foodItem) throws FoodItemNotFoundException {
29 List<Price> pricesForFoodItem = this.priceRepository.findAllByPriceKey_FoodItem(foodItem);
30 Optional<Price> currentPrice = pricesForFoodItem.stream()
31 .sorted((price1, price2) -> (int) (price2.getPriceKey().getPriceNumber() - price1.getPriceKey().getPriceNumber()))
32 .findFirst();
33 return currentPrice.orElseThrow(() -> new FoodItemNotFoundException("food item cannot be found"));
34
35 }
36}
Note: See TracBrowser for help on using the repository browser.