critere de recherche

This commit is contained in:
ionak
2024-05-02 18:51:41 +02:00
parent f49a62185b
commit 43e7cbd63f
5 changed files with 58 additions and 14 deletions

View File

@@ -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;
}
}

View File

@@ -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<Article> {
@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<Enchere> lastEnchere = enchereService.enchereByArticle(rs.getInt("a.no_article"));
Optional<Float> 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