如何获得产品的根目录类别?

2020-09-23 23:43发布

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


有人给过ProductModel派生过根类别吗? 任何帮助,将不胜感激。

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


有人给过ProductModel派生过根类别吗? 任何帮助,将不胜感激。

付费偷看设置
发送
5条回答
南山jay
1楼 · 2020-09-24 00:46.采纳回答

CommerceCategoryService.getPathsForCategory(..)将返回该产品所有类别的列表,包括作为指定类别的超类别继承的那些产品。 调用此方法的成本可能很高,因此请考虑适当地使用缓存或使用PrepareInterceptor来将根类别保留为产品上的属性。

派大星 ヾ
2楼-- · 2020-09-24 00:45
  CommerceCategoryService.getPathsForCategory(。  )
  

将类别而不是产品作为参数。 问题是要从产品中获取基本类别。

Violet凡
3楼-- · 2020-09-24 00:31

嗨,拉妮,

要获取产品的根类别,您将必须获取该产品的超级类别。 提取ProductModel后,可以调用方法productModel.getSupercategories()。 这将返回特定ProductModel的所有超类别。 从这些超级类别中,您可以获取根类别。

我们找不到直接获取根目录类别的直接方法。 因此,我们创建了自己的Utility方法,在此方法中我们传递了productModel,并遍历了超级类别以获取根类别。

骆驼绵羊
4楼-- · 2020-09-24 00:34

感谢Sanjay。 我也递归地执行此操作,但希望有一种更好的方法,因为每个超级类别列表都可能包含另一个整个超级类别列表。

huskylover
5楼-- · 2020-09-24 00:27

您可以使用此方法检查特定类别是否为超类别-

 私有布尔值isSuperCategoryPresent(ProductModel productModel){
          Collection 超级类别= productModel.getSupercategories();
          for(CategoryModel categoryModel:supercategories){
              Collection > pathForCategory = commerceCategoryService.getPathsForCategory(categoryModel);
              for(List  superCategoryPath:pathForCategory){
                  for(CategoryModel superCategory:superCategoryPath){
                      if(superCategory.getCode()。equals(BASE_CATEGORY_CODE)){
                          返回true;
                      }
                  }
              }
          }
          返回false;
      }



  

一周热门 更多>