diff --git a/src/main/java/com/wabestway/recall/repository/OrderRepository.java b/src/main/java/com/wabestway/recall/repository/OrderRepository.java index 45cbe1d..1b25d26 100644 --- a/src/main/java/com/wabestway/recall/repository/OrderRepository.java +++ b/src/main/java/com/wabestway/recall/repository/OrderRepository.java @@ -1,6 +1,10 @@ package com.wabestway.recall.repository; import com.wabestway.recall.model.Order; +import org.springframework.data.domain.Example; +import org.springframework.data.domain.Page; +import org.springframework.data.domain.PageRequest; +import org.springframework.data.domain.Sort; import org.springframework.data.mongodb.repository.ReactiveMongoRepository; import reactor.core.publisher.Mono; diff --git a/src/main/java/com/wabestway/recall/web/OrderController.java b/src/main/java/com/wabestway/recall/web/OrderController.java index e143f5e..798c25e 100644 --- a/src/main/java/com/wabestway/recall/web/OrderController.java +++ b/src/main/java/com/wabestway/recall/web/OrderController.java @@ -5,8 +5,7 @@ import com.wabestway.recall.model.Record; import com.wabestway.recall.model.ResObj; import com.wabestway.recall.repository.OrderRepository; import com.wabestway.recall.repository.RecordRepository; -import org.springframework.data.domain.Example; -import org.springframework.data.domain.Sort; +import org.springframework.data.domain.*; import org.springframework.web.bind.annotation.*; import reactor.core.publisher.Flux; import reactor.core.publisher.Mono; @@ -32,9 +31,15 @@ public class OrderController { @PostMapping("/list") public Flux list(@RequestBody Order order) { - Example ep = Example.of(order); + PageRequest pageRequest = PageRequest.of(0, 1); + ExampleMatcher matcher = ExampleMatcher.matching() + .withIgnoreNullValues().withIgnorePaths("createAt", "last"); + + Example ep = Example.of(order, matcher); Sort s = Sort.by("createAt"); - return orderRepository.findAll(ep, s); +// Mono> listMono = flux.collectList(); +// listMono.subscribe(list -> System.out.println(list)); + return orderRepository.findAll(ep, s).skip(pageRequest.getOffset()).limitRate(pageRequest.getPageSize()); } @PostMapping("/info/{orderId}")