diff --git a/src/main/java/fr/eni/enchere/bll/RetraitService.java b/src/main/java/fr/eni/enchere/bll/RetraitService.java new file mode 100644 index 0000000..0015f0c --- /dev/null +++ b/src/main/java/fr/eni/enchere/bll/RetraitService.java @@ -0,0 +1,8 @@ +package fr.eni.enchere.bll; + +import fr.eni.enchere.bo.Retrait; + +public interface RetraitService { + Retrait retraitByNumarticle(int id); + void setRetrait(Retrait retrait); +} diff --git a/src/main/java/fr/eni/enchere/bll/RetraitServiceImpl.java b/src/main/java/fr/eni/enchere/bll/RetraitServiceImpl.java new file mode 100644 index 0000000..d8abd89 --- /dev/null +++ b/src/main/java/fr/eni/enchere/bll/RetraitServiceImpl.java @@ -0,0 +1,17 @@ +package fr.eni.enchere.bll; + +import fr.eni.enchere.bo.Retrait; +import org.springframework.stereotype.Service; + +@Service("RetraitService") +public class RetraitServiceImpl implements RetraitService { + @Override + public Retrait retraitByNumarticle(int id) { + return null; + } + + @Override + public void setRetrait(Retrait retrait) { + + } +} diff --git a/src/main/java/fr/eni/enchere/bo/Article.java b/src/main/java/fr/eni/enchere/bo/Article.java index a9dc8f1..20ffac3 100644 --- a/src/main/java/fr/eni/enchere/bo/Article.java +++ b/src/main/java/fr/eni/enchere/bo/Article.java @@ -7,6 +7,7 @@ public class Article { int id; String nom; String desc; + String photo; Date dateDebutEnch; Date dateFinEnch; float prixInitial; @@ -17,16 +18,17 @@ public class Article { public Article() { } - 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; - this.dateDebutEnch = dateDebutEnch; - this.dateFinEnch = dateFinEnch; - this.prixInitial = prixInitial; - this.prixVente = prixVente; - this.Utilisateur = Utilisateur; - this.numCategorie = numCategorie; + public Article(int id, String nom, String desc, String photo, Date dateDebutEnch, Date dateFinEnch, float prixInitial, float prixVente, UserProfil Utilisateur, int numCategorie) { + setId(id); + setNom(nom); + setDesc(desc); + setPhoto(photo); + setDateDebutEnch(dateDebutEnch); + setDateFinEnch(dateFinEnch); + setPrixInitial(prixInitial); + setPrixVente(prixVente); + setUtilisateur(Utilisateur); + setNumCategorie(numCategorie); } public int getId() { @@ -53,6 +55,14 @@ public class Article { this.desc = desc; } + public String getPhoto() { + return photo; + } + + public void setPhoto(String photo) { + this.photo = photo; + } + public Date getDateDebutEnch() { return dateDebutEnch; } diff --git a/src/main/java/fr/eni/enchere/bo/Retrait.java b/src/main/java/fr/eni/enchere/bo/Retrait.java new file mode 100644 index 0000000..f3f8f89 --- /dev/null +++ b/src/main/java/fr/eni/enchere/bo/Retrait.java @@ -0,0 +1,50 @@ +package fr.eni.enchere.bo; + +public class Retrait { + + private int numArticle; + private String rue; + private String code_postale; + private String ville; + + public Retrait(){} + + public Retrait(int numArticle, String rue, String code_postale, String ville) { + setNumArticle(numArticle); + setRue(rue); + setCode_postale(code_postale); + setVille(ville); + } + + public String getVille() { + return ville; + } + + public void setVille(String ville) { + this.ville = ville; + } + + public String getCode_postale() { + return code_postale; + } + + public void setCode_postale(String code_postale) { + this.code_postale = code_postale; + } + + public String getRue() { + return rue; + } + + public void setRue(String rue) { + this.rue = rue; + } + + public int getNumArticle() { + return numArticle; + } + + public void setNumArticle(int numArticle) { + this.numArticle = numArticle; + } +} diff --git a/src/main/java/fr/eni/enchere/controllers/ArticleController.java b/src/main/java/fr/eni/enchere/controllers/ArticleController.java index 3a27909..81300e5 100644 --- a/src/main/java/fr/eni/enchere/controllers/ArticleController.java +++ b/src/main/java/fr/eni/enchere/controllers/ArticleController.java @@ -2,8 +2,12 @@ package fr.eni.enchere.controllers; import fr.eni.enchere.bll.ArticleService; import fr.eni.enchere.bll.CategorieService; +import fr.eni.enchere.bll.RetraitService; import fr.eni.enchere.bll.UserService; import fr.eni.enchere.bo.Article; +import fr.eni.enchere.bo.Retrait; +import fr.eni.enchere.bo.UserProfil; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.*; @@ -12,14 +16,17 @@ import org.springframework.web.bind.annotation.*; @RequestMapping("/article") public class ArticleController { + @Autowired private final ArticleService articleService; private final UserService userService; private CategorieService categorieService; + private RetraitService retraitService; - public ArticleController(ArticleService articleService, UserService userService, CategorieService categorieService) { + public ArticleController(ArticleService articleService, UserService userService, CategorieService categorieService, RetraitService retraitService) { this.articleService = articleService; this.userService = userService; this.categorieService = categorieService; + this.retraitService = retraitService; } @GetMapping @@ -28,6 +35,7 @@ public class ArticleController { } //Affichage d'un article + @GetMapping("/show") public String showArticle(@RequestParam(name = "slug")int id, Model model) { Article article = articleService.findArticleById(id); @@ -41,25 +49,26 @@ public class ArticleController { return "article"; } + //Création d'un article + @GetMapping("/new") - public String test(Model model) { + public String newArticleForm(Model model) { model.addAttribute("categories", categorieService.findAllCategories()); + model.addAttribute("article", new Article()); + model.addAttribute("retrait", new Retrait()); return "newArticle"; } - @PostMapping("/new/add") - public String newArticle(@ModelAttribute("article") Article article) { - articleService.saveArticle(article); - return "redirect:/accueil"; - } - - @PostMapping("/update") - public String updateArticle() { - return "redirect:/accueil"; - } - - @PostMapping("/delete") - public String deleteArticle() { + @PostMapping("/new") + public String newArticle(@RequestParam("article") Article article, @RequestParam("retrait") Retrait retrait) { + //Récupérer l'utilisateur pour set + System.out.println(article.getNumCategorie()); + if (article.getId() == 0){ + //Création d'un article + } else { + //Mise à jour d'un article + } + //articleService.saveArticle(article); return "redirect:/accueil"; } diff --git a/src/main/java/fr/eni/enchere/dal/ArticleRepositoryImpl.java b/src/main/java/fr/eni/enchere/dal/ArticleRepositoryImpl.java index 0b56224..c75c4fc 100644 --- a/src/main/java/fr/eni/enchere/dal/ArticleRepositoryImpl.java +++ b/src/main/java/fr/eni/enchere/dal/ArticleRepositoryImpl.java @@ -66,7 +66,7 @@ public class ArticleRepositoryImpl implements ArticleRepository { @Override public List
searchArticle(SearchArticleCritere critere) { - StringBuilder sql = new StringBuilder("SELECT * FROM ARTICLES_VENDUS WHERE 1 = 1"); + StringBuilder sql = new StringBuilder("SELECT * FROM ARTICLES_VENDUS WHERE 1 = 1 AND isDelete = 0"); List params = new ArrayList<>(); diff --git a/src/main/java/fr/eni/enchere/dal/RetraitRepository.java b/src/main/java/fr/eni/enchere/dal/RetraitRepository.java new file mode 100644 index 0000000..84f575b --- /dev/null +++ b/src/main/java/fr/eni/enchere/dal/RetraitRepository.java @@ -0,0 +1,8 @@ +package fr.eni.enchere.dal; + +import fr.eni.enchere.bo.Retrait; + +public interface RetraitRepository { + Retrait findById(int id); + void save(Retrait retrait); +} diff --git a/src/main/java/fr/eni/enchere/dal/RetraitRepositoryImpl.java b/src/main/java/fr/eni/enchere/dal/RetraitRepositoryImpl.java new file mode 100644 index 0000000..62b7226 --- /dev/null +++ b/src/main/java/fr/eni/enchere/dal/RetraitRepositoryImpl.java @@ -0,0 +1,20 @@ +package fr.eni.enchere.dal; + +import fr.eni.enchere.bo.Retrait; +import org.springframework.context.annotation.Primary; +import org.springframework.stereotype.Repository; + +@Repository +@Primary +public class RetraitRepositoryImpl implements RetraitRepository { + + @Override + public Retrait findById(int id) { + return null; + } + + @Override + public void save(Retrait retrait) { + + } +} diff --git a/src/main/java/fr/eni/enchere/security/WebSecurityConfig.java b/src/main/java/fr/eni/enchere/security/WebSecurityConfig.java index 6c8b697..0a6bbfd 100644 --- a/src/main/java/fr/eni/enchere/security/WebSecurityConfig.java +++ b/src/main/java/fr/eni/enchere/security/WebSecurityConfig.java @@ -19,7 +19,7 @@ public class WebSecurityConfig{ .requestMatchers("/", "/accueil").permitAll() .requestMatchers("/accueil", "/login", "/inscription/**", "/searchArticle", "/article/**", "/change-language").permitAll() .requestMatchers("/css/**", "/images/**", "/assets/**", "/img/**", "/js/**", "/assets/**").permitAll() - .requestMatchers("/profil/**", "/article/new/**", "/article/update", "/article/delete").authenticated() + .requestMatchers("/profil/**", "/article/new/**").authenticated() .requestMatchers("/admin").hasRole("ADMIN") .anyRequest().authenticated()) .formLogin((form) -> form.loginPage("/login").defaultSuccessUrl("/", true)) diff --git a/src/main/resources/templates/newArticle.html b/src/main/resources/templates/newArticle.html index db1fbf7..2e6e11d 100644 --- a/src/main/resources/templates/newArticle.html +++ b/src/main/resources/templates/newArticle.html @@ -3,81 +3,78 @@ - -
-

Nouvelle vente

-
- -
- - -
- - -
- - -
- - -
- - -
- - -
- - -
- - -
- - -
- - -
- - -
- - -
- - -
- - -

Retrait

-
- - -
-
- - -
-
- - -
- - -
- -
-
-
- -
+ +
+

Nouvelle vente

+
+ +
+ +
- + + +
+ + +
+ + +
+ + +
+ + +
+ + +
+ + +
+ + +
+ + +
+ + +
+ + +
+ + +
+ + +

Retrait

+
+ + +
+
+ + +
+
+ + +
+ + +
+ +
+
+
+ +
+
+