MDVA-37234:将项目多次添加到购物车会创建重复的行项目

MDVA-37234修补程序修复了以下问题:对于同一SKU,将项目多次添加到购物车(并行请求),会为同一购物车ID创建一个重复的行项目。 安装Quality Patches Tool (QPT) 1.1.3时,此修补程序可用。 修补程序ID为MDVA-37234。 请注意,该问题计划在Adobe Commerce 2.4.4中修复。

受影响的产品和版本

为Adobe Commerce版本创建了修补程序:

Adobe Commerce(所有部署方法) 2.3.6、2.4.1和2.4.2

与Adobe Commerce版本兼容:

Adobe Commerce(所有部署方法) 2.3.5 - 2.3.7-p1和2.4.1 - 2.4.2-p1

NOTE
该修补程序可能适用于具有新的Quality Patches Tool版本的其他版本。 要检查修补程序是否与您的Adobe Commerce版本兼容,请将magento/quality-patches包更新到最新版本,并在Quality Patches Tool:搜索修补程序页面上检查兼容性。 使用修补程序ID作为搜索关键字来查找修补程序。

问题

将同一SKU的项目多次添加到购物车(并行请求)会为同一购物车ID创建一个重复的行项目。

重现步骤

  1. 使用SKU = simple1创建一个简单的产品。

  2. 创建客户。

  3. 生成用于发出GraphQL请求的客户令牌。

    code language-graphql
    
     mutation {
         generateCustomerToken(
             email: "customer email"
             password: "customer password"
         )
         {
             token
         }
     }
    
    
  4. 使用步骤3中提到的令牌为客户创建一个空购物车。

    code language-graphql
    
     mutation{
      createEmptyCart
     }
    
    
  5. 创建一个脚本,使两个addSimpleProductsToCart请求并行运行。 例如:

    code language-#!/bin/bash
    
     curl -X POST -H "Content-Type: application/json" -H "Authorization: Bearer eyJraWQiOiIxIiwiYWxnIjoiSFMyNTYifQ.eyJ1aWQiOjEsInV0eXBpZCI6MywiaWF0IjoxNjIzOTUyNjcwLCJleHAiOjE2MjM5NTYyNzB9.-fh7ysqiQTAacdB3MVvaXzFE9AmKyfF8TsVmICLJoWI" -d '{"query" : "mutation { addSimpleProductsToCart( input: { cart_id: \"S8dCF7uan1POMy0qY0Hup7tEv1AhFGdY\" cart_items: [ { data: { quantity: 2 sku: \"simple1\" } } ] } ) { cart { items { id product { name sku } quantity } } } }"}' http://magento2.3.local/graphql &
     curl -X POST -H "Content-Type: application/json" -H "Authorization: Bearer eyJraWQiOiIxIiwiYWxnIjoiSFMyNTYifQ.eyJ1aWQiOjEsInV0eXBpZCI6MywiaWF0IjoxNjIzOTUyNjcwLCJleHAiOjE2MjM5NTYyNzB9.-fh7ysqiQTAacdB3MVvaXzFE9AmKyfF8TsVmICLJoWI" -d '{"query" : "mutation { addSimpleProductsToCart( input: { cart_id: \"S8dCF7uan1POMy0qY0Hup7tEv1AhFGdY\" cart_items: [ { data: { quantity: 1 sku: \"simple1\" } } ] } ) { cart { items { id product { name sku } quantity } } } }"}' http://magento2.3.local/graphql
    
    
  6. 运行脚本。

预期的结果

在购物车中只创建一个总数量的产品线(在本例中为3个)。

实际结果

在购物车中为同一产品创建了两个单独的行。

应用修补程序

要应用单个修补程序,请根据您的部署类型使用以下链接:

相关阅读

要了解有关Adobe Commerce质量修补程序的更多信息,请参阅:

有关QPT中其他可用修补程序的信息,请参阅QPT🔗中可用的修补程序部分。

recommendation-more-help
c2d96e17-5179-455c-ad3a-e1697bb4e8c3