in online_bontique_demo/frontend/src/main/java/org/apache/dubbo/shop/frontend/FrontendController.java [168:188]
public String product(@PathVariable String id, Model model) throws ExecutionException, InterruptedException {
Product product = productCatalogService.getProduct(new GetProductRequest(id));
model.addAttribute("is_cymbal_brand", false);
model.addAttribute("show_currency", false);
model.addAttribute("product",product);
ListRecommendationsResponse recommendations = recommendationService.listRecommendations(new ListRecommendationsRequest("1", List.of(product.getId())));
List<Product> products = new ArrayList<>();
for(String productId : recommendations.getProductIds()){
products.add(productCatalogService.getProduct(new GetProductRequest(productId)));
}
AdRequest adRequest = new AdRequest(List.of(id));
AdResponse ads = adsService.getAds(adRequest);
model.addAttribute("recommendations",products);
model.addAttribute("ad", ads.getAds().get(0));
model.addAttribute("cart_size",totalQuantity);
return "product";
}