Merge branch 'Johan'
This commit is contained in:
@@ -10,9 +10,19 @@ 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.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;
|
||||
import org.springframework.util.FileCopyUtils;
|
||||
import org.springframework.util.StringUtils;
|
||||
import org.springframework.web.multipart.MultipartFile;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.nio.file.Files;
|
||||
import java.nio.file.Path;
|
||||
import java.nio.file.Paths;
|
||||
import java.sql.ResultSet;
|
||||
import java.sql.SQLException;
|
||||
import java.util.ArrayList;
|
||||
@@ -22,6 +32,7 @@ import java.util.List;
|
||||
@Primary
|
||||
public class ArticleRepositoryImpl implements ArticleRepository {
|
||||
|
||||
private static final String UPLOAD_DIR = "src/main/resources/static/images/articles";
|
||||
private static final Logger logger = LoggerFactory.getLogger(ArticleRepositoryImpl.class);
|
||||
private JdbcTemplate jdbcTemplate;
|
||||
private NamedParameterJdbcTemplate namedJdbcTemplate;
|
||||
@@ -93,8 +104,48 @@ public class ArticleRepositoryImpl implements ArticleRepository {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void saveArticle(Article article) {
|
||||
public int saveArticle(Article article) {
|
||||
if (article.getId() == 0) {
|
||||
//Nouvel article
|
||||
String sql = "INSERT INTO ARTICLES_VENDUS (nom_article, description, date_debut_encheres, date_fin_encheres, prix_initial, prix_vente, no_utilisateur, no_categorie, isDelete) " +
|
||||
"VALUES (:nom_article, :description, :date_debut_encheres, :date_fin_encheres, :prix_initial, null, :no_utilisateur, :no_categorie, 0)";
|
||||
MapSqlParameterSource parameters = new MapSqlParameterSource();
|
||||
parameters.addValue("nom_article", article.getNom());
|
||||
parameters.addValue("description", article.getDesc());
|
||||
parameters.addValue("date_debut_encheres", article.getDateDebutEnch());
|
||||
parameters.addValue("date_fin_encheres", article.getDateFinEnch());
|
||||
parameters.addValue("prix_initial", article.getPrixInitial());
|
||||
parameters.addValue("no_utilisateur", article.getUtilisateur());
|
||||
parameters.addValue("no_categorie", article.getNumCategorie());
|
||||
KeyHolder keyHolder = new GeneratedKeyHolder();
|
||||
namedJdbcTemplate.update(sql, parameters, keyHolder, new String[] {"no_article"});
|
||||
if (keyHolder.getKey() != null) {
|
||||
article.setId(keyHolder.getKey().intValue());
|
||||
}
|
||||
//Enregistrement du fichier
|
||||
MultipartFile file = article.getPhoto();
|
||||
if (file != null && !file.isEmpty()) {
|
||||
try {
|
||||
// Renommer le fichier avec l'ID de l'article
|
||||
String newFileName = article.getId() + ".jpg";
|
||||
// Chemin du dossier de destination
|
||||
Path uploadPath = Paths.get(UPLOAD_DIR);
|
||||
// Créer le dossier s'il n'existe pas
|
||||
Files.createDirectories(uploadPath);
|
||||
// Chemin complet du fichier de destination
|
||||
Path filePath = uploadPath.resolve(newFileName);
|
||||
// Copier le fichier dans le dossier de destination
|
||||
FileCopyUtils.copy(file.getInputStream(), Files.newOutputStream(filePath));
|
||||
} catch (IOException e) {
|
||||
e.printStackTrace();
|
||||
// Gérer l'erreur
|
||||
}
|
||||
}
|
||||
}else {
|
||||
//Mettre à jour l'article
|
||||
|
||||
}
|
||||
return article.getId();
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
Reference in New Issue
Block a user