MDVA-37234: l'aggiunta di più elementi al carrello crea un elemento riga duplicato

La patch MDVA-37234 risolve il problema che, quando si aggiunge più volte un elemento al carrello (richiesta parallela) per lo stesso SKU, viene creato un elemento riga duplicato per lo stesso ID carrello. Questa patch è disponibile quando è installato QPT (Quality Patches Tool) 1.1.3. L'ID della patch è MDVA-37234. Il problema è pianificato per essere risolto in Adobe Commerce 2.4.4.

Prodotti e versioni interessati

La patch è stata creata per la versione di Adobe Commerce:

Adobe Commerce (tutti i metodi di implementazione) 2.3.6, 2.4.1 e 2.4.2

Compatibile con le versioni di Adobe Commerce:

Adobe Commerce (tutti i metodi di implementazione) 2.3.5 - 2.3.7-p1 e 2.4.1 - 2.4.2-p1

NOTE
La patch potrebbe diventare applicabile ad altre versioni con le nuove versioni dello strumento Patch di qualità. Per verificare se la patch è compatibile con la versione di Adobe Commerce in uso, aggiornare il pacchetto magento/quality-patches alla versione più recente e verificare la compatibilità nella pagina Quality Patches Tool: Cerca patch. Utilizza l’ID patch come parola chiave di ricerca per individuare la patch.

Problema

Se si aggiunge più volte un articolo al carrello (richiesta parallela) per lo stesso SKU, viene creata una riga duplicata per lo stesso ID carrello.

Passaggi da riprodurre:

  1. Creare un prodotto semplice con SKU = simple1.

  2. Crea un cliente.

  3. Genera un token cliente per effettuare una richiesta GraphQL.

    code language-graphql
    
     mutation {
         generateCustomerToken(
             email: "customer email"
             password: "customer password"
         )
         {
             token
         }
     }
    
    
  4. Utilizza il token indicato nel passaggio 3 per creare un carrello vuoto per il cliente.

    code language-graphql
    
     mutation{
      createEmptyCart
     }
    
    
  5. Creare uno script per eseguire due richieste addSimpleProductsToCart in parallelo. Ad esempio:

    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. Esegui lo script.

Risultati previsti:

Nel carrello viene creata una sola linea di prodotti con una quantità totale (tre in questo caso).

Risultati effettivi:

Nel carrello vengono create due righe separate per lo stesso prodotto.

Applicare la patch

Per applicare singole patch, utilizzare i collegamenti seguenti a seconda del tipo di distribuzione:

Lettura correlata

Per ulteriori informazioni sulle patch di qualità per Adobe Commerce, consulta:

Per informazioni sulle altre patch disponibili in QPT, consulta la sezione Patch disponibili in QPT.

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