从购物车条目中删除服务点

2020-09-14 22:55发布

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

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


大家好

我需要根据交货方式更新购物车条目。 因此,如果交付方式发生更改,我必须从购物车条目中删除服务点。 是否有任何ootb逻辑通过从条目中删除pos来更新购物车条目

谢谢。

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

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


大家好

我需要根据交货方式更新购物车条目。 因此,如果交付方式发生更改,我必须从购物车条目中删除服务点。 是否有任何ootb逻辑通过从条目中删除pos来更新购物车条目

谢谢。

付费偷看设置
发送
2条回答
callcenter油条
1楼 · 2020-09-14 23:35.采纳回答

您好:为什么要从购物车条目中删除PointOfService?

您是否要在每个购物车项目级别显示一条消息,提示该产品不可提货,还是要在订单级别显示消息?

我们有一个类似的要求,即我们希望"女士"产品可用于快递并在商店提货,而"儿童"产品仅可用于标准交货。

解决方案,在产品级别具有交付模式,OOB您会在产品和交付模式之间获得一对多的关系。

编写您自己的自定义策略,如下所示:

  public void getDeliveryCodes(final AbstractOrderModel abstractOrderModel,final Set  deliveryCodes)
      {
          最终Map  deliveryModeMap = new HashMap <>();
          对于(最终AbstractOrderEntryModel条目:abstractOrderModel.getEntries())
          {
              如果(CollectionUtils.isNotEmpty(entries.getProduct()。getDeliveryModes()))
              {
                  用于(最终DeliveryModeModel deliveryMode:entry.getProduct()。getDeliveryModes())
                  {
                      最终的字符串代码= deliveryMode.getCode();
                      如果(null == deliveryModeMap.get(code))
                      {
                          deliveryModeMap.put(代码,新的AtomicLong(1L));
                      }
                      其他
                      {
                          deliveryModeMap.get(code).incrementAndGet();
                      }
                  }
              }
          }
 
          对于(最终入口入口:deliveryModeMap.entrySet())
          {
              如果(entry.getValue()。get()== abstractOrderModel.getEntries()。size())
              {
                  deliveryCodes.add(entry.getKey());
              }
          }
      }

 

  

基本上,所有产品中都存在的deliveryMode的原子长值等于cartEntry大小。

因此,即使100种产品符合快递/标准/领取条件,而单个产品仅符合标准,整个购物车也符合标准。

希望有帮助。

闻人可可
2楼-- · 2020-09-14 23:37

感谢您的回答。 嗯,从条目中删除pos的原因是通过更改购物车的投放方式来更新购物车,这里我们的要求是为Cart.so 我需要删除其他不符合领取条件的条目,并将pos更新为null,不符合领取条件。

我使用了ootb updateCartentry方法来更新pos的pos,因为它在pos中接受null,从而将每个购物车条目的pos更新为null。

无论如何,您的回答给出了一些想法,我将遵循同样的想法。

谢谢

一周热门 更多>