AssureurService.java

package com.sintia.ffl.admin.audio.services.services;

import com.sintia.ffl.admin.audio.dal.entities.Assureur;
import com.sintia.ffl.admin.audio.dal.repositories.AssureurRepository;
import com.sintia.ffl.admin.audio.services.mappers.AssureurMapper;
import com.sintia.ffl.adminui.commons.dto.AssureurDTO;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;

import java.util.ArrayList;
import java.util.List;
import java.util.Optional;

@Slf4j
@Service
public class AssureurService {

	private final AssureurRepository assureurRepository;

	private final AssureurMapper assureurMapper;
	
	public AssureurService(AssureurRepository assureurRepository, AssureurMapper assureurMapper) {
		this.assureurRepository = assureurRepository;
		this.assureurMapper = assureurMapper;
	}
	
	public List<AssureurDTO> findAssureursByIdPromoteur(final Integer idpromoteur) {
		
		final List<AssureurDTO> assureursDto = new ArrayList<>();
		assureurRepository.findByPromoteurId(idpromoteur).stream().map(assureurMapper::toDto).forEach(assureursDto::add);
		
		return assureursDto;
		
	}
	
	public Optional<AssureurDTO> saveLogo(Integer idAssureur, byte[] logo ){
		Optional<Assureur> optionalAssureur = assureurRepository.findById(idAssureur);
		if (optionalAssureur.isEmpty())
			return Optional.empty();
		Assureur assureur = optionalAssureur.get();
		assureur.setLogoFile(logo);
		log.info("assureur.getId() = {}",assureur.getId());
		assureur = assureurRepository.save(assureur);

		return Optional.of(assureurMapper.toDto(assureur));
	}
	
	public Optional<AssureurDTO> saveBandeau(Integer idAssureur, byte[] bandeau ){
		Optional<Assureur> optionalAssureur = assureurRepository.findById(idAssureur);
		if (optionalAssureur.isEmpty())
			return Optional.empty();
		Assureur assureur = optionalAssureur.get();
		assureur.setBandeauFile(bandeau);
		assureur = assureurRepository.save(assureur);

		return Optional.of(assureurMapper.toDto(assureur));
	}
	
}