diff --git a/src/main/java/fr/eni/enchere/bll/ArticleService.java b/src/main/java/fr/eni/enchere/bll/ArticleService.java new file mode 100644 index 0000000..b371a1f --- /dev/null +++ b/src/main/java/fr/eni/enchere/bll/ArticleService.java @@ -0,0 +1,14 @@ +package fr.eni.enchere.bll; + +import fr.eni.enchere.bo.Article; + +import java.util.List; + +public interface ArticleService { + + List
findAllArticle(); + Article findArticleById(int id); + void saveArticle(Article article); + void deleteArticle(int id); + void updateArticle(int id); +} diff --git a/src/main/java/fr/eni/enchere/bll/ArticleServiceImpl.java b/src/main/java/fr/eni/enchere/bll/ArticleServiceImpl.java new file mode 100644 index 0000000..3cd5ade --- /dev/null +++ b/src/main/java/fr/eni/enchere/bll/ArticleServiceImpl.java @@ -0,0 +1,41 @@ +package fr.eni.enchere.bll; + +import fr.eni.enchere.bo.Article; +import fr.eni.enchere.dal.ArticleRepository; +import org.springframework.stereotype.Service; + +import java.util.List; + +@Service +public class ArticleServiceImpl implements ArticleService{ + + private ArticleRepository articleRepository; + + public ArticleServiceImpl(ArticleRepository articleRepository) { + this.articleRepository = articleRepository; + } + @Override + public List
findAllArticle() { + return articleRepository.findAllArticle(); + } + + @Override + public Article findArticleById(int id) { + return null; + } + + @Override + public void saveArticle(Article article) { + + } + + @Override + public void deleteArticle(int id) { + + } + + @Override + public void updateArticle(int id) { + + } +} diff --git a/src/main/java/fr/eni/enchere/bll/UserServiceImpl.java b/src/main/java/fr/eni/enchere/bll/UserServiceImpl.java index 86e5772..616014f 100644 --- a/src/main/java/fr/eni/enchere/bll/UserServiceImpl.java +++ b/src/main/java/fr/eni/enchere/bll/UserServiceImpl.java @@ -1,7 +1,7 @@ package fr.eni.enchere.bll; import fr.eni.enchere.bo.User; -import fr.eni.enchere.dall.UserRepository; +import fr.eni.enchere.dal.UserRepository; import org.springframework.stereotype.Service; import java.util.List; diff --git a/src/main/java/fr/eni/enchere/controllers/AccueilController.java b/src/main/java/fr/eni/enchere/controllers/AccueilController.java index 7786bea..8506b87 100644 --- a/src/main/java/fr/eni/enchere/controllers/AccueilController.java +++ b/src/main/java/fr/eni/enchere/controllers/AccueilController.java @@ -1,5 +1,8 @@ package fr.eni.enchere.controllers; +import fr.eni.enchere.bll.ArticleService; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.GetMapping; @@ -8,11 +11,21 @@ import org.springframework.web.bind.annotation.GetMapping; @Controller public class AccueilController { - public AccueilController() { + private static final Logger logger = LoggerFactory.getLogger(AccueilController.class); + + private ArticleService articleService; + + public AccueilController(ArticleService articleService) { + super(); + this.articleService = articleService; } @GetMapping({"/", "/accueil"}) public String viewAccueil(Model model) { + + logger.info("Liste des articles : {}", articleService.findAllArticle().getLast()); + model.addAttribute("articles", articleService.findAllArticle()); + return "accueil"; } diff --git a/src/main/java/fr/eni/enchere/dal/ArticleRepository.java b/src/main/java/fr/eni/enchere/dal/ArticleRepository.java new file mode 100644 index 0000000..4866c62 --- /dev/null +++ b/src/main/java/fr/eni/enchere/dal/ArticleRepository.java @@ -0,0 +1,13 @@ +package fr.eni.enchere.dal; + +import fr.eni.enchere.bo.Article; + +import java.util.List; + +public interface ArticleRepository { + List
findAllArticle(); + Article findArticleById(int id); + void saveArticle(Article article); + void deleteArticle(int id); + void updateArticle(int id); +} diff --git a/src/main/java/fr/eni/enchere/dal/ArticleRepositoryImpl.java b/src/main/java/fr/eni/enchere/dal/ArticleRepositoryImpl.java new file mode 100644 index 0000000..ed52d6f --- /dev/null +++ b/src/main/java/fr/eni/enchere/dal/ArticleRepositoryImpl.java @@ -0,0 +1,73 @@ +package fr.eni.enchere.dal; + +import fr.eni.enchere.bo.Article; +import fr.eni.enchere.controllers.AccueilController; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.context.annotation.Primary; +import org.springframework.jdbc.core.JdbcTemplate; +import org.springframework.jdbc.core.RowMapper; +import org.springframework.jdbc.core.namedparam.NamedParameterJdbcTemplate; +import org.springframework.stereotype.Repository; + +import java.sql.ResultSet; +import java.sql.SQLException; +import java.util.List; + +@Repository +@Primary +public class ArticleRepositoryImpl implements ArticleRepository { + private static final Logger logger = LoggerFactory.getLogger(ArticleRepositoryImpl.class); + private JdbcTemplate jdbcTemplate; + private NamedParameterJdbcTemplate namedJdbcTemplate; + + private class ArticleRowMapper implements RowMapper
{ + @Override + public Article mapRow(ResultSet rs, int rowNum) throws SQLException { + Article article = new Article(); + article.setId(rs.getInt("no_article")); + article.setNom(rs.getString("nom_article")); + article.setDesc(rs.getString("description")); + article.setDateDebutEnch(rs.getDate("date_debut_encheres")); + 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")); + article.setNumCategorie(rs.getInt("no_categorie")); + return article; + } + } + public ArticleRepositoryImpl(JdbcTemplate jdbcTemplate, NamedParameterJdbcTemplate namedJdbcTemplate) { + this.jdbcTemplate = jdbcTemplate; + this.namedJdbcTemplate = namedJdbcTemplate; + } + + + @Override + public List
findAllArticle() { + String sql = "SELECT * FROM ARTICLES_VENDUS"; + List
articles = jdbcTemplate.query(sql, new ArticleRowMapper()); + + return articles; + } + + @Override + public Article findArticleById(int id) { + return null; + } + + @Override + public void saveArticle(Article article) { + + } + + @Override + public void deleteArticle(int id) { + + } + + @Override + public void updateArticle(int id) { + + } +} diff --git a/src/main/java/fr/eni/enchere/dall/UserRepository.java b/src/main/java/fr/eni/enchere/dal/UserRepository.java similarity index 87% rename from src/main/java/fr/eni/enchere/dall/UserRepository.java rename to src/main/java/fr/eni/enchere/dal/UserRepository.java index 9e7f5e4..b26b458 100644 --- a/src/main/java/fr/eni/enchere/dall/UserRepository.java +++ b/src/main/java/fr/eni/enchere/dal/UserRepository.java @@ -1,4 +1,4 @@ -package fr.eni.enchere.dall; +package fr.eni.enchere.dal; import fr.eni.enchere.bo.User; diff --git a/src/main/java/fr/eni/enchere/dall/UserRepositoryImpl.java b/src/main/java/fr/eni/enchere/dal/UserRepositoryImpl.java similarity index 69% rename from src/main/java/fr/eni/enchere/dall/UserRepositoryImpl.java rename to src/main/java/fr/eni/enchere/dal/UserRepositoryImpl.java index e02a96b..0cad87d 100644 --- a/src/main/java/fr/eni/enchere/dall/UserRepositoryImpl.java +++ b/src/main/java/fr/eni/enchere/dal/UserRepositoryImpl.java @@ -1,10 +1,10 @@ -package fr.eni.enchere.dall; +package fr.eni.enchere.dal; import fr.eni.enchere.bo.User; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.jdbc.core.BeanPropertyRowMapper; import org.springframework.jdbc.core.JdbcTemplate; import org.springframework.jdbc.core.namedparam.MapSqlParameterSource; +import org.springframework.jdbc.core.namedparam.NamedParameterJdbcTemplate; import org.springframework.jdbc.support.GeneratedKeyHolder; import org.springframework.jdbc.support.KeyHolder; import org.springframework.stereotype.Repository; @@ -15,10 +15,11 @@ import java.util.List; public class UserRepositoryImpl implements UserRepository { private final JdbcTemplate jdbcTemplate; - + private NamedParameterJdbcTemplate namedParameterJdbcTemplate; @Autowired - public UserRepositoryImpl(JdbcTemplate jdbcTemplate) { + public UserRepositoryImpl(JdbcTemplate jdbcTemplate, NamedParameterJdbcTemplate namedJdbcTemplate) { this.jdbcTemplate = jdbcTemplate; + this.namedParameterJdbcTemplate = namedJdbcTemplate; } @Override @@ -34,12 +35,7 @@ public class UserRepositoryImpl implements UserRepository { @Override public void save(User utilisateur) { if (utilisateur.getId() == 0) { - String sql = "INSERT INTO UTILISATEURS (pseudo, nom, prenom, email, telephone," + - " rue, code_postal, ville, mot_de_passe, credit, administrateur)" + - " values (:pseudo, :nom, :prenom, :email, :telephone," + - " :rue, :code_postal, :ville, :mot_de_passe, 0, false)"; - - KeyHolder keyHolder = new GeneratedKeyHolder(); + String sql = "INSERT INTO UTILISATEURS (pseudo, nom, prenom, email, telephone, rue, code_postal, ville, mot_de_passe, credit, administrateur) VALUES (:pseudo, :nom, :prenom, :email, :telephone, :rue, :code_postal, :ville, :mot_de_passe, 0, false)"; MapSqlParameterSource parameters = new MapSqlParameterSource(); parameters.addValue("pseudo", utilisateur.getPseudo()); parameters.addValue("nom", utilisateur.getNom()); @@ -50,8 +46,12 @@ public class UserRepositoryImpl implements UserRepository { parameters.addValue("code_postal", utilisateur.getCode_postal()); parameters.addValue("ville", utilisateur.getVille()); parameters.addValue("mot_de_passe", utilisateur.getPassword()); - jdbcTemplate.update(sql, parameters, keyHolder, new String[] {"id"}); - utilisateur.setId(keyHolder.getKey().intValue()); + + KeyHolder keyHolder = new GeneratedKeyHolder(); + namedParameterJdbcTemplate.update(sql, parameters, keyHolder, new String[] {"no_utilisateur"}); + if (keyHolder.getKey() != null) { + utilisateur.setId(keyHolder.getKey().intValue()); + } }else { //Mettre à jour } diff --git a/src/main/java/fr/eni/enchere/dall/ArticleRepository.java b/src/main/java/fr/eni/enchere/dall/ArticleRepository.java deleted file mode 100644 index ed319c2..0000000 --- a/src/main/java/fr/eni/enchere/dall/ArticleRepository.java +++ /dev/null @@ -1,13 +0,0 @@ -package fr.eni.enchere.dall; - -import fr.eni.enchere.bo.Article; - -import java.util.List; - -public interface ArticleRepository { - List
findAll(); - Article findById(int id); - void save(Article article); - void delete(int id); - void update(int id); -} diff --git a/src/main/java/fr/eni/enchere/dall/ArticleRepositoryImpl.java b/src/main/java/fr/eni/enchere/dall/ArticleRepositoryImpl.java deleted file mode 100644 index fedca9a..0000000 --- a/src/main/java/fr/eni/enchere/dall/ArticleRepositoryImpl.java +++ /dev/null @@ -1,4 +0,0 @@ -package fr.eni.enchere.dall; - -public class ArticleRepositoryImpl { -} diff --git a/src/main/resources/static/css/style.css b/src/main/resources/static/css/style.css new file mode 100644 index 0000000..d381d1d --- /dev/null +++ b/src/main/resources/static/css/style.css @@ -0,0 +1,5 @@ +.v-center { + display: flex; + align-items: center; + height: 100%; +} \ No newline at end of file diff --git a/src/main/resources/static/images/articles/11.jpg b/src/main/resources/static/images/articles/11.jpg new file mode 100644 index 0000000..e0c9e81 Binary files /dev/null and b/src/main/resources/static/images/articles/11.jpg differ diff --git a/src/main/resources/static/images/articles/12.jpg b/src/main/resources/static/images/articles/12.jpg new file mode 100644 index 0000000..73a0dfb Binary files /dev/null and b/src/main/resources/static/images/articles/12.jpg differ diff --git a/src/main/resources/static/images/articles/13.jpg b/src/main/resources/static/images/articles/13.jpg new file mode 100644 index 0000000..1877e01 Binary files /dev/null and b/src/main/resources/static/images/articles/13.jpg differ diff --git a/src/main/resources/static/images/articles/14.jpg b/src/main/resources/static/images/articles/14.jpg new file mode 100644 index 0000000..9a7b54f Binary files /dev/null and b/src/main/resources/static/images/articles/14.jpg differ diff --git a/src/main/resources/static/images/articles/15.jpg b/src/main/resources/static/images/articles/15.jpg new file mode 100644 index 0000000..850c8e1 Binary files /dev/null and b/src/main/resources/static/images/articles/15.jpg differ diff --git a/src/main/resources/static/images/articles/16.jpg b/src/main/resources/static/images/articles/16.jpg new file mode 100644 index 0000000..ceae02c Binary files /dev/null and b/src/main/resources/static/images/articles/16.jpg differ diff --git a/src/main/resources/static/images/articles/17.jpg b/src/main/resources/static/images/articles/17.jpg new file mode 100644 index 0000000..259c6ba Binary files /dev/null and b/src/main/resources/static/images/articles/17.jpg differ diff --git a/src/main/resources/static/images/articles/18.jpg b/src/main/resources/static/images/articles/18.jpg new file mode 100644 index 0000000..744d455 Binary files /dev/null and b/src/main/resources/static/images/articles/18.jpg differ diff --git a/src/main/resources/static/images/articles/19.jpg b/src/main/resources/static/images/articles/19.jpg new file mode 100644 index 0000000..c286b1d Binary files /dev/null and b/src/main/resources/static/images/articles/19.jpg differ diff --git a/src/main/resources/static/images/articles/20.jpg b/src/main/resources/static/images/articles/20.jpg new file mode 100644 index 0000000..90d841d Binary files /dev/null and b/src/main/resources/static/images/articles/20.jpg differ diff --git a/src/main/resources/templates/accueil.html b/src/main/resources/templates/accueil.html index a3b506e..7edb53d 100644 --- a/src/main/resources/templates/accueil.html +++ b/src/main/resources/templates/accueil.html @@ -7,8 +7,43 @@ -

hello world !

+
+
+
+
+
+ + +
+
+
+
+
+
+
+
+ Image de l'article +
+
+
+
Nom de l'article
+

Description

+
+
+
Prix de vente:
+
Fin de l'enchere:
- +
+
+
+
+
+
+
+
+
+
+ + \ No newline at end of file