This commit is contained in:
jleroy2023
2025-07-16 12:01:37 +02:00
8 changed files with 155 additions and 143 deletions

View File

@@ -2,9 +2,14 @@ package fr.eni.demo.bll;
import fr.eni.demo.bo.Adresse;
import java.util.List;
public interface AdresseService {
Adresse add(Adresse adresse);
Adresse findById(Long id);
List<Adresse> findAll();
Adresse update(Long id, Adresse adresse);
void delete(Long id);
Adresse findAdresseByClientId(Long clientId);
}

View File

@@ -4,22 +4,56 @@ import fr.eni.demo.bo.Adresse;
import fr.eni.demo.bo.Client;
import fr.eni.demo.dal.AdresseRepository;
import jakarta.persistence.EntityNotFoundException;
import org.springframework.beans.factory.annotation.Autowired;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;
import java.util.List;
@Service
public class AdresseServiceImpl implements AdresseService{
@RequiredArgsConstructor
public class AdresseServiceImpl implements AdresseService {
private AdresseRepository adresseRepo;
@Autowired
private ClientService clientService;
public AdresseServiceImpl(AdresseRepository adresseRepo) {
this.adresseRepo = adresseRepo;
}
private final AdresseRepository adresseRepo;
private final ClientService clientService;
@Override
public Adresse add(Adresse adresse) {
validateAdresse(adresse);
return adresseRepo.save(adresse);
}
@Override
public Adresse findById(Long id) {
return adresseRepo.findById(id)
.orElseThrow(() -> new EntityNotFoundException("Adresse non trouvée"));
}
@Override
public List<Adresse> findAll() {
return adresseRepo.findAll();
}
@Override
public Adresse update(Long id, Adresse updatedAdresse) {
Adresse existing = findById(id);
updatedAdresse.setId(existing.getId()); // conserve l'id existant
validateAdresse(updatedAdresse);
return adresseRepo.save(updatedAdresse);
}
@Override
public void delete(Long id) {
Adresse adresse = findById(id);
adresseRepo.delete(adresse);
}
@Override
public Adresse findAdresseByClientId(Long clientId) {
Client client = clientService.findById(clientId);
return client.getAdresse();
}
private void validateAdresse(Adresse adresse) {
if (adresse == null) {
throw new IllegalArgumentException("Adresse is null");
}
@@ -32,24 +66,5 @@ public class AdresseServiceImpl implements AdresseService{
if (adresse.getVille() == null || adresse.getVille().isBlank()) {
throw new IllegalArgumentException("Ville is null or empty");
}
adresseRepo.save(adresse);
return adresse;
}
@Override
public Adresse findAdresseByClientId(Long clientId) {
if (clientId == null) {
throw new IllegalArgumentException("clientId is null");
}
System.out.println(clientId);
Client client = clientService.findById(clientId);
System.out.println(client);
return client.getAdresse();
}
@Override
public Adresse findById(Long id) {
return adresseRepo.findById(id)
.orElseThrow(() -> new EntityNotFoundException("Adresse non trouvée"));
}
}