ip project fixes/additions

This commit is contained in:
2025-04-19 01:24:40 +04:00
parent 5ddf0f0cb6
commit c9ac856c6f
26 changed files with 371 additions and 50 deletions

View File

@@ -1,14 +1,15 @@
package ru.ip.example.service;
import ru.ip.example.domain.AddSeriesDto;
import ru.ip.example.domain.SeazonDto;
public interface SeazonService {
SeazonDto findById(Integer id);
SeazonDto save(SeazonDto dto);
SeazonDto update(Integer id, SeazonDto dto);
void delete(Integer id);
SeazonDto addSeries(AddSeriesDto dto);
}

View File

@@ -0,0 +1,18 @@
package ru.ip.example.service;
import ru.ip.example.domain.SubscribeDto;
import java.util.List;
public interface SubscribeService {
SubscribeDto saveSubscribe(SubscribeDto dto);
SubscribeDto updateSubscribe(Integer id, SubscribeDto dto);
List<SubscribeDto> findAllSubscribes();
SubscribeDto findSubscribeById(Integer id);
void deleteById(Integer id);
}

View File

@@ -1,22 +1,19 @@
package ru.ip.example.service.impl;
import lombok.RequiredArgsConstructor;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import ru.ip.example.domain.AddSeazonDto;
import ru.ip.example.domain.FilmDto;
import ru.ip.example.domain.SeazonDto;
import ru.ip.example.domain.entity.FilmEntity;
import ru.ip.example.domain.entity.SeazonEntity;
import ru.ip.example.mapper.FilmMapper;
import ru.ip.example.repository.FilmRepository;
import ru.ip.example.repository.SeazonRepository;
import ru.ip.example.service.FilmService;
import ru.ip.example.service.SeazonService;
import java.util.ArrayList;
import java.util.List;
import static ru.ip.example.repository.impl.SeazonRepositoryDao.seazons;
@Service
@RequiredArgsConstructor
public class FilmServiceImpl implements FilmService {
@@ -25,7 +22,7 @@ public class FilmServiceImpl implements FilmService {
private final FilmMapper filmMapper;
private final SeazonService seazonService;
private final SeazonRepository seazonRepository;
@Override
public FilmDto saveFilm(FilmDto dto) {
@@ -66,8 +63,13 @@ public class FilmServiceImpl implements FilmService {
@Override
public FilmDto addSeazon(AddSeazonDto addSeazonDto) {
SeazonDto seazonDto = seazonService.findById(addSeazonDto.getSeazonId());
SeazonEntity seazonEntity = seazonRepository.findById(addSeazonDto.getSeazonId());
FilmEntity film = filmRepository.findById(addSeazonDto.getFilmId());
List<SeazonEntity> seasons = film.getSeazons();
return null;
if (!seasons.contains(seazonEntity)) {
seasons.add(seazonEntity);
}
return filmMapper.toDto(film);
}
}

View File

@@ -2,10 +2,13 @@ package ru.ip.example.service.impl;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;
import ru.ip.example.domain.AddSeriesDto;
import ru.ip.example.domain.SeazonDto;
import ru.ip.example.domain.entity.SeazonEntity;
import ru.ip.example.domain.entity.SeriesEntity;
import ru.ip.example.mapper.SeazonMapper;
import ru.ip.example.repository.SeazonRepository;
import ru.ip.example.repository.SeriesRepository;
import ru.ip.example.service.SeazonService;
@Service
@@ -16,13 +19,7 @@ public class SeazonServiceImpl implements SeazonService {
private final SeazonMapper seazonMapper;
@Override
public SeazonDto findById(Integer id) {
SeazonEntity seazon = new SeazonEntity();
seazon.setId(id);
s
return null;
}
private final SeriesRepository seriesRepository;
@Override
public SeazonDto save(SeazonDto dto) {
@@ -43,4 +40,15 @@ public class SeazonServiceImpl implements SeazonService {
public void delete(Integer id) {
seazonRepository.delete(id);
}
@Override
public SeazonDto addSeries(AddSeriesDto dto) {
SeriesEntity series = seriesRepository.findById(dto.getSeriesId());
SeazonEntity seazon = seazonRepository.findById(dto.getSeazonId());
if (!seazon.getSeries().contains(series)) {
seazon.getSeries().add(series);
}
return seazonMapper.toDto(seazon);
}
}

View File

@@ -0,0 +1,58 @@
package ru.ip.example.service.impl;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;
import ru.ip.example.domain.SubscribeDto;
import ru.ip.example.domain.entity.SubscribeEntity;
import ru.ip.example.mapper.SubscribeMapper;
import ru.ip.example.repository.SubscribeRepository;
import ru.ip.example.service.SubscribeService;
import java.util.ArrayList;
import java.util.List;
@Service
@RequiredArgsConstructor
public class SubscribeServiceImpl implements SubscribeService {
private final SubscribeRepository subscribeRepository;
private final SubscribeMapper subscribeMapper;
@Override
public SubscribeDto saveSubscribe(SubscribeDto dto) {
SubscribeEntity entity = subscribeMapper.toEntity(dto);
SubscribeEntity savedSubscribe = subscribeRepository.save(entity);
return subscribeMapper.toDto(savedSubscribe);
}
@Override
public SubscribeDto updateSubscribe(Integer id, SubscribeDto dto) {
SubscribeEntity subscribeEntity = subscribeMapper.toEntity(dto);
subscribeEntity.setId(id);
SubscribeEntity updatedEntity = subscribeRepository.save(subscribeEntity);
return subscribeMapper.toDto(updatedEntity);
}
@Override
public List<SubscribeDto> findAllSubscribes() {
List<SubscribeEntity> subscribeEntities = subscribeRepository.findAll();
List<SubscribeDto> subscribes = new ArrayList<>();
for (SubscribeEntity entity : subscribeEntities) {
SubscribeDto dto = subscribeMapper.toDto(entity);
subscribes.add(dto);
}
return subscribes;
}
@Override
public SubscribeDto findSubscribeById(Integer id) {
SubscribeEntity subscribe = subscribeRepository.findById(id);
return subscribeMapper.toDto(subscribe);
}
@Override
public void deleteById(Integer id) {
subscribeRepository.deleteById(id);
}
}