购物车中的条目顺序。

2020-09-15 07:13发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)您好,我想更改购物车中订单条目的...

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

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


您好,我想更改购物车中订单条目的标准Hybris逻辑。 而不是将它们添加到购物车页面的顶部。 我想将所有新产品添加到购物车页面列表的底部。 与其更改jsp渲染逻辑以使其以不同的顺序循环,不如更改标准逻辑。 负责它的类是 DefaultAbstractOrderService ,我认为方法是 addEntryAtPosition 。 这里正确的方法是什么? 谢谢!

这是代码段。

 受保护的int addEntryAtPosition(最终的AbstractOrderModel订单,最终的AbstractOrderEntryModel条目,最终的int请求)
      {
          int ret =请求;
          最终List  all = order.getEntries();
        /*
           *仅追加?
           */
          final int lastIndex = all.isEmpty()吗?  0:all.size()-1;
          final int lastIndexEntryNumberValue = all.isEmpty()吗?  0:(all.get(lastIndex))。getEntryNumber()。intValue();
 
          如果(要求<0)
          {
 
              ret = all.isEmpty()吗?  0:lastIndexEntryNumberValue +1;
          }
        /*
           *需要改组其他条目
           */
          其他
          {
              boolean foundEntryWithNumber = false;
              for(int i = 0,s = all.size(); i 我们现在需要移动数字
                  如果(foundEntryWithNumber)
                  {
                      currentEntry.setEntryNumber(Integer.valueOf(enr + 1));
                  }
                 //现在找到了吗?
                  否则,如果(enr ==请求)
                  {
                      foundEntryWithNumber = true;
                      currentEntry.setEntryNumber(Integer.valueOf(currentEntry.getEntryNumber()。intValue()+ 1));
                  }
                 //没有其他条目获得此号码->无需转移其他条目号码
                  否则(enr>请求)
                  {
                      打破;
                  }
              }
          }
          entry.setEntryNumber(Integer.valueOf(ret));
 
          final List  newEntries =新的ArrayList (all);
          newEntries.add(entry);
          Collections.sort(newEntries,新Comparator ()
          {
              @Override
              public int compare(final AbstractOrderEntryModel order1,final AbstractOrderEntryModel order2)
              {
                  返回order1.getEntryNumber()。compareTo(order2.getEntryNumber());
              }
          });
 
          order.setEntries(newEntries);
          返回ret
      }