db addition
This commit is contained in:
10
pom.xml
10
pom.xml
@@ -35,6 +35,16 @@
|
|||||||
<artifactId>spring-boot-starter-web</artifactId>
|
<artifactId>spring-boot-starter-web</artifactId>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.springframework.boot</groupId>
|
||||||
|
<artifactId>spring-boot-starter-data-jpa</artifactId>
|
||||||
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>com.h2database</groupId>
|
||||||
|
<artifactId>h2</artifactId>
|
||||||
|
<scope>runtime</scope>
|
||||||
|
</dependency>
|
||||||
|
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>org.springdoc</groupId>
|
<groupId>org.springdoc</groupId>
|
||||||
<artifactId>springdoc-openapi-starter-webmvc-ui</artifactId>
|
<artifactId>springdoc-openapi-starter-webmvc-ui</artifactId>
|
||||||
|
|||||||
@@ -1,5 +1,11 @@
|
|||||||
package ru.ip.example.domain.entity;
|
package ru.ip.example.domain.entity;
|
||||||
|
|
||||||
|
import jakarta.persistence.Entity;
|
||||||
|
import jakarta.persistence.GeneratedValue;
|
||||||
|
import jakarta.persistence.Id;
|
||||||
|
import jakarta.persistence.JoinColumn;
|
||||||
|
import jakarta.persistence.OneToMany;
|
||||||
|
import jakarta.persistence.Table;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
import lombok.EqualsAndHashCode;
|
import lombok.EqualsAndHashCode;
|
||||||
import lombok.ToString;
|
import lombok.ToString;
|
||||||
@@ -7,9 +13,13 @@ import lombok.ToString;
|
|||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
@Data
|
@Data
|
||||||
|
@Entity
|
||||||
|
@Table(name = "film")
|
||||||
@EqualsAndHashCode(onlyExplicitlyIncluded = true)
|
@EqualsAndHashCode(onlyExplicitlyIncluded = true)
|
||||||
public class FilmEntity {
|
public class FilmEntity {
|
||||||
|
|
||||||
|
@Id
|
||||||
|
@GeneratedValue
|
||||||
@EqualsAndHashCode.Include
|
@EqualsAndHashCode.Include
|
||||||
private Integer id;
|
private Integer id;
|
||||||
|
|
||||||
@@ -20,5 +30,7 @@ public class FilmEntity {
|
|||||||
private Integer releaseYear;
|
private Integer releaseYear;
|
||||||
|
|
||||||
@ToString.Exclude
|
@ToString.Exclude
|
||||||
|
@OneToMany
|
||||||
|
@JoinColumn(name = "film_id", referencedColumnName = "id")
|
||||||
private List<SeazonEntity> seazons;
|
private List<SeazonEntity> seazons;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,5 +1,11 @@
|
|||||||
package ru.ip.example.domain.entity;
|
package ru.ip.example.domain.entity;
|
||||||
|
|
||||||
|
import jakarta.persistence.Entity;
|
||||||
|
import jakarta.persistence.GeneratedValue;
|
||||||
|
import jakarta.persistence.Id;
|
||||||
|
import jakarta.persistence.JoinColumn;
|
||||||
|
import jakarta.persistence.OneToMany;
|
||||||
|
import jakarta.persistence.Table;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
import lombok.EqualsAndHashCode;
|
import lombok.EqualsAndHashCode;
|
||||||
import lombok.ToString;
|
import lombok.ToString;
|
||||||
@@ -7,14 +13,20 @@ import lombok.ToString;
|
|||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
@Data
|
@Data
|
||||||
|
@Entity
|
||||||
|
@Table(name = "seazon")
|
||||||
@EqualsAndHashCode(onlyExplicitlyIncluded = true)
|
@EqualsAndHashCode(onlyExplicitlyIncluded = true)
|
||||||
public class SeazonEntity {
|
public class SeazonEntity {
|
||||||
|
|
||||||
|
@Id
|
||||||
|
@GeneratedValue
|
||||||
@EqualsAndHashCode.Include
|
@EqualsAndHashCode.Include
|
||||||
private Integer id;
|
private Integer id;
|
||||||
|
|
||||||
private Integer number;
|
private Integer number;
|
||||||
|
|
||||||
@ToString.Exclude
|
@ToString.Exclude
|
||||||
|
@OneToMany
|
||||||
|
@JoinColumn(name = "seazon_id", referencedColumnName = "id")
|
||||||
private List<SeriesEntity> series;
|
private List<SeriesEntity> series;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,14 +1,22 @@
|
|||||||
package ru.ip.example.domain.entity;
|
package ru.ip.example.domain.entity;
|
||||||
|
|
||||||
|
import jakarta.persistence.Entity;
|
||||||
|
import jakarta.persistence.GeneratedValue;
|
||||||
|
import jakarta.persistence.Id;
|
||||||
|
import jakarta.persistence.Table;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
import lombok.EqualsAndHashCode;
|
import lombok.EqualsAndHashCode;
|
||||||
|
|
||||||
import java.util.Objects;
|
import java.util.Objects;
|
||||||
|
|
||||||
@Data
|
@Data
|
||||||
|
@Entity
|
||||||
|
@Table(name = "series")
|
||||||
@EqualsAndHashCode(onlyExplicitlyIncluded = true)
|
@EqualsAndHashCode(onlyExplicitlyIncluded = true)
|
||||||
public class SeriesEntity {
|
public class SeriesEntity {
|
||||||
|
|
||||||
|
@Id
|
||||||
|
@GeneratedValue
|
||||||
@EqualsAndHashCode.Include
|
@EqualsAndHashCode.Include
|
||||||
private Integer id;
|
private Integer id;
|
||||||
|
|
||||||
|
|||||||
@@ -1,12 +1,20 @@
|
|||||||
package ru.ip.example.domain.entity;
|
package ru.ip.example.domain.entity;
|
||||||
|
|
||||||
|
import jakarta.persistence.Entity;
|
||||||
|
import jakarta.persistence.GeneratedValue;
|
||||||
|
import jakarta.persistence.Id;
|
||||||
|
import jakarta.persistence.Table;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
import lombok.EqualsAndHashCode;
|
import lombok.EqualsAndHashCode;
|
||||||
|
|
||||||
@Data
|
@Data
|
||||||
|
@Entity
|
||||||
|
@Table(name = "subscribe")
|
||||||
@EqualsAndHashCode(onlyExplicitlyIncluded = true)
|
@EqualsAndHashCode(onlyExplicitlyIncluded = true)
|
||||||
public class SubscribeEntity {
|
public class SubscribeEntity {
|
||||||
|
|
||||||
|
@Id
|
||||||
|
@GeneratedValue
|
||||||
@EqualsAndHashCode.Include
|
@EqualsAndHashCode.Include
|
||||||
private Integer id;
|
private Integer id;
|
||||||
|
|
||||||
|
|||||||
@@ -1,15 +1,8 @@
|
|||||||
package ru.ip.example.repository;
|
package ru.ip.example.repository;
|
||||||
|
|
||||||
|
import org.springframework.data.repository.CrudRepository;
|
||||||
import ru.ip.example.domain.entity.FilmEntity;
|
import ru.ip.example.domain.entity.FilmEntity;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
public interface FilmRepository {
|
public interface FilmRepository extends CrudRepository<FilmEntity, Integer> {
|
||||||
|
|
||||||
FilmEntity save(FilmEntity entity);
|
|
||||||
|
|
||||||
List<FilmEntity> findAll();
|
|
||||||
|
|
||||||
FilmEntity findById(Integer id);
|
|
||||||
|
|
||||||
void deleteById(Integer id);
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,18 +1,12 @@
|
|||||||
package ru.ip.example.repository;
|
package ru.ip.example.repository;
|
||||||
|
|
||||||
|
import org.springframework.data.repository.CrudRepository;
|
||||||
import ru.ip.example.domain.SeazonDto;
|
import ru.ip.example.domain.SeazonDto;
|
||||||
|
import ru.ip.example.domain.entity.FilmEntity;
|
||||||
import ru.ip.example.domain.entity.SeazonEntity;
|
import ru.ip.example.domain.entity.SeazonEntity;
|
||||||
import ru.ip.example.domain.entity.SeriesEntity;
|
import ru.ip.example.domain.entity.SeriesEntity;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
public interface SeazonRepository {
|
public interface SeazonRepository extends CrudRepository<SeazonEntity, Integer> {
|
||||||
|
|
||||||
List<SeazonEntity> findAll();
|
|
||||||
|
|
||||||
SeazonEntity findById(Integer id);
|
|
||||||
|
|
||||||
SeazonEntity save(SeazonEntity entity);
|
|
||||||
|
|
||||||
void delete(Integer id);
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,16 +1,7 @@
|
|||||||
package ru.ip.example.repository;
|
package ru.ip.example.repository;
|
||||||
|
|
||||||
|
import org.springframework.data.repository.CrudRepository;
|
||||||
import ru.ip.example.domain.entity.SeriesEntity;
|
import ru.ip.example.domain.entity.SeriesEntity;
|
||||||
|
|
||||||
import java.util.List;
|
public interface SeriesRepository extends CrudRepository<SeriesEntity, Integer> {
|
||||||
|
|
||||||
public interface SeriesRepository {
|
|
||||||
|
|
||||||
List<SeriesEntity> findAll();
|
|
||||||
|
|
||||||
SeriesEntity findById(int id);
|
|
||||||
|
|
||||||
SeriesEntity save(SeriesEntity entity);
|
|
||||||
|
|
||||||
void delete(Integer id);
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,16 +1,7 @@
|
|||||||
package ru.ip.example.repository;
|
package ru.ip.example.repository;
|
||||||
|
|
||||||
|
import org.springframework.data.repository.CrudRepository;
|
||||||
import ru.ip.example.domain.entity.SubscribeEntity;
|
import ru.ip.example.domain.entity.SubscribeEntity;
|
||||||
|
|
||||||
import java.util.List;
|
public interface SubscribeRepository extends CrudRepository<SubscribeEntity, Integer> {
|
||||||
|
|
||||||
public interface SubscribeRepository {
|
|
||||||
|
|
||||||
SubscribeEntity save(SubscribeEntity entity);
|
|
||||||
|
|
||||||
List<SubscribeEntity> findAll();
|
|
||||||
|
|
||||||
SubscribeEntity findById(Integer id);
|
|
||||||
|
|
||||||
void deleteById(Integer id);
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,55 +0,0 @@
|
|||||||
package ru.ip.example.repository.impl;
|
|
||||||
|
|
||||||
import org.springframework.stereotype.Service;
|
|
||||||
import ru.ip.example.domain.entity.FilmEntity;
|
|
||||||
import ru.ip.example.repository.FilmRepository;
|
|
||||||
|
|
||||||
import java.util.ArrayList;
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
@Service
|
|
||||||
public class FilmRepositoryDao implements FilmRepository {
|
|
||||||
|
|
||||||
private static Integer idSequence = 0;
|
|
||||||
|
|
||||||
private static List<FilmEntity> films = new ArrayList<>();
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public FilmEntity save(FilmEntity entity) {
|
|
||||||
if (entity.getId() == null) {
|
|
||||||
entity.setSeazons(new ArrayList<>());
|
|
||||||
entity.setId(idSequence++);
|
|
||||||
films.add(entity);
|
|
||||||
} else if (films.contains(entity)) {
|
|
||||||
FilmEntity film = findById(entity.getId());
|
|
||||||
film.setCategory(entity.getCategory());
|
|
||||||
film.setTitle(entity.getTitle());
|
|
||||||
film.setReleaseYear(entity.getReleaseYear());
|
|
||||||
}
|
|
||||||
System.out.println("save/upd film: " + entity);
|
|
||||||
return entity;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public List<FilmEntity> findAll() {
|
|
||||||
return films;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public FilmEntity findById(Integer id) {
|
|
||||||
for (FilmEntity film : films) {
|
|
||||||
if (film.getId().equals(id)) {
|
|
||||||
return film;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
|
|
||||||
//equals реализован только с id, поэтому для remove в entity проставляем только id
|
|
||||||
@Override
|
|
||||||
public void deleteById(Integer id) {
|
|
||||||
FilmEntity filmEntity = new FilmEntity();
|
|
||||||
filmEntity.setId(id);
|
|
||||||
films.remove(filmEntity);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,54 +0,0 @@
|
|||||||
package ru.ip.example.repository.impl;
|
|
||||||
|
|
||||||
import org.springframework.stereotype.Service;
|
|
||||||
import ru.ip.example.domain.entity.SeazonEntity;
|
|
||||||
import ru.ip.example.repository.SeazonRepository;
|
|
||||||
|
|
||||||
import java.util.ArrayList;
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
@Service
|
|
||||||
public class SeazonRepositoryDao implements SeazonRepository {
|
|
||||||
|
|
||||||
private static Integer SEAZON_SEQ = 0;
|
|
||||||
|
|
||||||
public static List<SeazonEntity> seazons = new ArrayList<>();
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public List<SeazonEntity> findAll() {
|
|
||||||
return seazons;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public SeazonEntity findById(Integer id) {
|
|
||||||
SeazonEntity seazonEntity = new SeazonEntity();
|
|
||||||
seazonEntity.setId(id);
|
|
||||||
for (SeazonEntity seazon : seazons) {
|
|
||||||
if (seazon.equals(seazonEntity)) {
|
|
||||||
return seazon;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public SeazonEntity save(SeazonEntity entity) {
|
|
||||||
if (entity.getId() == null) {
|
|
||||||
entity.setSeries(new ArrayList<>());
|
|
||||||
entity.setId(SEAZON_SEQ++);
|
|
||||||
seazons.add(entity);
|
|
||||||
} else if (seazons.contains(entity)) {
|
|
||||||
SeazonEntity seazon = findById(entity.getId());
|
|
||||||
seazon.setNumber(entity.getNumber());
|
|
||||||
}
|
|
||||||
System.out.println("save/upd seazon: " + entity);
|
|
||||||
return entity;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void delete(Integer id) {
|
|
||||||
SeazonEntity seazon = new SeazonEntity();
|
|
||||||
seazon.setId(id);
|
|
||||||
seazons.remove(seazon);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,54 +0,0 @@
|
|||||||
package ru.ip.example.repository.impl;
|
|
||||||
|
|
||||||
import org.springframework.stereotype.Service;
|
|
||||||
import ru.ip.example.domain.entity.SeriesEntity;
|
|
||||||
import ru.ip.example.repository.SeriesRepository;
|
|
||||||
|
|
||||||
import java.util.ArrayList;
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
@Service
|
|
||||||
public class SerialRepositoryDao implements SeriesRepository {
|
|
||||||
|
|
||||||
public static List<SeriesEntity> series = new ArrayList<>();
|
|
||||||
|
|
||||||
private static Integer SERIES_SEQ = 0;
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public List<SeriesEntity> findAll() {
|
|
||||||
return series;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public SeriesEntity findById(int id) {
|
|
||||||
SeriesEntity seriesEntity = new SeriesEntity();
|
|
||||||
seriesEntity.setId(id);
|
|
||||||
for (SeriesEntity ser : series) {
|
|
||||||
if (ser.equals(seriesEntity)) {
|
|
||||||
return ser;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public SeriesEntity save(SeriesEntity entity) {
|
|
||||||
if (entity.getId() == null) {
|
|
||||||
entity.setId(SERIES_SEQ++);
|
|
||||||
series.add(entity);
|
|
||||||
} else if (series.contains(entity)) {
|
|
||||||
SeriesEntity series1 = findById(entity.getId());
|
|
||||||
series1.setName(entity.getName());
|
|
||||||
series1.setNumber(entity.getNumber());
|
|
||||||
}
|
|
||||||
System.out.println("save/upd series: " + entity);
|
|
||||||
return entity;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void delete(Integer id) {
|
|
||||||
SeriesEntity seriesEntity = new SeriesEntity();
|
|
||||||
seriesEntity.setId(id);
|
|
||||||
series.remove(seriesEntity);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,53 +0,0 @@
|
|||||||
package ru.ip.example.repository.impl;
|
|
||||||
|
|
||||||
import org.springframework.stereotype.Service;
|
|
||||||
import ru.ip.example.domain.entity.SubscribeEntity;
|
|
||||||
import ru.ip.example.repository.SubscribeRepository;
|
|
||||||
|
|
||||||
import java.util.ArrayList;
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
@Service
|
|
||||||
public class SubscribeRepositoryDao implements SubscribeRepository {
|
|
||||||
|
|
||||||
private static Integer idSequence = 0;
|
|
||||||
|
|
||||||
private static List<SubscribeEntity> subscribes = new ArrayList<>();
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public SubscribeEntity save(SubscribeEntity entity) {
|
|
||||||
if (entity.getId() == null) {
|
|
||||||
entity.setId(idSequence++);
|
|
||||||
subscribes.add(entity);
|
|
||||||
} else if (subscribes.contains(entity)) {
|
|
||||||
SubscribeEntity film = findById(entity.getId());
|
|
||||||
film.setName(entity.getName());
|
|
||||||
film.setSum(entity.getSum());
|
|
||||||
}
|
|
||||||
System.out.println("save/upd film: " + entity);
|
|
||||||
return entity;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public List<SubscribeEntity> findAll() {
|
|
||||||
return subscribes;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public SubscribeEntity findById(Integer id) {
|
|
||||||
for (SubscribeEntity sub : subscribes) {
|
|
||||||
if (sub.getId().equals(id)) {
|
|
||||||
return sub;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
|
|
||||||
//equals реализован только с id, поэтому для remove в entity проставляем только id
|
|
||||||
@Override
|
|
||||||
public void deleteById(Integer id) {
|
|
||||||
SubscribeEntity SubscribeEntity = new SubscribeEntity();
|
|
||||||
SubscribeEntity.setId(id);
|
|
||||||
subscribes.remove(SubscribeEntity);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -6,6 +6,7 @@ import ru.ip.example.domain.AddSeazonDto;
|
|||||||
import ru.ip.example.domain.FilmDto;
|
import ru.ip.example.domain.FilmDto;
|
||||||
import ru.ip.example.domain.entity.FilmEntity;
|
import ru.ip.example.domain.entity.FilmEntity;
|
||||||
import ru.ip.example.domain.entity.SeazonEntity;
|
import ru.ip.example.domain.entity.SeazonEntity;
|
||||||
|
import ru.ip.example.domain.entity.SeriesEntity;
|
||||||
import ru.ip.example.mapper.FilmMapper;
|
import ru.ip.example.mapper.FilmMapper;
|
||||||
import ru.ip.example.repository.FilmRepository;
|
import ru.ip.example.repository.FilmRepository;
|
||||||
import ru.ip.example.repository.SeazonRepository;
|
import ru.ip.example.repository.SeazonRepository;
|
||||||
@@ -41,7 +42,7 @@ public class FilmServiceImpl implements FilmService {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<FilmDto> findAllFilms() {
|
public List<FilmDto> findAllFilms() {
|
||||||
List<FilmEntity> filmEntities = filmRepository.findAll();
|
Iterable<FilmEntity> filmEntities = filmRepository.findAll();
|
||||||
List<FilmDto> films = new ArrayList<>();
|
List<FilmDto> films = new ArrayList<>();
|
||||||
for (FilmEntity entity : filmEntities) {
|
for (FilmEntity entity : filmEntities) {
|
||||||
FilmDto dto = filmMapper.toDto(entity);
|
FilmDto dto = filmMapper.toDto(entity);
|
||||||
@@ -52,7 +53,7 @@ public class FilmServiceImpl implements FilmService {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public FilmDto findFilmById(Integer id) {
|
public FilmDto findFilmById(Integer id) {
|
||||||
FilmEntity film = filmRepository.findById(id);
|
FilmEntity film = filmRepository.findById(id).orElseThrow();
|
||||||
return filmMapper.toDto(film);
|
return filmMapper.toDto(film);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -63,12 +64,14 @@ public class FilmServiceImpl implements FilmService {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public FilmDto addSeazon(AddSeazonDto addSeazonDto) {
|
public FilmDto addSeazon(AddSeazonDto addSeazonDto) {
|
||||||
SeazonEntity seazonEntity = seazonRepository.findById(addSeazonDto.getSeazonId());
|
var film = filmRepository.findById(addSeazonDto.getFilmId());
|
||||||
FilmEntity film = filmRepository.findById(addSeazonDto.getFilmId());
|
var seazon = seazonRepository.findById(addSeazonDto.getSeazonId());
|
||||||
|
|
||||||
if (seazonEntity != null && film != null && !film.getSeazons().contains(seazonEntity)) {
|
if (film.isPresent() && seazon.isPresent() && !seazon.get().getSeries().contains(film.get())) {
|
||||||
film.getSeazons().add(seazonEntity);
|
film.get().getSeazons().add(seazon.get());
|
||||||
|
FilmEntity save = filmRepository.save(film.get());
|
||||||
|
return filmMapper.toDto(save);
|
||||||
}
|
}
|
||||||
return filmMapper.toDto(film);
|
return filmMapper.toDto(film.get());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -13,6 +13,7 @@ import ru.ip.example.service.SeazonService;
|
|||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.Optional;
|
||||||
|
|
||||||
@Service
|
@Service
|
||||||
@RequiredArgsConstructor
|
@RequiredArgsConstructor
|
||||||
@@ -26,7 +27,7 @@ public class SeazonServiceImpl implements SeazonService {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<SeazonDto> findAll() {
|
public List<SeazonDto> findAll() {
|
||||||
List<SeazonEntity> seazons = seazonRepository.findAll();
|
Iterable<SeazonEntity> seazons = seazonRepository.findAll();
|
||||||
List<SeazonDto> seazonDtos = new ArrayList<>();
|
List<SeazonDto> seazonDtos = new ArrayList<>();
|
||||||
for(SeazonEntity seazon : seazons) {
|
for(SeazonEntity seazon : seazons) {
|
||||||
seazonDtos.add(seazonMapper.toDto(seazon));
|
seazonDtos.add(seazonMapper.toDto(seazon));
|
||||||
@@ -36,7 +37,7 @@ public class SeazonServiceImpl implements SeazonService {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public SeazonDto findById(Integer id) {
|
public SeazonDto findById(Integer id) {
|
||||||
SeazonEntity seazon = seazonRepository.findById(id);
|
SeazonEntity seazon = seazonRepository.findById(id).orElseThrow();
|
||||||
return seazonMapper.toDto(seazon);
|
return seazonMapper.toDto(seazon);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -57,17 +58,21 @@ public class SeazonServiceImpl implements SeazonService {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void delete(Integer id) {
|
public void delete(Integer id) {
|
||||||
seazonRepository.delete(id);
|
Optional<SeazonEntity> seazon = seazonRepository.findById(id);
|
||||||
|
seazon.ifPresent(seazonRepository::delete);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public SeazonDto addSeries(AddSeriesDto dto) {
|
public SeazonDto addSeries(AddSeriesDto dto) {
|
||||||
SeriesEntity series = seriesRepository.findById(dto.getSeriesId());
|
var series = seriesRepository.findById(dto.getSeriesId());
|
||||||
SeazonEntity seazon = seazonRepository.findById(dto.getSeazonId());
|
var seazon = seazonRepository.findById(dto.getSeazonId());
|
||||||
|
|
||||||
if (series != null && seazon != null && !seazon.getSeries().contains(series)) {
|
if (series.isPresent() && seazon.isPresent() && !seazon.get().getSeries().contains(series.get())) {
|
||||||
seazon.getSeries().add(series);
|
|
||||||
|
seazon.get().getSeries().add(series.get());
|
||||||
|
SeazonEntity seazonEntity = seazonRepository.save(seazon.get());
|
||||||
|
return seazonMapper.toDto(seazonEntity);
|
||||||
}
|
}
|
||||||
return seazonMapper.toDto(seazon);
|
return seazonMapper.toDto(seazon.get());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -23,7 +23,7 @@ public class SeriesServiceImpl implements SeriesService {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<SeriesDto> findAll() {
|
public List<SeriesDto> findAll() {
|
||||||
List<SeriesEntity> series = seriesRepository.findAll();
|
Iterable<SeriesEntity> series = seriesRepository.findAll();
|
||||||
List<SeriesDto> seriesDtos = new ArrayList<>();
|
List<SeriesDto> seriesDtos = new ArrayList<>();
|
||||||
for(SeriesEntity seazon : series) {
|
for(SeriesEntity seazon : series) {
|
||||||
seriesDtos.add(seriesMapper.toDto(seazon));
|
seriesDtos.add(seriesMapper.toDto(seazon));
|
||||||
@@ -33,7 +33,7 @@ public class SeriesServiceImpl implements SeriesService {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public SeriesDto findById(Integer id) {
|
public SeriesDto findById(Integer id) {
|
||||||
SeriesEntity series = seriesRepository.findById(id);
|
SeriesEntity series = seriesRepository.findById(id).orElseThrow();
|
||||||
return seriesMapper.toDto(series);
|
return seriesMapper.toDto(series);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -54,6 +54,7 @@ public class SeriesServiceImpl implements SeriesService {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void delete(Integer id) {
|
public void delete(Integer id) {
|
||||||
seriesRepository.delete(id);
|
seriesRepository.findById(id)
|
||||||
|
.ifPresent(seriesRepository::delete);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -36,7 +36,7 @@ public class SubscribeServiceImpl implements SubscribeService {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<SubscribeDto> findAllSubscribes() {
|
public List<SubscribeDto> findAllSubscribes() {
|
||||||
List<SubscribeEntity> subscribeEntities = subscribeRepository.findAll();
|
Iterable<SubscribeEntity> subscribeEntities = subscribeRepository.findAll();
|
||||||
List<SubscribeDto> subscribes = new ArrayList<>();
|
List<SubscribeDto> subscribes = new ArrayList<>();
|
||||||
for (SubscribeEntity entity : subscribeEntities) {
|
for (SubscribeEntity entity : subscribeEntities) {
|
||||||
SubscribeDto dto = subscribeMapper.toDto(entity);
|
SubscribeDto dto = subscribeMapper.toDto(entity);
|
||||||
@@ -47,7 +47,7 @@ public class SubscribeServiceImpl implements SubscribeService {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public SubscribeDto findSubscribeById(Integer id) {
|
public SubscribeDto findSubscribeById(Integer id) {
|
||||||
SubscribeEntity subscribe = subscribeRepository.findById(id);
|
SubscribeEntity subscribe = subscribeRepository.findById(id).orElseThrow();
|
||||||
return subscribeMapper.toDto(subscribe);
|
return subscribeMapper.toDto(subscribe);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1 +1,7 @@
|
|||||||
spring.application.name=example
|
spring.application.name=example
|
||||||
|
spring.datasource.url=jdbc:h2:mem:testdb
|
||||||
|
spring.datasource.driverClassName=org.h2.Driver
|
||||||
|
spring.datasource.username=sa
|
||||||
|
spring.datasource.password=password
|
||||||
|
spring.jpa.database-platform=org.hibernate.dialect.H2Dialect
|
||||||
|
spring.h2.console.enabled=true
|
||||||
|
|||||||
Reference in New Issue
Block a user