[Somente PaaS]{class="badge informative" title="Aplica-se somente a projetos do Adobe Commerce na nuvem (infraestrutura do PaaS gerenciada pela Adobe) e a projetos locais."}

MDVA-37234: Adicionar item ao carrinho várias vezes cria item de linha duplicado

O patch MDVA-37234 corrige o problema em que adicionar um item ao carrinho várias vezes (solicitação paralela) para o mesmo SKU cria um item de linha duplicado para a mesma ID de carrinho. Este patch está disponível quando a Ferramenta de Patches de Qualidade (QPT) 1.1.3 está instalada. A ID do patch é MDVA-37234. Observe que o problema está programado para ser corrigido no Adobe Commerce 2.4.4.

Produtos e versões afetados

O patch foi criado para a versão do Adobe Commerce:

Adobe Commerce (todos os métodos de implantação) 2.3.6, 2.4.1 e 2.4.2

Compatível com as versões do Adobe Commerce:

Adobe Commerce (todos os métodos de implantação) 2.3.5 - 2.3.7-p1 e 2.4.1 - 2.4.2-p1

NOTE
O patch pode se tornar aplicável a outras versões com as novas versões da Ferramenta de patches de qualidade. Para verificar se o patch é compatível com a sua versão do Adobe Commerce, atualize o pacote magento/quality-patches para a versão mais recente e verifique a compatibilidade na Quality Patches Tool: página Procurar patches. Use a ID do patch como palavra-chave de pesquisa para localizar o patch.

Problema

Adicionar um item ao carrinho várias vezes (solicitação paralela) para o mesmo SKU cria um item de linha duplicado para a mesma ID do carrinho.

Etapas a serem reproduzidas:

  1. Crie um produto simples com SKU = simple1.

  2. Crie um cliente.

  3. Gere um token do cliente para fazer a solicitação do GraphQL.

    code language-graphql
    
     mutation {
         generateCustomerToken(
             email: "customer email"
             password: "customer password"
         )
         {
             token
         }
     }
    
    
  4. Use o token mencionado na etapa 3 para criar um carrinho vazio para o cliente.

    code language-graphql
    
     mutation{
      createEmptyCart
     }
    
    
  5. Crie um script para fazer duas solicitações addSimpleProductsToCart em execução em paralelo. Por exemplo:

    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. Execute o script.

Resultados esperados:

Somente uma linha de produtos com uma quantidade total (três, neste caso) é criada no carrinho de compras.

Resultados reais:

Duas linhas separadas para o mesmo produto são criadas no carrinho de compras.

Aplicar o patch

Para aplicar patches individuais, use os links a seguir, dependendo do tipo de implantação:

Leitura relacionada

Para saber mais sobre correções de qualidade para o Adobe Commerce, consulte:

Para obter informações sobre outros patches disponíveis no QPT, consulte a seção Patches disponíveis no QPT.

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