从同一购物车ID创建多个订单

2020-09-13 14:26发布

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

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


在我的应用程序中,有时(在应用程序运行缓慢期间),我们观察到多个订单ID是根据用户的相同购物车ID创建的。 在Hybris日志中,我可以看到多个线程正在并行地为同一购物车下订单。 首先,启动一个线程,然后间隔一定时间(2-5分钟),另一个线程开始执行相同的操作,以下相同的购物车ID的订单。 这样,多个线程从一个时间间隔开始,但是所有线程都同时完成,并且下了多个订单。 我没有任何线索如何在hybris中多个线程开始执行相同的操作。 是否有可能出现杂音。

从日志中,我可以看到线程名称以及一个IP,如下所述。 对于不同的线程,ip也不同。 您能否也请确认它是客户端IP。

INFO | jvm 1 | 主| 2018/08/14 15:49:54.224 | 信息[ajp-nio-8009-exec-162] [2.16.153.122]

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

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


在我的应用程序中,有时(在应用程序运行缓慢期间),我们观察到多个订单ID是根据用户的相同购物车ID创建的。 在Hybris日志中,我可以看到多个线程正在并行地为同一购物车下订单。 首先,启动一个线程,然后间隔一定时间(2-5分钟),另一个线程开始执行相同的操作,以下相同的购物车ID的订单。 这样,多个线程从一个时间间隔开始,但是所有线程都同时完成,并且下了多个订单。 我没有任何线索如何在hybris中多个线程开始执行相同的操作。 是否有可能出现杂音。

从日志中,我可以看到线程名称以及一个IP,如下所述。 对于不同的线程,ip也不同。 您能否也请确认它是客户端IP。

INFO | jvm 1 | 主| 2018/08/14 15:49:54.224 | 信息[ajp-nio-8009-exec-162] [2.16.153.122]

付费偷看设置
发送
2条回答
Alawn_Xu
1楼-- · 2020-09-13 14:45

您的最终用户很可能沮丧,并一次又一次单击"下订单"按钮。

请确保在前端为他们提供视觉反馈,以确保发生了某些情况,并在首次单击后禁用"下单"按钮,以作为快速解决方案。

然后,您必须决定如何避免同一购物车的多个订单,这里是两个常见的订单:

  • 在购物车上实施某种锁定,以防止在结帐过程中进一步下订单以及修改购物车

  • 在结帐过程开始时克隆购物车,并使用克隆执行结帐

进一步阅读:

"> https://wiki.hybris.com/display/hybrisALF/Cart+Strategy

shere_lin
2楼-- · 2020-09-13 15:01

在我们的应用程序中,我们以以下方式下订单

最终的CartModel购物车= cartService.getSessionCart(); OrderModel orderModel = placeOrder(cart); afterPlaceOrder(orderModel); (我们要删除会话购物车的地方)

所以在这里,我无法理解从会话属性获得的CS在何处应用锁定。 请指教。

一周热门 更多>

点击此处---> EasySAP.com 一起学习S4 HANA ...