diff --git a/src/main/java/fr/eni/enchere/bll/EnchereServiceImpl.java b/src/main/java/fr/eni/enchere/bll/EnchereServiceImpl.java index 2146061..2d0cb68 100644 --- a/src/main/java/fr/eni/enchere/bll/EnchereServiceImpl.java +++ b/src/main/java/fr/eni/enchere/bll/EnchereServiceImpl.java @@ -2,9 +2,11 @@ package fr.eni.enchere.bll; import fr.eni.enchere.bo.Enchere; import fr.eni.enchere.dal.EnchereRepository; +import org.springframework.stereotype.Service; import java.util.List; +@Service public class EnchereServiceImpl implements EnchereService{ private EnchereRepository enchereRepository; diff --git a/src/main/java/fr/eni/enchere/controllers/AccueilController.java b/src/main/java/fr/eni/enchere/controllers/AccueilController.java index d00e519..a7a8f94 100644 --- a/src/main/java/fr/eni/enchere/controllers/AccueilController.java +++ b/src/main/java/fr/eni/enchere/controllers/AccueilController.java @@ -46,7 +46,6 @@ public class AccueilController { @GetMapping({"/", "/accueil"}) public String viewAccueil(@AuthenticationPrincipal UserDetails userDetails, @RequestParam(required = false) String searchTitle, @RequestParam(required = false) Integer searchCategory, Model model, @RequestParam(value = "venteOption", required = false) String[] venteOptions, @RequestParam(value = "achatOption", required = false) String[] achatOptions) { model.addAttribute("categories", categorieService.findAllCategories()); - System.out.println("" + Arrays.toString(venteOptions)); SearchArticleCritere critere = new SearchArticleCritere(); critere.setNoCategorie(searchCategory); critere.setTitle(searchTitle); @@ -54,7 +53,7 @@ public class AccueilController { critere.setNoVendeur(userService.utilisateurByName(userDetails.getUsername()).getId()); } critere.setVenteOptions(venteOptions); - critere.setAchatOptions(venteOptions); + critere.setAchatOptions(achatOptions); model.addAttribute("articles", articleService.searchArticle(critere)); return "accueil"; } diff --git a/src/main/java/fr/eni/enchere/dal/ArticleRepositoryImpl.java b/src/main/java/fr/eni/enchere/dal/ArticleRepositoryImpl.java index 5106354..06a4e99 100644 --- a/src/main/java/fr/eni/enchere/dal/ArticleRepositoryImpl.java +++ b/src/main/java/fr/eni/enchere/dal/ArticleRepositoryImpl.java @@ -88,8 +88,9 @@ public class ArticleRepositoryImpl implements ArticleRepository { @Override public List
searchArticle(SearchArticleCritere critere) { - StringBuilder sql = new StringBuilder("SELECT a.*, u.* FROM ARTICLES_VENDUS a "); + StringBuilder sql = new StringBuilder("SELECT DISTINCT a.*, u.* FROM ARTICLES_VENDUS a "); sql.append("JOIN UTILISATEURS u ON a.no_utilisateur = u.no_utilisateur "); + sql.append("LEFT JOIN ENCHERES e ON a.no_article = e.no_article "); sql.append("WHERE 1 = 1 AND a.isDelete = 0"); List params = new ArrayList<>(); @@ -147,33 +148,33 @@ public class ArticleRepositoryImpl implements ArticleRepository { if (!isFirstCondition) { sql.append(" OR "); } - sql.append(" /* Ajoutez votre condition ici */ "); + sql.append(" (e.no_utilisateur = ? AND a.date_debut_encheres <= NOW() AND a.date_fin_encheres >= NOW()) "); isFirstCondition = false; + params.add(critere.getNoVendeur()); } if (option.equals("enchereRemportees")) { if (!isFirstCondition) { sql.append(" OR "); } - sql.append(" /* Ajoutez votre condition ici */ "); + sql.append(" (e.no_utilisateur = ? AND e.montant_enchere = (SELECT MAX(montant_enchere) FROM ENCHERES WHERE no_article = a.no_article)) "); isFirstCondition = false; + params.add(critere.getNoVendeur()); } } - sql.append(") AND a.no_utilisateur = ?"); - params.add(critere.getNoVendeur()); + sql.append(")"); } List
articles = jdbcTemplate.query(sql.toString(), new HomeArticleRowMapper(), params.toArray()); - for (Article article : articles) { - - } - return articles; } + + + @Override public Article findArticleById(int id) { String sql = "SELECT * FROM ARTICLES_VENDUS a WHERE a.no_article = ?"; diff --git a/src/main/java/fr/eni/enchere/dal/EnchereRepositoryImpl.java b/src/main/java/fr/eni/enchere/dal/EnchereRepositoryImpl.java index c4747b0..ae8cd84 100644 --- a/src/main/java/fr/eni/enchere/dal/EnchereRepositoryImpl.java +++ b/src/main/java/fr/eni/enchere/dal/EnchereRepositoryImpl.java @@ -1,9 +1,10 @@ package fr.eni.enchere.dal; import fr.eni.enchere.bo.Enchere; +import org.springframework.stereotype.Repository; import java.util.List; - +@Repository public class EnchereRepositoryImpl implements EnchereRepository { @Override diff --git a/src/main/resources/templates/security/login.html b/src/main/resources/templates/security/login.html index 20b4228..da707e1 100644 --- a/src/main/resources/templates/security/login.html +++ b/src/main/resources/templates/security/login.html @@ -26,7 +26,7 @@
- + Créer un compte