促销优惠券的应用范围超过了redemptionQuantityLimit和redemptionQuantityLimitPerUser

2020-09-11 03:40发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)根据凭证文档,凭证的兑换不得超过...

         点击此处--->   EasySAP.com群内免费提供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表中创建带有促销代码,订购代码和用户的条目。 仅在调用第二个方法时才创建。 但是以某种方式没有调用此方法。 总是调用第一种方法,因此无法检查用户是否使用了给定次数的凭证。

请帮助我。 为什么要这样实现 尽管我们具有将凭证限制为给定次数的属性,但为何凭证无法按预期运行。

6条回答
暮风yp
2020-09-11 03:55

Himanshu,谢谢您的回复。 是的,你是对的。 对于促销代金券,可以配置代金券的兑换次数。 但是,尽管我同时配置了这两个属性,但仍无法正常工作。

redemptionQuantityLimit和redemptionQuantityLimitPerUser

  return getInvalidations(aVoucherCode,user).size() 

首先要验证您上面提到的上述条件。 每当正确兑换凭证时,都应创建并保存VoucherInvalidation对象。 创建该实例的代码无处可寻。

请让我知道这对您的工作情况。

一周热门 更多>