1
1
package eom.improve.kafkaboot.service
2
2
3
3
import eom.improve.kafkaboot.model.FilmEntity
4
+ import eom.improve.kafkaboot.model.InventoryEntity
5
+ import eom.improve.kafkaboot.model.RentalEntity
4
6
import eom.improve.kafkaboot.repository.*
7
+ import org.springframework.data.domain.Pageable
5
8
import org.springframework.stereotype.Service
6
9
import reactor.core.publisher.Flux
7
10
import reactor.core.publisher.Mono
@@ -17,6 +20,9 @@ class FilmService(
17
20
private val filmActorRepository : FilmActorRepository ,
18
21
private val filmCategoryRepository : FilmCategoryRepository
19
22
) {
23
+
24
+ fun findAllByPageable (pageable : Pageable ) : Flux <FilmEntity > = filmRepository.findAllBy(pageable)
25
+
20
26
fun findAll () : Flux <FilmEntity > = filmRepository.findAllBy()
21
27
22
28
fun updateFilm (updatedFilm : FilmEntity ) : Mono <FilmEntity > {
@@ -34,31 +40,31 @@ class FilmService(
34
40
return filmRepository.findById(filmId)
35
41
.switchIfEmpty(RuntimeException (" Not registered film" ).toMono())
36
42
.flatMap { filmEn ->
37
- inventoryRepository.findAllByFilmId(filmEn.filmId)
38
- .flatMap { inventoryEn ->
39
- rentalRepository.findAllByInventoryId(inventoryEn.inventoryId)
40
- .flatMap { rentalEn ->
41
- paymentRepository.findAllByRentalId(rentalEn.rentalId)
42
- .flatMap { paymentEn ->
43
- paymentRepository.deleteByPaymentId(paymentEn.paymentId)
44
- }
45
- .then(rentalEn.toMono())
46
- }
47
- .flatMap { rentalEn ->
43
+ inventoryRepository.findAllByFilmId(filmEn.filmId)
44
+ .flatMap { inventoryEn ->
45
+ rentalRepository.findAllByInventoryId(inventoryEn.inventoryId)
46
+ .flatMap { rentalEn ->
47
+ paymentRepository.findAllByRentalId(rentalEn.rentalId)
48
+ .flatMap { paymentEn ->
49
+ paymentRepository.deleteByPaymentId(paymentEn.paymentId)
50
+ }
51
+ .then(rentalEn.toMono())
52
+ }
53
+ .flatMap { rentalEn ->
48
54
rentalRepository.deleteByRentalId(rentalEn.rentalId)
49
- }.then(inventoryEn.toMono())
50
- }
51
- .flatMap { inventoryEn ->
52
- inventoryRepository.deleteByInventoryId(inventoryEn.inventoryId)
53
- }
54
- .then(filmEn.toMono())
55
+ }.then(inventoryEn.toMono())
56
+ }
57
+ .flatMap { inventoryEn ->
58
+ inventoryRepository.deleteByInventoryId(inventoryEn.inventoryId)
59
+ }
60
+ .then(filmEn.toMono())
55
61
}
56
62
.flatMap { filmEn ->
57
63
Mono .zip(
58
64
filmActorRepository.findAllByFilmId(filmEn.filmId)
59
65
.flatMap { filmActorRepository.deleteByFilmId(it.filmId) }
60
66
.then()
61
- ,
67
+ ,
62
68
filmCategoryRepository.findAllByFilmId(filmEn.filmId)
63
69
.flatMap { filmCategoryRepository.deleteByFilmId(it.filmId) }
64
70
.then()
0 commit comments