定制促销和计算服务

2020-09-29 19:10发布

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

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


嗨,

我搜索了这个论坛,但没有找到问题的答案,所以就在这里(只要说" RTFM" ;-),如果您认为它在hybris文档中的某处(我尚未找到任何东西)):

我写了一个自定义促销活动,它的触发对象为:

promotionsService.updatePromotions(Collections.singletonList(pg),购物车,false,AutoApplyMode.APPLY_ALL,AutoApplyMode.APPLY_ALL,Helper.getDateNowRoundedToMinute());

modelService.refresh(cart); CalculationService.recalculate(cart);

在modelService.refresh(cart)之后,我仍然可以在cart.getGlobalDiscountValues()中看到订单折扣。 现在,当我调用calculationService.recalculate(cart)时,它只是将条目替换为空列表,并在没有折扣的情况下计算出cs! (实际情况是,在DefaultCalculationService.resetAllValues()中,该列表被FindOrderDiscountValuesStrategy(无论出于何种原因返回order.getDiscounts()而不是order.getGlobalDiscountValues())和FindPricingWithCurrentPriceFactoryStrategy.findDiscountValues()取代,后者调用Europe1PriceFactory.getDiscountValues ()返回一个空列表。

任何想法,我在做什么错? 您是否还需要其他代码(尽管所有这些都发生在hybris代码中)

问候,福尔克

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

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


嗨,

我搜索了这个论坛,但没有找到问题的答案,所以就在这里(只要说" RTFM" ;-),如果您认为它在hybris文档中的某处(我尚未找到任何东西)):

我写了一个自定义促销活动,它的触发对象为:

promotionsService.updatePromotions(Collections.singletonList(pg),购物车,false,AutoApplyMode.APPLY_ALL,AutoApplyMode.APPLY_ALL,Helper.getDateNowRoundedToMinute());

modelService.refresh(cart); CalculationService.recalculate(cart);

在modelService.refresh(cart)之后,我仍然可以在cart.getGlobalDiscountValues()中看到订单折扣。 现在,当我调用calculationService.recalculate(cart)时,它只是将条目替换为空列表,并在没有折扣的情况下计算出cs! (实际情况是,在DefaultCalculationService.resetAllValues()中,该列表被FindOrderDiscountValuesStrategy(无论出于何种原因返回order.getDiscounts()而不是order.getGlobalDiscountValues())和FindPricingWithCurrentPriceFactoryStrategy.findDiscountValues()取代,后者调用Europe1PriceFactory.getDiscountValues ()返回一个空列表。

任何想法,我在做什么错? 您是否还需要其他代码(尽管所有这些都发生在hybris代码中)

问候,福尔克

付费偷看设置
发送
3条回答
jovirus
1楼-- · 2020-09-29 19:51

嗨,福克,

如果您计算/重新计算购物车,促销不会自动更新。 调用calculateCart()或recalculateCart()方法时,此后需要显式调用PromotionsManager.updatePromotions()。 请参考此链接不会自动更新"> https ://wiki.hybris.com/display/release5/Promotion+Extension+--+Technical+Bits+and+Pieces#PromotionExtension-TechnicalBitsandPieces-Promotions在修改CartoranOrder时不会自动更新

希望这会有所帮助!

此致

Ankur

哎,真难
2楼-- · 2020-09-29 19:54

更多信息:促销创建了PromotionOrderAdjustValueAction,它为order.globalDiscountValues添加了折扣。 我们需要重新计算购物车,因为我们使用的是自定义的computeOrderEntry()方法,而PromotionManager使用AbstractOrder中的计算方法(而不是CalculationService)。

天桥码农
3楼-- · 2020-09-29 19:30

您找到解决方案了吗? 我正面临着同样的问题。

谢谢

Cully

一周热门 更多>