Hybris促销-购买任意,免费获得Y

2020-09-23 22:58发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)我想知道如何执行以下促销活动: ...

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

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


我想知道如何执行以下促销活动:

购买这50种产品中的任何5种,并免费获得1种产品。

我只能执行:购买其中任何一种产品,并免费获得Y。 将数量更改为5要求用户购买5个相同的产品。

10条回答
风早神人
2020-09-23 23:37

嗨杰森,

"合格产品"中的"数量"字段是指所需的合格产品数量(每个订单条目),这是正确的行为。 您可以通过使用Drools的"累加"功能来完成您想做的事情。 该过程被描述为对另一个问题的答案:

通常,支持Drools的"累加"功能,但到目前为止仅适用于数量。 如果您查看最终生成Drools代码的类(DefaultDroolsRuleTargetCodeGenerator),您将看到其用法。

需要汇总诸如"如果购物车中有3个类别为xyz的产品,则..."之类的数量。

例如,我创建了一个促销活动,检查在这种情况下,是否有3部黑白电影(类别代码" 598")对第三部电影给予5美元的折扣。

请参阅附件,以了解源规则的定义以及促销触发时在店面中的外观。

生成的Drools代码(使用"累积" OOTB):

 软件包de.hybris.platform.droolsruleengine;
  
   导入de.hybris.platform.droolsruleengineservices.compiler.impl.DefaultDroolsRuleActionContext;
   导入de.hybris.platform.ruleengineservices.rao.CartRAO;
   导入de.hybris.platform.ruleengineservices.rrd.RuleConfigurationRRD;
   导入java.math.BigDecimal;
   导入de.hybris.platform.ruleengineservices.rao.CategoryRAO;
   导入de.hybris.platform.ruleengineservices.rao.RuleEngineResultRAO;
   导入de.hybris.platform.ruleengineservices.rao.WebsiteGroupRAO;
   导入java.util.Map;
   导入de.hybris.platform.ruleengineservices.rao.OrderEntryRAO;
   导入de.hybris.platform.ruleengineservices.rao.ProductRAO;
  
   全局de.hybris.platform.ruleengineservices.rule.evaluation.RuleExecutableAction rulePartnerOrderEntryFixedDiscountAction;
  
   查询rule_2cdb34ef8ab34c44a76e951f58d81df3_query(OrderEntryRAO $ v6,CartRAO $ v1,RuleEngineResultRAO $ v2,WebsiteGroupRAO $ v3,CategoryRAO $ v4,ProductRAO $ v5)
      (
         $ v1:= CartRAO()
         和
         $ v2:= RuleEngineResultRAO()
         和
         $ v3:= WebsiteGroupRAO(id ==" electronicsPromoGrp")
         和
         (
            $ v4:= CategoryRAO((" 598"中的代码))
            和
            $ v5:= ProductRAO(类别包含$ v4)
            和
            $ v6:= OrderEntryRAO(产品== $ v5,数量> =新整数(1))
            和
            $ v1:= CartRAO(条目包含$ v6)
         )
      )
   结束
  
   规则" 2cdb34ef-8ab3-4c44-a76e-951f58d81df3"
   @ruleCode(" accumulate_source_rule")
   @moduleName("促销模块")
   方言" mvel"
   显着性0
   什么时候
      $ config:= RuleConfigurationRRD(ruleCode ==" accumulate_source_rule")
      积累
         rule_2cdb34ef8ab34c44a76e951f58d81df3_query($ v6,$ v1,$ v2,$ v3,$ v4,$ v5;)
      ;
         $ v6_set:collectSet($ v6),
         $ v1_set:collectSet($ v1),
         $ v2_set:collectSet($ v2),
         $ v3_set:collectSet($ v3),
         $ v4_set:collectSet($ v4),
         $ v5_set:collectSet($ v5),
         $ result_count:计数(1)
      )
      eval($ result_count> 0)
   然后
      映射变量= [
         " CONTAINER_X/de.hybris.platform.ruleengineservices.rao.OrderEntryRAO":$ v6_set,
         " de.hybris.platform.ruleengineservices.rao.CartRAO":$ v1_set,
         " de.hybris.platform.ruleengineservices.rao.RuleEngineResultRAO":$ v2_set,
         " de.hybris.platform.ruleengineservices.rao.WebsiteGroupRAO":$ v3_set,
         " CONTAINER_X/de.hybris.platform.ruleengineservices.rao.CategoryRAO":$ v4_set,
         " CONTAINER_X/de.hybris.platform.ruleengineservices.rao.ProductRAO":$ v5_set
      ];
      rulePartnerOrderEntryFixedDiscountAction.executeAction(new DefaultDroolsRuleActionContext(variables,kcontext),[" value_uuid":" a85950b0-2082-4458-9e1c-4a0aa21be4fd"," selection_strategy":de.hybris.platform.ruleengineservices.Selection_Strategy.AP  ::" 596ada79-3bb8-4865-ab52-bac02864d865"," target_containers_uuid":" 64b76398-f3a6-4206-ba20-d061497c13fc"," qualifying_containers":[" CONTAINER_X":new Integer(3)]," target_containers":[  " CONTAINER_X":新整数(1)]," qualifying_containers_uuid":" cee10fc2-bacc-4f56-ab2e-a9aaec0dfd5a"," value":[" USD":new BigDecimal(" 5")]]));
   结束

  

所有功劳归于

最诚挚的问候,

一周热门 更多>