ip program test

This commit is contained in:
2025-04-12 14:06:51 +04:00
commit d2eaee9282
15 changed files with 562 additions and 0 deletions

View File

@@ -0,0 +1,18 @@
package ru.ip.example.service;
import ru.ip.example.domain.FilmDto;
import java.util.List;
public interface FilmService {
FilmDto saveFilm(FilmDto dto);
FilmDto updateFilm(Integer id, FilmDto dto);
List<FilmDto> findAllFilms();
FilmDto findFilmById(Integer id);
void deleteById(Integer id);
}

View File

@@ -0,0 +1,62 @@
package ru.ip.example.service;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import ru.ip.example.domain.FilmDto;
import ru.ip.example.domain.FilmEntity;
import ru.ip.example.mapper.FilmMapper;
import ru.ip.example.repository.FilmRepository;
import java.util.ArrayList;
import java.util.List;
@Service
public class FilmServiceImpl implements FilmService {
private final FilmRepository filmRepository;
private final FilmMapper filmMapper;
@Autowired
public FilmServiceImpl(FilmRepository filmRepository, FilmMapper filmMapper) {
this.filmRepository = filmRepository;
this.filmMapper = filmMapper;
}
@Override
public FilmDto saveFilm(FilmDto dto) {
FilmEntity entity = filmMapper.toEntity(dto);
FilmEntity savedFilm = filmRepository.save(entity);
return filmMapper.toDto(savedFilm);
}
@Override
public FilmDto updateFilm(Integer id, FilmDto dto) {
FilmEntity filmEntity = filmMapper.toEntity(dto);
filmEntity.setId(id);
FilmEntity updatedEntity = filmRepository.save(filmEntity);
return filmMapper.toDto(updatedEntity);
}
@Override
public List<FilmDto> findAllFilms() {
List<FilmEntity> filmEntities = filmRepository.findAll();
List<FilmDto> films = new ArrayList<>();
for (FilmEntity entity : filmEntities) {
FilmDto dto = filmMapper.toDto(entity);
films.add(dto);
}
return films;
}
@Override
public FilmDto findFilmById(Integer id) {
FilmEntity film = filmRepository.findById(id);
return filmMapper.toDto(film);
}
@Override
public void deleteById(Integer id) {
filmRepository.deleteById(id);
}
}