From b54203910ac64a87ed83f3c65cd1de40a0d16a9f Mon Sep 17 00:00:00 2001 From: "gabgutpri@alum.us.es" Date: Mon, 12 Apr 2021 20:05:21 +0200 Subject: [PATCH 1/2] Filtro municipios sin select acabado --- .../springframework/cheapy/model/Client.java | 106 ++++++++++-------- .../cheapy/model/Municipio.java | 7 ++ .../repository/FoodOfferRepository.java | 10 +- .../cheapy/service/FoodOfferService.java | 16 ++- .../cheapy/web/OfertaController.java | 34 +++++- src/main/resources/db/mysql/data.sql | 4 +- .../webapp/WEB-INF/jsp/offers/offersList.jsp | 16 ++- 7 files changed, 131 insertions(+), 62 deletions(-) create mode 100644 src/main/java/org/springframework/cheapy/model/Municipio.java diff --git a/src/main/java/org/springframework/cheapy/model/Client.java b/src/main/java/org/springframework/cheapy/model/Client.java index 41d81ca19..e968f4a10 100644 --- a/src/main/java/org/springframework/cheapy/model/Client.java +++ b/src/main/java/org/springframework/cheapy/model/Client.java @@ -1,3 +1,4 @@ + package org.springframework.cheapy.model; import java.time.LocalTime; @@ -5,6 +6,8 @@ import java.util.List; import javax.persistence.CascadeType; import javax.persistence.Entity; +import javax.persistence.EnumType; +import javax.persistence.Enumerated; import javax.persistence.JoinColumn; import javax.persistence.OneToMany; import javax.persistence.OneToOne; @@ -19,170 +22,183 @@ import org.springframework.format.annotation.DateTimeFormat; @Table(name = "clients") public class Client extends BaseEntity { - private static final long serialVersionUID = 1L; + private static final long serialVersionUID = 1L; // (id, name, email, address, init, finish, telephone, description, code, food, // usuar) @NotEmpty - private String name; + private String name; @NotEmpty - private String email; + private String email; @NotEmpty - private String address; + private String address; + + @NotNull + @Enumerated(value = EnumType.STRING) + private Municipio municipio; // Hora de apertura del local @DateTimeFormat(pattern = "HH:mm") @NotNull(message = "Debe introducir una hora de apertura") - private LocalTime init; + private LocalTime init; // Hora de cierre del local @DateTimeFormat(pattern = "HH:mm") @NotNull(message = "Debe introducir una hora de cierre") - private LocalTime finish; + private LocalTime finish; @NotEmpty @Digits(fraction = 0, integer = 10) - private String telephone; + private String telephone; @NotEmpty - private String description; + private String description; // Codigo de activacion de cuenta @NotEmpty - private String code; + private String code; @NotEmpty - private String food; + private String food; @OneToOne(cascade = CascadeType.ALL) @JoinColumn(name = "username", referencedColumnName = "username") - private User usuar; + private User usuar; @OneToMany - private List foodOffers; + private List foodOffers; @OneToMany - private List nuOffers; + private List nuOffers; @OneToMany - private List speedOffers; + private List speedOffers; @OneToMany - private List timeOffers; + private List timeOffers; + public String getName() { - return name; + return this.name; } - public void setName(String name) { + public void setName(final String name) { this.name = name; } public String getEmail() { - return email; + return this.email; } - public void setEmail(String email) { + public void setEmail(final String email) { this.email = email; } public String getAddress() { - return address; + return this.address; } - public void setAddress(String address) { + public void setAddress(final String address) { this.address = address; } - public LocalTime getInit() { - return init; + public Municipio getMunicipio() { + return this.municipio; } - public void setInit(LocalTime init) { + public void setMunicipio(final Municipio municipio) { + this.municipio = municipio; + } + + public LocalTime getInit() { + return this.init; + } + + public void setInit(final LocalTime init) { this.init = init; } public LocalTime getFinish() { - return finish; + return this.finish; } - public void setFinish(LocalTime finish) { + public void setFinish(final LocalTime finish) { this.finish = finish; } public String getTelephone() { - return telephone; + return this.telephone; } - public void setTelephone(String telephone) { + public void setTelephone(final String telephone) { this.telephone = telephone; } public String getDescription() { - return description; + return this.description; } - public void setDescription(String description) { + public void setDescription(final String description) { this.description = description; } public String getCode() { - return code; + return this.code; } - public void setCode(String code) { + public void setCode(final String code) { this.code = code; } public String getFood() { - return food; + return this.food; } - public void setFood(String food) { + public void setFood(final String food) { this.food = food; } public User getUsuar() { - return usuar; + return this.usuar; } - public void setUsuar(User usuar) { + public void setUsuar(final User usuar) { this.usuar = usuar; } public List getFoodOffers() { - return foodOffers; + return this.foodOffers; } - public void setFoodOffers(List foodOffers) { + public void setFoodOffers(final List foodOffers) { this.foodOffers = foodOffers; } public List getNuOffers() { - return nuOffers; + return this.nuOffers; } - public void setNuOffers(List nuOffers) { + public void setNuOffers(final List nuOffers) { this.nuOffers = nuOffers; } public List getSpeedOffers() { - return speedOffers; + return this.speedOffers; } - public void setSpeedOffers(List speedOffers) { + public void setSpeedOffers(final List speedOffers) { this.speedOffers = speedOffers; } public List getTimeOffers() { - return timeOffers; + return this.timeOffers; } - public void setTimeOffers(List timeOffers) { + public void setTimeOffers(final List timeOffers) { this.timeOffers = timeOffers; } -} \ No newline at end of file +} diff --git a/src/main/java/org/springframework/cheapy/model/Municipio.java b/src/main/java/org/springframework/cheapy/model/Municipio.java new file mode 100644 index 000000000..d643f29ed --- /dev/null +++ b/src/main/java/org/springframework/cheapy/model/Municipio.java @@ -0,0 +1,7 @@ + +package org.springframework.cheapy.model; + +public enum Municipio { + Dos_Hermanas, Sevilla + +} diff --git a/src/main/java/org/springframework/cheapy/repository/FoodOfferRepository.java b/src/main/java/org/springframework/cheapy/repository/FoodOfferRepository.java index 9a277197d..65682ac84 100644 --- a/src/main/java/org/springframework/cheapy/repository/FoodOfferRepository.java +++ b/src/main/java/org/springframework/cheapy/repository/FoodOfferRepository.java @@ -34,13 +34,17 @@ public interface FoodOfferRepository extends PagingAndSortingRepository findFoodOfferActOclByUserId(@Param("id") Integer id); - + @Query("SELECT foodOffer FROM FoodOffer foodOffer WHERE foodOffer.client.name LIKE :name AND foodOffer.status= 'active'") @Transactional(readOnly = true) List 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); - + + @Query("SELECT foodOffer FROM FoodOffer foodOffer WHERE foodOffer.client.municipio =:municip AND foodOffer.status= 'active'") + @Transactional(readOnly = true) + List findFoodOfferByClientPlace(String municip); + } diff --git a/src/main/java/org/springframework/cheapy/service/FoodOfferService.java b/src/main/java/org/springframework/cheapy/service/FoodOfferService.java index eb0a85b14..fe6675191 100644 --- a/src/main/java/org/springframework/cheapy/service/FoodOfferService.java +++ b/src/main/java/org/springframework/cheapy/service/FoodOfferService.java @@ -45,14 +45,18 @@ public class FoodOfferService { public List findFoodOfferActOclByUserId(final int id) { return this.foodOfferRepository.findFoodOfferActOclByUserId(id); } - - public List findFoodOfferByClientName(String name) { - String nameEdit = "%"+name+"%"; + + public List findFoodOfferByClientName(final String name) { + String nameEdit = "%" + name + "%"; return this.foodOfferRepository.findFoodOfferByClientName(nameEdit); } - - public List findFoodOfferByClientFood(String name) { - String nameEdit = "%"+name+"%"; + + public List findFoodOfferByClientFood(final String name) { + String nameEdit = "%" + name + "%"; return this.foodOfferRepository.findFoodOfferByClientFood(nameEdit); } + + public List findFoodOfferByClientPlace(final String municip) { + return this.foodOfferRepository.findFoodOfferByClientPlace(municip); + } } diff --git a/src/main/java/org/springframework/cheapy/web/OfertaController.java b/src/main/java/org/springframework/cheapy/web/OfertaController.java index b2b302cf9..89d4aa4c5 100644 --- a/src/main/java/org/springframework/cheapy/web/OfertaController.java +++ b/src/main/java/org/springframework/cheapy/web/OfertaController.java @@ -6,6 +6,7 @@ import java.util.List; import java.util.Map; import org.springframework.cheapy.model.FoodOffer; +import org.springframework.cheapy.model.Municipio; import org.springframework.cheapy.model.NuOffer; import org.springframework.cheapy.model.SpeedOffer; import org.springframework.cheapy.model.TimeOffer; @@ -52,15 +53,18 @@ public class OfertaController { model.put("speedOfferLs", speedOfferLs); model.put("timeOfferLs", timeOfferLs); + // Añade la lista de municipios al desplegable + model.put("municipios", Municipio.values()); + //Se añade formateador de fecha al modelo model.put("localDateTimeFormat", DateTimeFormatter.ofPattern("dd/MM/yyyy HH:mm")); return "offers/offersList"; } - + @GetMapping("/offersByName") - public String processFindFormByName(final Map model, String name) { + public String processFindFormByName(final Map model, final String name) { List foodOfferLs = this.foodOfferService.findFoodOfferByClientName(name); List nuOfferLs = this.nuOfferService.findNuOfferByClientName(name); @@ -71,15 +75,18 @@ public class OfertaController { model.put("speedOfferLs", speedOfferLs); model.put("timeOfferLs", timeOfferLs); + // Añade la lista de municipios al desplegable + model.put("municipios", Municipio.values()); + //Se añade formateador de fecha al modelo model.put("localDateTimeFormat", DateTimeFormatter.ofPattern("dd/MM/yyyy HH:mm")); return "offers/offersListSearch"; } - + @GetMapping("/offersByFood") - public String processFindFormByFood(final Map model, String name) { + public String processFindFormByFood(final Map model, final String name) { List foodOfferLs = this.foodOfferService.findFoodOfferByClientFood(name); List nuOfferLs = this.nuOfferService.findNuOfferByClientFood(name); @@ -90,6 +97,25 @@ public class OfertaController { model.put("speedOfferLs", speedOfferLs); model.put("timeOfferLs", timeOfferLs); + // Añade la lista de municipios al desplegable + model.put("municipios", Municipio.values()); + + //Se añade formateador de fecha al modelo + model.put("localDateTimeFormat", DateTimeFormatter.ofPattern("dd/MM/yyyy HH:mm")); + + return "offers/offersListSearch"; + + } + + @GetMapping("/offersByPlace") + public String processFindFormByPlace(final Map model, final String municip) { + + List foodOfferLs = this.foodOfferService.findFoodOfferByClientPlace(municip); + model.put("foodOfferLs", foodOfferLs); + + // Añade la lista de municipios al desplegable + model.put("municipios", Municipio.values()); + //Se añade formateador de fecha al modelo model.put("localDateTimeFormat", DateTimeFormatter.ofPattern("dd/MM/yyyy HH:mm")); diff --git a/src/main/resources/db/mysql/data.sql b/src/main/resources/db/mysql/data.sql index f32637462..cfc9f4978 100644 --- a/src/main/resources/db/mysql/data.sql +++ b/src/main/resources/db/mysql/data.sql @@ -19,8 +19,8 @@ INSERT INTO usuarios (id, nombre, apellidos, dni, direccion, telefono, email, us INSERT INTO usuarios (id, nombre, apellidos, dni, direccion, telefono, email, username) VALUES (3, 'Lolo', 'Lopez', '25486596L', 'C/Macarena', '690670547' ,'Lolo@gmail.com','lolo'); INSERT INTO usuarios (id, nombre, apellidos, dni, direccion, telefono, email, username) VALUES (4, 'Pepe', 'Lopez', '12456776V', 'C/Macarena', '690670547', 'Pepe@gmail.com','pepe'); -INSERT INTO clients (id, name, email, address, init, finish, telephone, description, code, food, username) VALUES (1,'bar manoli','manoli@gmail.com','C/Betis','10:00:00','22:00:00','608726190', 'description 1', 'code1', 'ESPAÑOLA','manoli'); -INSERT INTO clients (id, name, email, address, init, finish, telephone, description, code, food, username) VALUES (2,'bar david','david@gmail.com','C/Sevilla','09:30:00','22:00:00','608726190', 'description 2', 'code2', 'americana','david'); +INSERT INTO clients (id, name, email, address, municipio, init, finish, telephone, description, code, food, username) VALUES (1,'bar manoli','manoli@gmail.com','C/Betis', 'Sevilla','10:00:00','22:00:00','608726190', 'description 1', 'code1', 'ESPAÑOLA','manoli'); +INSERT INTO clients (id, name, email, address, municipio, init, finish, telephone, description, code, food, username) VALUES (2,'bar david','david@gmail.com', 'C/Sevilla', 'Dos_Hermanas','09:30:00','22:00:00','608726190', 'description 2', 'code2', 'americana','david'); INSERT INTO food_offers(start, end, code, status, client_id, food, discount) VALUES ('2021-08-14 12:00:00', '2021-08-15 12:00:00', 'FO-1', 'inactive', 1, 'macarrones', 15); INSERT INTO food_offers(start, end, code, status, client_id, food, discount) VALUES ('2021-08-15 12:00:00', '2021-08-16 12:00:00', 'FO-2', 'active', 1, 'macarrones con tomate', 10); diff --git a/src/main/webapp/WEB-INF/jsp/offers/offersList.jsp b/src/main/webapp/WEB-INF/jsp/offers/offersList.jsp index 1bef89a39..275ba308b 100644 --- a/src/main/webapp/WEB-INF/jsp/offers/offersList.jsp +++ b/src/main/webapp/WEB-INF/jsp/offers/offersList.jsp @@ -41,12 +41,20 @@
- +
- + +
+ +
+ +
@@ -67,6 +75,7 @@ + @@ -89,6 +98,9 @@ + + + From ec1aa037504b32222dfd1f0f7c21ea28f598d77d Mon Sep 17 00:00:00 2001 From: "gabgutpri@alum.us.es" Date: Thu, 15 Apr 2021 12:57:11 +0200 Subject: [PATCH 2/2] Filtro por municipio --- .../cheapy/repository/FoodOfferRepository.java | 5 +++-- .../cheapy/repository/NuOfferRepository.java | 10 ++++++++-- .../cheapy/repository/SpeedOfferRepository.java | 9 +++++++-- .../cheapy/repository/TimeOfferRepository.java | 9 +++++++-- .../cheapy/service/FoodOfferService.java | 3 ++- .../cheapy/service/NuOfferService.java | 17 +++++++++++------ .../cheapy/service/SpeedOfferService.java | 17 +++++++++++------ .../cheapy/service/TimeOfferService.java | 17 +++++++++++------ .../cheapy/web/OfertaController.java | 13 +++++++++++-- .../webapp/WEB-INF/jsp/offers/offersList.jsp | 13 +++++++------ 10 files changed, 78 insertions(+), 35 deletions(-) diff --git a/src/main/java/org/springframework/cheapy/repository/FoodOfferRepository.java b/src/main/java/org/springframework/cheapy/repository/FoodOfferRepository.java index 65682ac84..a2aec96ef 100644 --- a/src/main/java/org/springframework/cheapy/repository/FoodOfferRepository.java +++ b/src/main/java/org/springframework/cheapy/repository/FoodOfferRepository.java @@ -4,6 +4,7 @@ package org.springframework.cheapy.repository; import java.util.List; import org.springframework.cheapy.model.FoodOffer; +import org.springframework.cheapy.model.Municipio; import org.springframework.cheapy.model.StatusOffer; import org.springframework.data.domain.Pageable; import org.springframework.data.jpa.repository.Query; @@ -43,8 +44,8 @@ public interface FoodOfferRepository extends PagingAndSortingRepository findFoodOfferByClientFood(String name); - @Query("SELECT foodOffer FROM FoodOffer foodOffer WHERE foodOffer.client.municipio =:municip AND foodOffer.status= 'active'") + @Query("SELECT foodOffer FROM FoodOffer foodOffer WHERE foodOffer.client.municipio =:municipio AND foodOffer.status= 'active'") @Transactional(readOnly = true) - List findFoodOfferByClientPlace(String municip); + List findFoodOfferByClientPlace(Municipio municipio); } diff --git a/src/main/java/org/springframework/cheapy/repository/NuOfferRepository.java b/src/main/java/org/springframework/cheapy/repository/NuOfferRepository.java index d5631928e..e6ef658ff 100644 --- a/src/main/java/org/springframework/cheapy/repository/NuOfferRepository.java +++ b/src/main/java/org/springframework/cheapy/repository/NuOfferRepository.java @@ -2,6 +2,8 @@ package org.springframework.cheapy.repository; import java.util.List; + +import org.springframework.cheapy.model.Municipio; import org.springframework.cheapy.model.NuOffer; import org.springframework.cheapy.model.StatusOffer; import org.springframework.data.domain.Pageable; @@ -31,12 +33,16 @@ public interface NuOfferRepository extends PagingAndSortingRepository findNuOfferActOclByUserId(@Param("id") Integer id); - + @Query("SELECT nuOffer FROM NuOffer nuOffer WHERE nuOffer.client.name LIKE :name AND nuOffer.status= 'active'") @Transactional(readOnly = true) List 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); + + @Query("SELECT nuOffer FROM NuOffer nuOffer WHERE nuOffer.client.municipio =:municipio AND nuOffer.status= 'active'") + @Transactional(readOnly = true) + List findNuOfferByClientPlace(Municipio municipio); } diff --git a/src/main/java/org/springframework/cheapy/repository/SpeedOfferRepository.java b/src/main/java/org/springframework/cheapy/repository/SpeedOfferRepository.java index b89ce1569..f49dd1469 100644 --- a/src/main/java/org/springframework/cheapy/repository/SpeedOfferRepository.java +++ b/src/main/java/org/springframework/cheapy/repository/SpeedOfferRepository.java @@ -3,6 +3,7 @@ package org.springframework.cheapy.repository; import java.util.List; +import org.springframework.cheapy.model.Municipio; import org.springframework.cheapy.model.SpeedOffer; import org.springframework.cheapy.model.StatusOffer; import org.springframework.data.domain.Pageable; @@ -34,12 +35,16 @@ public interface SpeedOfferRepository extends PagingAndSortingRepository findSpeedOfferActOclByUserId(@Param("id") Integer id); - + @Query("SELECT speedOffer FROM SpeedOffer speedOffer WHERE speedOffer.client.name LIKE :name AND speedOffer.status= 'active'") @Transactional(readOnly = true) List 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); + + @Query("SELECT speedOffer FROM SpeedOffer speedOffer WHERE speedOffer.client.municipio =:municipio AND speedOffer.status= 'active'") + @Transactional(readOnly = true) + List findSpeedOfferByClientPlace(Municipio municipio); } diff --git a/src/main/java/org/springframework/cheapy/repository/TimeOfferRepository.java b/src/main/java/org/springframework/cheapy/repository/TimeOfferRepository.java index b031d789c..e3cdd669d 100644 --- a/src/main/java/org/springframework/cheapy/repository/TimeOfferRepository.java +++ b/src/main/java/org/springframework/cheapy/repository/TimeOfferRepository.java @@ -4,6 +4,7 @@ package org.springframework.cheapy.repository; import java.util.List; import org.springframework.cheapy.model.FoodOffer; +import org.springframework.cheapy.model.Municipio; import org.springframework.cheapy.model.StatusOffer; import org.springframework.cheapy.model.TimeOffer; import org.springframework.data.domain.Pageable; @@ -33,12 +34,16 @@ public interface TimeOfferRepository extends PagingAndSortingRepository findTimeOfferActOclByUserId(@Param("id") Integer id); - + @Query("SELECT timeOffer FROM TimeOffer timeOffer WHERE timeOffer.client.name LIKE :name AND timeOffer.status= 'active'") @Transactional(readOnly = true) List 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); + + @Query("SELECT timeOffer FROM TimeOffer timeOffer WHERE timeOffer.client.municipio =:municipio AND timeOffer.status= 'active'") + @Transactional(readOnly = true) + List findTimeOfferByClientPlace(Municipio municipio); } diff --git a/src/main/java/org/springframework/cheapy/service/FoodOfferService.java b/src/main/java/org/springframework/cheapy/service/FoodOfferService.java index fe6675191..0e4c12e50 100644 --- a/src/main/java/org/springframework/cheapy/service/FoodOfferService.java +++ b/src/main/java/org/springframework/cheapy/service/FoodOfferService.java @@ -5,6 +5,7 @@ import java.util.List; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.cheapy.model.FoodOffer; +import org.springframework.cheapy.model.Municipio; import org.springframework.cheapy.model.StatusOffer; import org.springframework.cheapy.repository.FoodOfferRepository; import org.springframework.dao.DataAccessException; @@ -56,7 +57,7 @@ public class FoodOfferService { return this.foodOfferRepository.findFoodOfferByClientFood(nameEdit); } - public List findFoodOfferByClientPlace(final String municip) { + public List findFoodOfferByClientPlace(final Municipio municip) { return this.foodOfferRepository.findFoodOfferByClientPlace(municip); } } diff --git a/src/main/java/org/springframework/cheapy/service/NuOfferService.java b/src/main/java/org/springframework/cheapy/service/NuOfferService.java index be77144c1..7bf4913b3 100644 --- a/src/main/java/org/springframework/cheapy/service/NuOfferService.java +++ b/src/main/java/org/springframework/cheapy/service/NuOfferService.java @@ -4,6 +4,7 @@ package org.springframework.cheapy.service; import java.util.List; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.cheapy.model.Municipio; import org.springframework.cheapy.model.NuOffer; import org.springframework.cheapy.model.StatusOffer; import org.springframework.cheapy.repository.NuOfferRepository; @@ -54,14 +55,18 @@ public class NuOfferService { public List findNuOfferActOclByUserId(final int id) { return this.nuOfferRepository.findNuOfferActOclByUserId(id); } - - public List findNuOfferByClientName(String name) { - String nameEdit = "%"+name+"%"; + + public List findNuOfferByClientName(final String name) { + String nameEdit = "%" + name + "%"; return this.nuOfferRepository.findNuOfferByClientName(nameEdit); } - - public List findNuOfferByClientFood(String name) { - String nameEdit = "%"+name+"%"; + + public List findNuOfferByClientFood(final String name) { + String nameEdit = "%" + name + "%"; return this.nuOfferRepository.findNuOfferByClientFood(nameEdit); } + + public List findNuOfferByClientPlace(final Municipio mun) { + return this.nuOfferRepository.findNuOfferByClientPlace(mun); + } } diff --git a/src/main/java/org/springframework/cheapy/service/SpeedOfferService.java b/src/main/java/org/springframework/cheapy/service/SpeedOfferService.java index b9e5ffc2a..aeb2f630d 100644 --- a/src/main/java/org/springframework/cheapy/service/SpeedOfferService.java +++ b/src/main/java/org/springframework/cheapy/service/SpeedOfferService.java @@ -4,6 +4,7 @@ package org.springframework.cheapy.service; import java.util.List; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.cheapy.model.Municipio; import org.springframework.cheapy.model.SpeedOffer; import org.springframework.cheapy.model.StatusOffer; import org.springframework.cheapy.repository.SpeedOfferRepository; @@ -49,14 +50,18 @@ public class SpeedOfferService { public List findSpeedOfferActOclByUserId(final int id) { return this.speedOfferRepository.findSpeedOfferActOclByUserId(id); } - - public List findSpeedOfferByClientName(String name) { - String nameEdit = "%"+name+"%"; + + public List findSpeedOfferByClientName(final String name) { + String nameEdit = "%" + name + "%"; return this.speedOfferRepository.findSpeedOfferByClientName(nameEdit); } - - public List findSpeedOfferByClientFood(String name) { - String nameEdit = "%"+name+"%"; + + public List findSpeedOfferByClientFood(final String name) { + String nameEdit = "%" + name + "%"; return this.speedOfferRepository.findSpeedOfferByClientFood(nameEdit); } + + public List findSpeedOfferByClientPlace(final Municipio mun) { + return this.speedOfferRepository.findSpeedOfferByClientPlace(mun); + } } diff --git a/src/main/java/org/springframework/cheapy/service/TimeOfferService.java b/src/main/java/org/springframework/cheapy/service/TimeOfferService.java index 4859bca53..68881863b 100644 --- a/src/main/java/org/springframework/cheapy/service/TimeOfferService.java +++ b/src/main/java/org/springframework/cheapy/service/TimeOfferService.java @@ -4,6 +4,7 @@ package org.springframework.cheapy.service; import java.util.List; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.cheapy.model.Municipio; import org.springframework.cheapy.model.StatusOffer; import org.springframework.cheapy.model.TimeOffer; import org.springframework.cheapy.repository.TimeOfferRepository; @@ -45,14 +46,18 @@ public class TimeOfferService { public List findTimeOfferActOclByUserId(final int id) { return this.timeOfferRepository.findTimeOfferActOclByUserId(id); } - - public List findTimeOfferByClientName(String name) { - String nameEdit = "%"+name+"%"; + + public List findTimeOfferByClientName(final String name) { + String nameEdit = "%" + name + "%"; return this.timeOfferRepository.findTimeOfferByClientName(nameEdit); } - - public List findTimeOfferByClientFood(String name) { - String nameEdit = "%"+name+"%"; + + public List findTimeOfferByClientFood(final String name) { + String nameEdit = "%" + name + "%"; return this.timeOfferRepository.findTimeOfferByClientFood(nameEdit); } + + public List findTimeOfferByClientPlace(final Municipio mun) { + return this.timeOfferRepository.findTimeOfferByClientPlace(mun); + } } diff --git a/src/main/java/org/springframework/cheapy/web/OfertaController.java b/src/main/java/org/springframework/cheapy/web/OfertaController.java index 89d4aa4c5..7a069f3ef 100644 --- a/src/main/java/org/springframework/cheapy/web/OfertaController.java +++ b/src/main/java/org/springframework/cheapy/web/OfertaController.java @@ -5,6 +5,8 @@ import java.time.format.DateTimeFormatter; import java.util.List; import java.util.Map; +import javax.servlet.http.HttpServletRequest; + import org.springframework.cheapy.model.FoodOffer; import org.springframework.cheapy.model.Municipio; import org.springframework.cheapy.model.NuOffer; @@ -108,10 +110,17 @@ public class OfertaController { } @GetMapping("/offersByPlace") - public String processFindFormByPlace(final Map model, final String municip) { + public String processFindFormByPlace(final Map model, final HttpServletRequest request) { + Municipio mun = Municipio.valueOf(request.getParameter("municipio")); - List foodOfferLs = this.foodOfferService.findFoodOfferByClientPlace(municip); + List foodOfferLs = this.foodOfferService.findFoodOfferByClientPlace(mun); + List nuOfferLs = this.nuOfferService.findNuOfferByClientPlace(mun); + List speedOfferLs = this.speedOfferService.findSpeedOfferByClientPlace(mun); + List timeOfferLs = this.timeOfferService.findTimeOfferByClientPlace(mun); model.put("foodOfferLs", foodOfferLs); + model.put("nuOfferLs", nuOfferLs); + model.put("speedOfferLs", speedOfferLs); + model.put("timeOfferLs", timeOfferLs); // Añade la lista de municipios al desplegable model.put("municipios", Municipio.values()); diff --git a/src/main/webapp/WEB-INF/jsp/offers/offersList.jsp b/src/main/webapp/WEB-INF/jsp/offers/offersList.jsp index 275ba308b..56e7fcc83 100644 --- a/src/main/webapp/WEB-INF/jsp/offers/offersList.jsp +++ b/src/main/webapp/WEB-INF/jsp/offers/offersList.jsp @@ -50,13 +50,14 @@
- - + +
-