From a26c2314e1a7e62a1a00a9b0cc57ebd0edd1fea6 Mon Sep 17 00:00:00 2001 From: Javier Date: Sun, 11 Apr 2021 17:02:24 +0200 Subject: [PATCH] Filtro por tipo de comida --- .../repository/FoodOfferRepository.java | 4 ++++ .../cheapy/repository/NuOfferRepository.java | 4 ++++ .../repository/SpeedOfferRepository.java | 4 ++++ .../repository/TimeOfferRepository.java | 4 ++++ .../cheapy/service/FoodOfferService.java | 5 +++++ .../cheapy/service/NuOfferService.java | 5 +++++ .../cheapy/service/SpeedOfferService.java | 5 +++++ .../cheapy/service/TimeOfferService.java | 5 +++++ .../cheapy/web/OfertaController.java | 19 +++++++++++++++++++ .../webapp/WEB-INF/jsp/offers/offersList.jsp | 5 +++++ 10 files changed, 60 insertions(+) diff --git a/src/main/java/org/springframework/cheapy/repository/FoodOfferRepository.java b/src/main/java/org/springframework/cheapy/repository/FoodOfferRepository.java index b1f335860..9a277197d 100644 --- a/src/main/java/org/springframework/cheapy/repository/FoodOfferRepository.java +++ b/src/main/java/org/springframework/cheapy/repository/FoodOfferRepository.java @@ -39,4 +39,8 @@ public interface FoodOfferRepository extends PagingAndSortingRepository findFoodOfferByClientName(String name); + @Query("SELECT foodOffer FROM FoodOffer foodOffer WHERE foodOffer.client.food LIKE :name AND foodOffer.status= 'active'") + @Transactional(readOnly = true) + List findFoodOfferByClientFood(String name); + } diff --git a/src/main/java/org/springframework/cheapy/repository/NuOfferRepository.java b/src/main/java/org/springframework/cheapy/repository/NuOfferRepository.java index ccd04b4e1..d5631928e 100644 --- a/src/main/java/org/springframework/cheapy/repository/NuOfferRepository.java +++ b/src/main/java/org/springframework/cheapy/repository/NuOfferRepository.java @@ -35,4 +35,8 @@ public interface NuOfferRepository extends PagingAndSortingRepository findNuOfferByClientName(String name); + + @Query("SELECT nuOffer FROM NuOffer nuOffer WHERE nuOffer.client.food LIKE :name AND nuOffer.status= 'active'") + @Transactional(readOnly = true) + List findNuOfferByClientFood(String name); } diff --git a/src/main/java/org/springframework/cheapy/repository/SpeedOfferRepository.java b/src/main/java/org/springframework/cheapy/repository/SpeedOfferRepository.java index 1dd6203ba..b89ce1569 100644 --- a/src/main/java/org/springframework/cheapy/repository/SpeedOfferRepository.java +++ b/src/main/java/org/springframework/cheapy/repository/SpeedOfferRepository.java @@ -38,4 +38,8 @@ public interface SpeedOfferRepository extends PagingAndSortingRepository findSpeedOfferByClientName(String name); + + @Query("SELECT speedOffer FROM SpeedOffer speedOffer WHERE speedOffer.client.food LIKE :name AND speedOffer.status= 'active'") + @Transactional(readOnly = true) + List findSpeedOfferByClientFood(String name); } diff --git a/src/main/java/org/springframework/cheapy/repository/TimeOfferRepository.java b/src/main/java/org/springframework/cheapy/repository/TimeOfferRepository.java index 8e14162bf..b031d789c 100644 --- a/src/main/java/org/springframework/cheapy/repository/TimeOfferRepository.java +++ b/src/main/java/org/springframework/cheapy/repository/TimeOfferRepository.java @@ -37,4 +37,8 @@ public interface TimeOfferRepository extends PagingAndSortingRepository findTimeOfferByClientName(String name); + + @Query("SELECT timeOffer FROM TimeOffer timeOffer WHERE timeOffer.client.food LIKE :name AND timeOffer.status= 'active'") + @Transactional(readOnly = true) + List findTimeOfferByClientFood(String name); } diff --git a/src/main/java/org/springframework/cheapy/service/FoodOfferService.java b/src/main/java/org/springframework/cheapy/service/FoodOfferService.java index 4a17c91ae..eb0a85b14 100644 --- a/src/main/java/org/springframework/cheapy/service/FoodOfferService.java +++ b/src/main/java/org/springframework/cheapy/service/FoodOfferService.java @@ -50,4 +50,9 @@ public class FoodOfferService { String nameEdit = "%"+name+"%"; return this.foodOfferRepository.findFoodOfferByClientName(nameEdit); } + + public List findFoodOfferByClientFood(String name) { + String nameEdit = "%"+name+"%"; + return this.foodOfferRepository.findFoodOfferByClientFood(nameEdit); + } } diff --git a/src/main/java/org/springframework/cheapy/service/NuOfferService.java b/src/main/java/org/springframework/cheapy/service/NuOfferService.java index b6d4ca743..be77144c1 100644 --- a/src/main/java/org/springframework/cheapy/service/NuOfferService.java +++ b/src/main/java/org/springframework/cheapy/service/NuOfferService.java @@ -59,4 +59,9 @@ public class NuOfferService { String nameEdit = "%"+name+"%"; return this.nuOfferRepository.findNuOfferByClientName(nameEdit); } + + public List findNuOfferByClientFood(String name) { + String nameEdit = "%"+name+"%"; + return this.nuOfferRepository.findNuOfferByClientFood(nameEdit); + } } diff --git a/src/main/java/org/springframework/cheapy/service/SpeedOfferService.java b/src/main/java/org/springframework/cheapy/service/SpeedOfferService.java index ad76224be..b9e5ffc2a 100644 --- a/src/main/java/org/springframework/cheapy/service/SpeedOfferService.java +++ b/src/main/java/org/springframework/cheapy/service/SpeedOfferService.java @@ -54,4 +54,9 @@ public class SpeedOfferService { String nameEdit = "%"+name+"%"; return this.speedOfferRepository.findSpeedOfferByClientName(nameEdit); } + + public List findSpeedOfferByClientFood(String name) { + String nameEdit = "%"+name+"%"; + return this.speedOfferRepository.findSpeedOfferByClientFood(nameEdit); + } } diff --git a/src/main/java/org/springframework/cheapy/service/TimeOfferService.java b/src/main/java/org/springframework/cheapy/service/TimeOfferService.java index 7f35930a8..4859bca53 100644 --- a/src/main/java/org/springframework/cheapy/service/TimeOfferService.java +++ b/src/main/java/org/springframework/cheapy/service/TimeOfferService.java @@ -50,4 +50,9 @@ public class TimeOfferService { String nameEdit = "%"+name+"%"; return this.timeOfferRepository.findTimeOfferByClientName(nameEdit); } + + public List findTimeOfferByClientFood(String name) { + String nameEdit = "%"+name+"%"; + return this.timeOfferRepository.findTimeOfferByClientFood(nameEdit); + } } diff --git a/src/main/java/org/springframework/cheapy/web/OfertaController.java b/src/main/java/org/springframework/cheapy/web/OfertaController.java index ec3db1b30..b2b302cf9 100644 --- a/src/main/java/org/springframework/cheapy/web/OfertaController.java +++ b/src/main/java/org/springframework/cheapy/web/OfertaController.java @@ -77,6 +77,25 @@ public class OfertaController { return "offers/offersListSearch"; } + + @GetMapping("/offersByFood") + public String processFindFormByFood(final Map model, String name) { + + List foodOfferLs = this.foodOfferService.findFoodOfferByClientFood(name); + List nuOfferLs = this.nuOfferService.findNuOfferByClientFood(name); + List speedOfferLs = this.speedOfferService.findSpeedOfferByClientFood(name); + List timeOfferLs = this.timeOfferService.findTimeOfferByClientFood(name); + model.put("foodOfferLs", foodOfferLs); + model.put("nuOfferLs", nuOfferLs); + model.put("speedOfferLs", speedOfferLs); + model.put("timeOfferLs", timeOfferLs); + + //Se aƱade formateador de fecha al modelo + model.put("localDateTimeFormat", DateTimeFormatter.ofPattern("dd/MM/yyyy HH:mm")); + + return "offers/offersListSearch"; + + } @GetMapping("/myOffers") public String processMyOffersForm(final Map model) { diff --git a/src/main/webapp/WEB-INF/jsp/offers/offersList.jsp b/src/main/webapp/WEB-INF/jsp/offers/offersList.jsp index 7efb2bdb7..1bef89a39 100644 --- a/src/main/webapp/WEB-INF/jsp/offers/offersList.jsp +++ b/src/main/webapp/WEB-INF/jsp/offers/offersList.jsp @@ -44,6 +44,11 @@ +
+ + +
+