Commit 11f308f3 authored by Khai Yuan ​Liew's avatar Khai Yuan ​Liew

[AFP-60] Start work on bulkSearchSKU endpoint

parent 0f54d0d0
File added
File added
......@@ -11,6 +11,7 @@ import reactor.core.publisher.Flux;
import reactor.core.publisher.Mono;
import java.util.ArrayList;
import java.util.List;
@RestController
@RequestMapping("/api/promos")
......@@ -40,9 +41,8 @@ public class PromotionsController {
}
@PostMapping("/bulkSearch")
public Flux<ResponseEntity<PromotionDto>> bulkSearchPromotionsByItemSku(){
//TODO: bulk search by list of item SKUs
return null;
public ResponseEntity<Flux<PromotionDto>> bulkSearchPromotionsByItemSku(@RequestBody List<String> skus){
return ResponseEntity.ok(promotionService.bulkSearchSKU(skus));
}
@PutMapping("/{promoId}")
......
......@@ -5,6 +5,9 @@ import com.nisum.ascend.promotions.repository.PromotionRepository;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import reactor.core.publisher.Flux;
import reactor.core.scheduler.Schedulers;
import java.util.List;
@Service
public class PromotionService {
......@@ -19,4 +22,19 @@ public class PromotionService {
public Flux<PromotionDto> findPromotionsByProductSku(String sku){
return promotionRepository.findByProductSku(sku).map(PromotionDto::generateDtoFromPromotion);
}
public Flux<PromotionDto> bulkSearchSKU(List<String> skus){
// skus.stream().map(sku -> findPromotionsByProductSku(sku));
// return Flux.fromStream(skus.stream().map(sku -> findPromotionsByProductSku(sku)));
return null;
// return Flux.fromIterable(skus)
// .map(sku -> {
// return findPromotionsByProductSku(sku);
// });
}
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment