diff --git a/src/main/java/fr/eni/enchere/bo/Article.java b/src/main/java/fr/eni/enchere/bo/Article.java index e3675be..1ec5d59 100644 --- a/src/main/java/fr/eni/enchere/bo/Article.java +++ b/src/main/java/fr/eni/enchere/bo/Article.java @@ -13,6 +13,7 @@ public class Article { Date dateDebutEnch; Date dateFinEnch; float prixInitial; + float prixMaxEnchere; float prixVente; int Utilisateur; String pseudoUtilisateur; @@ -131,4 +132,12 @@ public class Article { public void setIsDelete(boolean delete) { isDelete = delete; } + + public float getPrixMaxEnchere() { + return prixMaxEnchere; + } + + public void setPrixMaxEnchere(float prixMaxEnchere) { + this.prixMaxEnchere = prixMaxEnchere; + } } diff --git a/src/main/java/fr/eni/enchere/dal/ArticleRepositoryImpl.java b/src/main/java/fr/eni/enchere/dal/ArticleRepositoryImpl.java index fce6047..07ee354 100644 --- a/src/main/java/fr/eni/enchere/dal/ArticleRepositoryImpl.java +++ b/src/main/java/fr/eni/enchere/dal/ArticleRepositoryImpl.java @@ -1,7 +1,9 @@ package fr.eni.enchere.dal; +import fr.eni.enchere.bll.EnchereService; import fr.eni.enchere.bll.UserService; import fr.eni.enchere.bo.Article; +import fr.eni.enchere.bo.Enchere; import fr.eni.enchere.bo.SearchArticleCritere; import fr.eni.enchere.bo.UserProfil; import fr.eni.enchere.controllers.AccueilController; @@ -30,6 +32,7 @@ import java.sql.ResultSet; import java.sql.SQLException; import java.util.ArrayList; import java.util.List; +import java.util.Optional; @Repository @Primary @@ -40,6 +43,7 @@ public class ArticleRepositoryImpl implements ArticleRepository { private JdbcTemplate jdbcTemplate; private NamedParameterJdbcTemplate namedJdbcTemplate; private UserService userService; + private EnchereService enchereService; private class ArticleRowMapper implements RowMapper
{ @Override @@ -72,15 +76,23 @@ public class ArticleRepositoryImpl implements ArticleRepository { article.setPrixVente(rs.getFloat("a.prix_vente")); article.setNoUtilisateur(rs.getInt("u.no_utilisateur")); article.setPseudoUtilisateur(rs.getString("u.pseudo")); + List lastEnchere = enchereService.enchereByArticle(rs.getInt("a.no_article")); + Optional maxMontantEnchere = lastEnchere.stream() + .map(Enchere::getMontantEnchere) + .max(Float::compareTo); + if (maxMontantEnchere.isPresent()) { + article.setPrixMaxEnchere(maxMontantEnchere.get()); + } article.setNumCategorie(rs.getInt("a.no_categorie")); return article; } } - public ArticleRepositoryImpl(JdbcTemplate jdbcTemplate, NamedParameterJdbcTemplate namedJdbcTemplate, UserService userService) { + public ArticleRepositoryImpl(JdbcTemplate jdbcTemplate, NamedParameterJdbcTemplate namedJdbcTemplate, UserService userService, EnchereService enchereService) { this.jdbcTemplate = jdbcTemplate; this.namedJdbcTemplate = namedJdbcTemplate; this.userService = userService; + this.enchereService = enchereService; } @Override diff --git a/src/main/resources/i18n/messages_en.properties b/src/main/resources/i18n/messages_en.properties index 9b4faa4..5665a10 100644 --- a/src/main/resources/i18n/messages_en.properties +++ b/src/main/resources/i18n/messages_en.properties @@ -131,6 +131,8 @@ article.details.pseudo = Username article.details.mountench = Bidding Amount article.details.ench = Bidders article.details.lastof = Last Bid +article.details.label.last_price = Current sale price +article.details.label.start_date = Start date edit.article.title = Edit my article edit.article.update = Edit diff --git a/src/main/resources/i18n/messages_fr.properties b/src/main/resources/i18n/messages_fr.properties index cc96b40..5e24ab8 100644 --- a/src/main/resources/i18n/messages_fr.properties +++ b/src/main/resources/i18n/messages_fr.properties @@ -133,6 +133,8 @@ article.details.pseudo = Pseudo article.details.mountench = Montant Ench\u00E8re article.details.ench = Ench\u00E9risseurs article.details.lastof = Derni\u00E9re offre +article.details.label.last_price = Prix de vente actuel +article.details.label.start_date = Date de debut diff --git a/src/main/resources/templates/accueil.html b/src/main/resources/templates/accueil.html index a8bd740..c1f973e 100644 --- a/src/main/resources/templates/accueil.html +++ b/src/main/resources/templates/accueil.html @@ -114,7 +114,7 @@