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);