diff --git a/pom.xml b/pom.xml index 82eee68..3a870e1 100644 --- a/pom.xml +++ b/pom.xml @@ -63,17 +63,13 @@ - - org.springframework.boot - spring-boot-maven-plugin - org.apache.maven.plugins maven-compiler-plugin - ${maven-compiler.version} + 3.8.1 - ${java.version} - ${java.version} + 17 + 17 org.projectlombok @@ -97,25 +93,19 @@ org.springframework.boot spring-boot-maven-plugin - - - org.apache.maven.plugins - maven-compiler-plugin - 3.11.0 - ${java.version} - ${java.version} - - - org.mapstruct - mapstruct-processor - 1.6.3 - - + + + org.projectlombok + lombok + ${lombok.version} + + + diff --git a/src/main/java/ru/ip/example/ExampleApplication.java b/src/main/java/ru/ip/example/ExampleApplication.java index d6ab9fa..bce0fcd 100644 --- a/src/main/java/ru/ip/example/ExampleApplication.java +++ b/src/main/java/ru/ip/example/ExampleApplication.java @@ -17,9 +17,6 @@ import ru.ip.example.service.FilmService; import ru.ip.example.service.SeazonService; import ru.ip.example.service.SeriesService; -@ComponentScan(basePackageClasses = {FilmMapper.class, FilmController.class, FilmService.class, FilmRepository.class, - SeazonMapper.class, SeazonRepository.class, SeazonService.class, SeazonController.class, - SeriesMapper.class, SeriesRepository.class, SeriesService.class, SeriesController.class, SwaggerConfig.class}) @SpringBootApplication public class ExampleApplication { diff --git a/src/main/java/ru/ip/example/controller/FilmController.java b/src/main/java/ru/ip/example/controller/FilmController.java index 97dc9e1..d29efd1 100644 --- a/src/main/java/ru/ip/example/controller/FilmController.java +++ b/src/main/java/ru/ip/example/controller/FilmController.java @@ -4,24 +4,22 @@ import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Parameter; import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.tags.Tag; +import lombok.RequiredArgsConstructor; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; +import ru.ip.example.domain.AddSeazonDto; import ru.ip.example.domain.FilmDto; import ru.ip.example.service.FilmService; import java.util.List; @RestController +@RequiredArgsConstructor @Tag(name = "FilmsController") public class FilmController { private final FilmService filmService; - @Autowired - public FilmController(FilmService filmService) { - this.filmService = filmService; - } - @GetMapping("/films") @Operation(description = "Возвращает список всех фильмов") public List getAll() { @@ -51,4 +49,9 @@ public class FilmController { public void deleteById(@PathVariable("id") Integer id) { filmService.deleteById(id); } + + @PutMapping("/films/seazons") + public FilmDto addSeazon(@RequestBody AddSeazonDto addSeazonDto) { + return filmService. + } } diff --git a/src/main/java/ru/ip/example/domain/AddSeazonDto.java b/src/main/java/ru/ip/example/domain/AddSeazonDto.java new file mode 100644 index 0000000..e4b0d74 --- /dev/null +++ b/src/main/java/ru/ip/example/domain/AddSeazonDto.java @@ -0,0 +1,12 @@ +package ru.ip.example.domain; + + +import lombok.Data; + +@Data +public class AddSeazonDto { + + private Integer filmId; + + private Integer seazonId; +} diff --git a/src/main/java/ru/ip/example/domain/entity/FilmEntity.java b/src/main/java/ru/ip/example/domain/entity/FilmEntity.java index 0400d32..ef0fc6c 100644 --- a/src/main/java/ru/ip/example/domain/entity/FilmEntity.java +++ b/src/main/java/ru/ip/example/domain/entity/FilmEntity.java @@ -5,7 +5,6 @@ import lombok.EqualsAndHashCode; import lombok.ToString; import java.util.List; -import java.util.Objects; @Data @EqualsAndHashCode(onlyExplicitlyIncluded = true) diff --git a/src/main/java/ru/ip/example/repository/SeazonRepository.java b/src/main/java/ru/ip/example/repository/SeazonRepository.java index f9892e2..7434a6e 100644 --- a/src/main/java/ru/ip/example/repository/SeazonRepository.java +++ b/src/main/java/ru/ip/example/repository/SeazonRepository.java @@ -8,6 +8,8 @@ import java.util.List; public interface SeazonRepository { + SeazonEntity findById(Integer id); + SeazonEntity save(SeazonEntity entity); void delete(Integer id); diff --git a/src/main/java/ru/ip/example/repository/impl/SeazonRepositoryDao.java b/src/main/java/ru/ip/example/repository/impl/SeazonRepositoryDao.java index 33b23e2..878dc73 100644 --- a/src/main/java/ru/ip/example/repository/impl/SeazonRepositoryDao.java +++ b/src/main/java/ru/ip/example/repository/impl/SeazonRepositoryDao.java @@ -5,6 +5,7 @@ import ru.ip.example.domain.entity.SeazonEntity; import ru.ip.example.domain.entity.SeriesEntity; import ru.ip.example.repository.SeazonRepository; +import java.util.ArrayList; import java.util.List; @Service @@ -12,7 +13,19 @@ public class SeazonRepositoryDao implements SeazonRepository { private static Integer SEAZON_SEQ = 0; - public static List seazons; + public static List seazons = new ArrayList<>(); + + @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) { diff --git a/src/main/java/ru/ip/example/repository/impl/SerialRepositoryDao.java b/src/main/java/ru/ip/example/repository/impl/SerialRepositoryDao.java index 663bc52..05e0ab5 100644 --- a/src/main/java/ru/ip/example/repository/impl/SerialRepositoryDao.java +++ b/src/main/java/ru/ip/example/repository/impl/SerialRepositoryDao.java @@ -4,12 +4,13 @@ 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 series; + public static List series = new ArrayList<>(); private static Integer SERIES_SEQ = 0; diff --git a/src/main/java/ru/ip/example/service/FilmService.java b/src/main/java/ru/ip/example/service/FilmService.java index 934fb56..5556e4f 100644 --- a/src/main/java/ru/ip/example/service/FilmService.java +++ b/src/main/java/ru/ip/example/service/FilmService.java @@ -1,5 +1,6 @@ package ru.ip.example.service; +import ru.ip.example.domain.AddSeazonDto; import ru.ip.example.domain.FilmDto; import java.util.List; @@ -15,4 +16,6 @@ public interface FilmService { FilmDto findFilmById(Integer id); void deleteById(Integer id); + + FilmDto addSeazon(AddSeazonDto addSeazonDto); } diff --git a/src/main/java/ru/ip/example/service/SeazonService.java b/src/main/java/ru/ip/example/service/SeazonService.java index 67d14b5..2a8467b 100644 --- a/src/main/java/ru/ip/example/service/SeazonService.java +++ b/src/main/java/ru/ip/example/service/SeazonService.java @@ -4,6 +4,8 @@ import ru.ip.example.domain.SeazonDto; public interface SeazonService { + SeazonDto findById(Integer id); + SeazonDto save(SeazonDto dto); SeazonDto update(Integer id, SeazonDto dto); diff --git a/src/main/java/ru/ip/example/service/impl/FilmServiceImpl.java b/src/main/java/ru/ip/example/service/impl/FilmServiceImpl.java index 215f573..25440ca 100644 --- a/src/main/java/ru/ip/example/service/impl/FilmServiceImpl.java +++ b/src/main/java/ru/ip/example/service/impl/FilmServiceImpl.java @@ -3,15 +3,20 @@ 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.mapper.FilmMapper; import ru.ip.example.repository.FilmRepository; 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 { @@ -20,6 +25,8 @@ public class FilmServiceImpl implements FilmService { private final FilmMapper filmMapper; + private final SeazonService seazonService; + @Override public FilmDto saveFilm(FilmDto dto) { FilmEntity entity = filmMapper.toEntity(dto); @@ -56,4 +63,11 @@ public class FilmServiceImpl implements FilmService { public void deleteById(Integer id) { filmRepository.deleteById(id); } + + @Override + public FilmDto addSeazon(AddSeazonDto addSeazonDto) { + SeazonDto seazonDto = seazonService.findById(addSeazonDto.getSeazonId()); + + return null; + } } diff --git a/src/main/java/ru/ip/example/service/impl/SeazonServiceImpl.java b/src/main/java/ru/ip/example/service/impl/SeazonServiceImpl.java index 0ffa072..335b863 100644 --- a/src/main/java/ru/ip/example/service/impl/SeazonServiceImpl.java +++ b/src/main/java/ru/ip/example/service/impl/SeazonServiceImpl.java @@ -16,6 +16,14 @@ 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; + } + @Override public SeazonDto save(SeazonDto dto) { SeazonEntity entity = seazonMapper.toEntity(dto);