首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在海布里推广中获取产品信息

在海布里推广中获取产品信息
EN

Stack Overflow用户
提问于 2018-08-15 22:00:42
回答 2查看 2K关注 0票数 1

我想了解哪些促销是应用在促销引擎上的产品,以便在它们之间分配产品的价格,并将它们发送到ERP。

当我们看海布里语中的getPromotionResults(order).时,有一种叫做promotionService的方法它返回PromotionOrderResults对象。在这个对象中,两个方法与我的例子有关,getAppliedProductPromotions()和getAppliedOrderPromotions()。如果我没有错过它,我就无法在这些方法的结果中看到产品信息来进行推广。另外,我通过promotion.getAppliedOrderPromotions().get(0).getAllAttributes()查看了所有属性,但是我不能拥有它们。

在促销中,我如何知道产品信息和折扣金额?

EN

回答 2

Stack Overflow用户

发布于 2018-08-30 09:42:53

你要找的方法是

PromotionOrderResults#getAppliedProductPromotions()

这将返回所有应用于订单条目/产品的促销活动,您可以通过PromotionOrderEntryConsumed PromotionResult#getConsumedEntries()导航到产品。

票数 0
EN

Stack Overflow用户

发布于 2021-09-24 00:11:08

我有办法得到免费赠送的产品.通常是这样的

代码语言:javascript
复制
Set promotionResultModels = cart.getAllPromotionResults();
 
  if (!Objects.isNull(promotionResultModels))
  {
     Iterator resultsIterator = promotionResultModels.iterator();

     while (resultsIterator.hasNext())
     {
        PromotionResultModel promoResultModel = (PromotionResultModel) resultsIterator.next();
        Iterator var6 = promoResultModel.getActions().iterator();

        while (var6.hasNext())
        {
           AbstractPromotionActionModel action = (AbstractPromotionActionModel) var6.next();
           if (action instanceof RuleBasedOrderAddProductActionModel)
           {
              String freeGiftProductCode = ((RuleBasedOrderAddProductActionModel) action).getProduct().getCode();

           }
        }
     }
  }

但是在我的场景中,这是免费礼品促销,不确定基于包的促销是否有类似的属性。根据产品实际上激发了促销,我仍然在寻找一种方法来获得它。我做过的最贴切的事情是:

代码语言:javascript
复制
((RuleBasedOrderAddProductActionModel) action).getRule().getRuleContent()

然而,这是海布里生成的代码,其中有RAO和产品代码被埋没在该字符串中。所以我需要写一个丑陋的脚本解析器来找到代码。

让我知道如果你发现了第二部分,产品触发的广告,我仍然在寻找它。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51867041

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档