2016-05-30 14 views

答えて

0

あなたがこの情報を取得し、ProductDiscountValueでのinstanceofのチェックを使用できるように製品価格の範囲内の製品の割引を拡大する必要があります。

final ProductProjectionQuery query = ProductProjectionQuery.ofCurrent() 
    //your query predicate 
    .withPredicates(m -> m.id().is(productId)) 
    //asks to expand in every variant the discount information 
    .withExpansionPaths(m -> m.allVariants().prices().discounted().discount()); 
final Optional<ProductProjection> loadedProduct = client().executeBlocking(query).head(); 
assertThat(loadedProduct.isPresent()).isTrue(); 
final ProductProjection productProjection = loadedProduct.get(); 
final List<Price> prices = productProjection.getMasterVariant().getPrices(); 
//here you need to have a look if it is the right price, maybe http://commercetools.github.io/commercetools-jvm-sdk/apidocs/io/sphere/sdk/products/search/ProductVariantFilterSearchModel.html#scopedPrice-- is a better option for you   
final Price price = prices.get(0); 
assertThat(price.getDiscounted()).isNotNull(); 
final ProductDiscount referenceExpandedProductDiscount = price.getDiscounted().getDiscount().getObj(); 
assertThat(referenceExpandedProductDiscount).isNotNull(); 
assertThat(referenceExpandedProductDiscount.getValue() instanceof AbsoluteProductDiscountValue) 
     .as("this is how you check if the discount is absolute") 
     .isTrue(); 
関連する問題