diff --git a/src/main/java/fr/eni/enchere/bo/Article.java b/src/main/java/fr/eni/enchere/bo/Article.java index 4600fcd..a9dc8f1 100644 --- a/src/main/java/fr/eni/enchere/bo/Article.java +++ b/src/main/java/fr/eni/enchere/bo/Article.java @@ -11,13 +11,13 @@ public class Article { Date dateFinEnch; float prixInitial; float prixVente; - int numUtilisateur; + UserProfil Utilisateur; int numCategorie; public Article() { } - public Article(int id, String nom, String desc, Date dateDebutEnch, Date dateFinEnch, float prixInitial, float prixVente, int numUtilisateur, int numCategorie) { + public Article(int id, String nom, String desc, Date dateDebutEnch, Date dateFinEnch, float prixInitial, float prixVente, UserProfil Utilisateur, int numCategorie) { this.id = id; this.nom = nom; this.desc = desc; @@ -25,7 +25,7 @@ public class Article { this.dateFinEnch = dateFinEnch; this.prixInitial = prixInitial; this.prixVente = prixVente; - this.numUtilisateur = numUtilisateur; + this.Utilisateur = Utilisateur; this.numCategorie = numCategorie; } @@ -85,12 +85,12 @@ public class Article { this.prixVente = prixVente; } - public int getNumUtilisateur() { - return numUtilisateur; + public UserProfil getUtilisateur() { + return Utilisateur; } - public void setNumUtilisateur(int numUtilisateur) { - this.numUtilisateur = numUtilisateur; + public void setUtilisateur(UserProfil Utilisateur) { + this.Utilisateur = Utilisateur; } public int getNumCategorie() { diff --git a/src/main/java/fr/eni/enchere/dal/ArticleRepositoryImpl.java b/src/main/java/fr/eni/enchere/dal/ArticleRepositoryImpl.java index 1b43747..5bad56c 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.UserService; import fr.eni.enchere.bo.Article; import fr.eni.enchere.bo.SearchArticleCritere; +import fr.eni.enchere.bo.UserProfil; import fr.eni.enchere.controllers.AccueilController; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -23,6 +25,7 @@ public class ArticleRepositoryImpl implements ArticleRepository { private static final Logger logger = LoggerFactory.getLogger(ArticleRepositoryImpl.class); private JdbcTemplate jdbcTemplate; private NamedParameterJdbcTemplate namedJdbcTemplate; + private UserService userService; private class ArticleRowMapper implements RowMapper
{ @Override @@ -35,15 +38,23 @@ public class ArticleRepositoryImpl implements ArticleRepository { article.setDateFinEnch(rs.getDate("date_fin_encheres")); article.setPrixInitial(rs.getFloat("prix_initial")); article.setPrixVente(rs.getFloat("prix_vente")); - article.setNumUtilisateur(rs.getInt("no_utilisateur")); + + UserProfil user = userService.utilisateur(rs.getInt("no_utilisateur")); + if (user != null) { + article.setUtilisateur(user); + } else { + logger.error("erreur de l'utilisateur"); + } + article.setNumCategorie(rs.getInt("no_categorie")); return article; } } - public ArticleRepositoryImpl(JdbcTemplate jdbcTemplate, NamedParameterJdbcTemplate namedJdbcTemplate) { + public ArticleRepositoryImpl(JdbcTemplate jdbcTemplate, NamedParameterJdbcTemplate namedJdbcTemplate, UserService userService) { this.jdbcTemplate = jdbcTemplate; this.namedJdbcTemplate = namedJdbcTemplate; + this.userService = userService; } @Override diff --git a/src/main/java/fr/eni/enchere/dal/UserRepositoryImpl.java b/src/main/java/fr/eni/enchere/dal/UserRepositoryImpl.java index e99582a..0508d19 100644 --- a/src/main/java/fr/eni/enchere/dal/UserRepositoryImpl.java +++ b/src/main/java/fr/eni/enchere/dal/UserRepositoryImpl.java @@ -1,9 +1,12 @@ package fr.eni.enchere.dal; +import fr.eni.enchere.bo.Article; import fr.eni.enchere.bo.UserProfil; +import org.apache.catalina.User; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.Primary; import org.springframework.jdbc.core.JdbcTemplate; +import org.springframework.jdbc.core.RowMapper; import org.springframework.jdbc.core.namedparam.MapSqlParameterSource; import org.springframework.jdbc.core.namedparam.NamedParameterJdbcTemplate; import org.springframework.jdbc.support.GeneratedKeyHolder; @@ -12,6 +15,8 @@ import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder; import org.springframework.security.crypto.password.PasswordEncoder; import org.springframework.stereotype.Repository; +import java.sql.ResultSet; +import java.sql.SQLException; import java.util.HashMap; import java.util.List; import java.util.Map; @@ -31,14 +36,25 @@ public class UserRepositoryImpl implements UserRepository { this.passwordEncoder = passwordEncoder; } - @Override - public List findAll() { - return List.of(); - } + public class UserRowMapper implements RowMapper { - @Override - public UserProfil findById(int id) { - return null; + @Override + public UserProfil mapRow(ResultSet rs, int rowNum) throws SQLException { + UserProfil userProfile = new UserProfil(); + userProfile.setId(rs.getInt("no_utilisateur")); + userProfile.setPrenom(rs.getString("prenom")); + userProfile.setNom(rs.getString("nom")); + userProfile.setPseudo(rs.getString("pseudo")); + userProfile.setEmail(rs.getString("email")); + userProfile.setTelephone(rs.getString("telephone")); + userProfile.setRue(rs.getString("rue")); + userProfile.setCode_postal(rs.getString("code_postal")); + userProfile.setVille(rs.getString("ville")); + userProfile.setPassword(rs.getString("mot_de_passe")); + userProfile.setCredit(rs.getFloat("credit")); + userProfile.setAdmin(rs.getBoolean("administrateur")); + return userProfile; + } } @Override @@ -46,22 +62,20 @@ public class UserRepositoryImpl implements UserRepository { String sql = "SELECT * FROM UTILISATEURS WHERE pseudo = :username OR email = :username AND isDelete = 0"; Map params = new HashMap<>(); params.put("username", username); - UserProfil user = namedParameterJdbcTemplate.queryForObject(sql, params, (rs, rowNum) -> { - UserProfil userProfile = new UserProfil(); - userProfile.setId(rs.getInt("no_utilisateur")); - userProfile.setPrenom(rs.getString("prenom")); - userProfile.setNom(rs.getString("nom")); - userProfile.setPseudo(rs.getString("pseudo")); - userProfile.setEmail(rs.getString("email")); - userProfile.setTelephone(rs.getString("telephone")); - userProfile.setRue(rs.getString("rue")); - userProfile.setCode_postal(rs.getString("code_postal")); - userProfile.setVille(rs.getString("ville")); - userProfile.setPassword(rs.getString("mot_de_passe")); - userProfile.setCredit(rs.getFloat("credit")); - userProfile.setAdmin(rs.getBoolean("administrateur")); - return userProfile; - }); + UserProfil user = jdbcTemplate.queryForObject(sql, new UserRowMapper(), params); + return user; + } + + + @Override + public List findAll() { + return List.of(); + } + + @Override + public UserProfil findById(int id) { + String sql = "SELECT * FROM UTILISATEURS WHERE no_utilisateur = ?"; + UserProfil user = jdbcTemplate.queryForObject(sql, new UserRowMapper(), id); return user; } diff --git a/src/main/resources/templates/accueil.html b/src/main/resources/templates/accueil.html index 7afab32..9f9dd89 100644 --- a/src/main/resources/templates/accueil.html +++ b/src/main/resources/templates/accueil.html @@ -43,9 +43,12 @@
Prix de vente:
-
Fin de l'enchere:
+ +
Vendeur:
+
+
Fin de l'enchere:
diff --git a/src/main/resources/templates/modele-page.html b/src/main/resources/templates/modele-page.html index 8980238..3c815dd 100644 --- a/src/main/resources/templates/modele-page.html +++ b/src/main/resources/templates/modele-page.html @@ -10,7 +10,7 @@