点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)根据凭证文档,凭证的兑换不得超过...
点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)根据凭证文档,凭证的兑换不得超过...
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
根据凭证文档,凭证的兑换不得超过redemptionQuantityLimit或redemptionQuantityLimitPerUser。 但它没有发生。 优惠券的应用次数超过了两个属性中分配的次数。
我已经调试了代码,发现凭证服务中有两种方法可以兑换凭证。
1)公共布尔redeemVoucher(String voucherCode,CartModel cart)
引发JaloPriceFactoryException
{
saveIfModified(购物车);
布尔值已更改= VoucherManager.getInstance()。redeemVoucher(voucherCode,getCart(cart));
如果(已更改)
{
刷新(购物车);
}
返回更改;
}
2)public VoucherInvalidationModel redeemVoucher(String voucherCode,OrderModel order)
{
saveIfModified(order);
VoucherInvalidation voucherInvalidation = VoucherManager.getInstance()。redeemVoucher(voucherCode,getOrder(order));
如果(voucherInvalidation == null)
{
返回null;
}
刷新(顺序);
return(((VoucherInvalidationModel)getModelService()。get(voucherInvalidation)));返回
}
在Wiki中,提到了在应用凭证时,应在VoucherInvalidation表中创建带有促销代码,订购代码和用户的条目。 仅在调用第二个方法时才创建。 但是以某种方式没有调用此方法。 总是调用第一种方法,因此无法检查用户是否使用了给定次数的凭证。
请帮助我。 为什么要这样实现 尽管我们具有将凭证限制为给定次数的属性,但为何凭证无法按预期运行。
嗨Bhaskar,
如果您检查DefaultVoucherRedemptionPlaceOrderMethodHook的代码,则会在beforeSubmitOrder()之前看到
getVoucherService()。redeemVoucher(voucherCode,orderModel);
方法被调用。有关更多信息,请参考此处
https://help.hybris.com/1808/hcd/8c7ff2918669101483ddd711fc3f5df5.html
确定优惠券是否可预订,并在兑换促销优惠券(检查其串行优惠券)的redeemVoucher(字符串优惠券代码,CartModel购物车)时调用
即。 对于serialVoucher,该优惠券只能为每个用户应用一次,但对于促销优惠券,优惠券的兑换时间是可配置的。
希望这对您有所帮助。
谢谢
一周热门 更多>