filtres articles

This commit is contained in:
mepiphana2023
2024-04-25 12:49:07 +02:00
parent c536001a04
commit 0993bb0564
5 changed files with 16 additions and 13 deletions

View File

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

View File

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

View File

@@ -88,8 +88,9 @@ public class ArticleRepositoryImpl implements ArticleRepository {
@Override
public List<Article> 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<Object> 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<Article> 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 = ?";

View File

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

View File

@@ -26,7 +26,7 @@
</div>
<div class="mb-3">
<button type="submit" class="btn btn-primary">Connexion</button>
<button type="button" class="btn btn-warning text-light" href="/inscription">Créer un compte </button>
<a class="btn btn-warning text-light" href="/inscription">Créer un compte</a>
</div>
</form>
<div th:if="${param.error}" class="text-danger">