[僅限PaaS]{class="badge informative" title="僅適用於雲端專案(Adobe管理的PaaS基礎結構)和內部部署專案的Adobe Commerce 。"}

MDVA-37234:將專案多次新增到購物車會建立重複的行專案

MDVA-37234修補程式針對相同SKU將專案多次新增至購物車(平行請求)時,會為相同購物車ID建立重複條列專案,此問題已獲修正。 安裝品質修補工具(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
此修補程式可能適用於其他發行了「品質修補程式」工具的版本。 若要檢查修補程式是否與您的Adobe Commerce版本相容,請將magento/quality-patches套件更新至最新版本,並在Quality Patches Tool上檢查相容性:搜尋修補程式頁面。 使用修補程式ID作為搜尋關鍵字,以尋找修補程式。

問題

對相同的SKU將專案多次新增到購物車(平行請求)會為相同的購物車ID建立重複的行專案。

要再現的步驟

  1. 使用SKU = simple1建立簡單產品。

  2. 建立客戶。

  3. 產生客戶Token以發出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. 執行指令碼。

預期結果

在購物車中只會建立一個總數量的產品線(在此案例中是三個)。

實際結果

在購物車中會為相同產品建立兩個不同的行。

套用修補程式

若要套用個別修補程式,請根據您的部署型別使用下列連結:

相關閱讀

若要進一步瞭解Adobe Commerce的品質修補程式,請參閱:

如需QPT中其他修補程式的詳細資訊,請參閱QPT中可用的修補程式區段。

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