diff --git a/src/main/java/fr/eni/enchere/bll/EnchereService.java b/src/main/java/fr/eni/enchere/bll/EnchereService.java new file mode 100644 index 0000000..c547f18 --- /dev/null +++ b/src/main/java/fr/eni/enchere/bll/EnchereService.java @@ -0,0 +1,12 @@ +package fr.eni.enchere.bll; + +import fr.eni.enchere.bo.Enchere; + +import java.util.List; + +public interface EnchereService { + Enchere enchereByUserAndArticle(int idUser, int idArticle); + List enchereByUser(int idUser); + List enchereByArticle(int idArticle); + void setEnchere(Enchere enchere); +} diff --git a/src/main/java/fr/eni/enchere/bll/EnchereServiceImpl.java b/src/main/java/fr/eni/enchere/bll/EnchereServiceImpl.java new file mode 100644 index 0000000..2146061 --- /dev/null +++ b/src/main/java/fr/eni/enchere/bll/EnchereServiceImpl.java @@ -0,0 +1,35 @@ +package fr.eni.enchere.bll; + +import fr.eni.enchere.bo.Enchere; +import fr.eni.enchere.dal.EnchereRepository; + +import java.util.List; + +public class EnchereServiceImpl implements EnchereService{ + + private EnchereRepository enchereRepository; + + public EnchereServiceImpl(EnchereRepository enchereRepository) { + this.enchereRepository = enchereRepository; + } + + @Override + public Enchere enchereByUserAndArticle(int idUser, int idArticle) { + return enchereRepository.findByIdUserAndIdArticle(idUser, idArticle); + } + + @Override + public List enchereByUser(int idUser) { + return enchereRepository.findByIdUser(idUser); + } + + @Override + public List enchereByArticle(int idArticle) { + return enchereRepository.findByIdArticle(idArticle); + } + + @Override + public void setEnchere(Enchere enchere) { + enchereRepository.save(enchere); + } +} diff --git a/src/main/java/fr/eni/enchere/bll/RetraitServiceImpl.java b/src/main/java/fr/eni/enchere/bll/RetraitServiceImpl.java index d8abd89..7b41b69 100644 --- a/src/main/java/fr/eni/enchere/bll/RetraitServiceImpl.java +++ b/src/main/java/fr/eni/enchere/bll/RetraitServiceImpl.java @@ -1,10 +1,18 @@ package fr.eni.enchere.bll; import fr.eni.enchere.bo.Retrait; +import fr.eni.enchere.dal.RetraitRepository; import org.springframework.stereotype.Service; @Service("RetraitService") public class RetraitServiceImpl implements RetraitService { + + public RetraitRepository retraitRepository; + + public RetraitServiceImpl(RetraitRepository retraitRepository) { + this.retraitRepository = retraitRepository; + } + @Override public Retrait retraitByNumarticle(int id) { return null; @@ -12,6 +20,6 @@ public class RetraitServiceImpl implements RetraitService { @Override public void setRetrait(Retrait retrait) { - + retraitRepository.save(retrait); } } diff --git a/src/main/java/fr/eni/enchere/bo/Enchere.java b/src/main/java/fr/eni/enchere/bo/Enchere.java index 7503fc5..bd38256 100644 --- a/src/main/java/fr/eni/enchere/bo/Enchere.java +++ b/src/main/java/fr/eni/enchere/bo/Enchere.java @@ -1,4 +1,52 @@ package fr.eni.enchere.bo; +import java.util.Date; + public class Enchere { + + private int noUtilisateur; + private int noArticle; + private Date dateEnchere; + private float montantEnchere; + + public Enchere(){} + + public Enchere(int noUtilisateur, int noArticle, Date dateEnchere, float montantEnchere) { + setNoUtilisateur(noUtilisateur); + setNoArticle(noArticle); + setDateEnchere(dateEnchere); + setMontantEnchere(montantEnchere); + } + + public float getMontantEnchere() { + return montantEnchere; + } + + public void setMontantEnchere(float montantEnchere) { + this.montantEnchere = montantEnchere; + } + + public Date getDateEnchere() { + return dateEnchere; + } + + public void setDateEnchere(Date dateEnchere) { + this.dateEnchere = dateEnchere; + } + + public int getNoArticle() { + return noArticle; + } + + public void setNoArticle(int noArticle) { + this.noArticle = noArticle; + } + + public int getNoUtilisateur() { + return noUtilisateur; + } + + public void setNoUtilisateur(int noUtilisateur) { + this.noUtilisateur = noUtilisateur; + } } diff --git a/src/main/java/fr/eni/enchere/controllers/ArticleController.java b/src/main/java/fr/eni/enchere/controllers/ArticleController.java index 9f630ce..1222909 100644 --- a/src/main/java/fr/eni/enchere/controllers/ArticleController.java +++ b/src/main/java/fr/eni/enchere/controllers/ArticleController.java @@ -70,6 +70,11 @@ public class ArticleController { model.addAttribute("categories", categorieService.findAllCategories()); model.addAttribute("article", new Article()); model.addAttribute("retrait", new Retrait()); + //Récupérer l'utilisateur pour set le retrait à son adresse par defaut + Authentication authentication = SecurityContextHolder.getContext().getAuthentication(); + String username = authentication.getName(); + UserProfil userProfile = userService.utilisateurByName(username); + model.addAttribute("user", userProfile); return "newArticle"; } diff --git a/src/main/java/fr/eni/enchere/dal/EnchereRepository.java b/src/main/java/fr/eni/enchere/dal/EnchereRepository.java new file mode 100644 index 0000000..cf57739 --- /dev/null +++ b/src/main/java/fr/eni/enchere/dal/EnchereRepository.java @@ -0,0 +1,12 @@ +package fr.eni.enchere.dal; + +import fr.eni.enchere.bo.Enchere; + +import java.util.List; + +public interface EnchereRepository { + Enchere findByIdUserAndIdArticle(int idUser, int idArticle); + List findByIdUser(int idUser); + List findByIdArticle(int idArticle); + void save(Enchere enchere); +} diff --git a/src/main/java/fr/eni/enchere/dal/EnchereRepositoryImpl.java b/src/main/java/fr/eni/enchere/dal/EnchereRepositoryImpl.java new file mode 100644 index 0000000..c4747b0 --- /dev/null +++ b/src/main/java/fr/eni/enchere/dal/EnchereRepositoryImpl.java @@ -0,0 +1,28 @@ +package fr.eni.enchere.dal; + +import fr.eni.enchere.bo.Enchere; + +import java.util.List; + +public class EnchereRepositoryImpl implements EnchereRepository { + + @Override + public Enchere findByIdUserAndIdArticle(int idUser, int idArticle) { + return null; + } + + @Override + public List findByIdUser(int idUser) { + return List.of(); + } + + @Override + public List findByIdArticle(int idArticle) { + return List.of(); + } + + @Override + public void save(Enchere enchere) { + + } +} diff --git a/src/main/java/fr/eni/enchere/dal/RetraitRepositoryImpl.java b/src/main/java/fr/eni/enchere/dal/RetraitRepositoryImpl.java index 8ff441d..fc0a9e7 100644 --- a/src/main/java/fr/eni/enchere/dal/RetraitRepositoryImpl.java +++ b/src/main/java/fr/eni/enchere/dal/RetraitRepositoryImpl.java @@ -5,6 +5,8 @@ import org.springframework.context.annotation.Primary; 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; @Repository @@ -26,16 +28,23 @@ public class RetraitRepositoryImpl implements RetraitRepository { @Override public void save(Retrait retrait) { - String sql = "SELECT COUNT(*) FROM RETRAITS WHERE no_article = :numArticle"; - MapSqlParameterSource parameters = new MapSqlParameterSource(); - parameters.addValue("numArticle", retrait.getNumArticle()); - int count = namedJdbcTemplate.queryForObject(sql, parameters, Integer.class); + String sqlIsUpdate = "SELECT COUNT(*) FROM RETRAITS WHERE no_article = :numArticle"; + MapSqlParameterSource parametersIsUpdate = new MapSqlParameterSource(); + parametersIsUpdate.addValue("numArticle", retrait.getNumArticle()); + int count = namedJdbcTemplate.queryForObject(sqlIsUpdate, parametersIsUpdate, Integer.class); + System.out.println(count); if (count > 0) { //Mettre à jour les informations } else { //Ajouter le retrait - + String sql = "INSERT INTO RETRAITS (no_article, rue, code_postal, ville) VALUES (:no_article, :rue, :code_postal, :ville)"; + MapSqlParameterSource parameters = new MapSqlParameterSource(); + parameters.addValue("no_article", retrait.getNumArticle()); + parameters.addValue("rue", retrait.getRue()); + parameters.addValue("code_postal", retrait.getCode_postale()); + parameters.addValue("ville", retrait.getVille()); + namedJdbcTemplate.update(sql, parameters); } } } diff --git a/src/main/resources/static/images/articles/22.jpg b/src/main/resources/static/images/articles/22.jpg new file mode 100644 index 0000000..60eb353 Binary files /dev/null and b/src/main/resources/static/images/articles/22.jpg differ diff --git a/src/main/resources/static/images/articles/23.jpg b/src/main/resources/static/images/articles/23.jpg new file mode 100644 index 0000000..60eb353 Binary files /dev/null and b/src/main/resources/static/images/articles/23.jpg differ diff --git a/src/main/resources/static/images/articles/24.jpg b/src/main/resources/static/images/articles/24.jpg new file mode 100644 index 0000000..60eb353 Binary files /dev/null and b/src/main/resources/static/images/articles/24.jpg differ diff --git a/src/main/resources/templates/editProfil.html b/src/main/resources/templates/editProfil.html index 3d2d8e9..d7364ec 100644 --- a/src/main/resources/templates/editProfil.html +++ b/src/main/resources/templates/editProfil.html @@ -13,15 +13,11 @@
- - -
-
    -
  • -
-
+
  • + + +
  • -
    diff --git a/src/main/resources/templates/newArticle.html b/src/main/resources/templates/newArticle.html index 7f1ac4a..575b61f 100644 --- a/src/main/resources/templates/newArticle.html +++ b/src/main/resources/templates/newArticle.html @@ -56,15 +56,15 @@

    Retrait

    - +
    - +
    - +