[Solo PaaS]{class="badge informative" title="Se aplica solo a proyectos de Adobe Commerce en la nube (infraestructura PaaS administrada por Adobe) y a proyectos locales."}

MDVA-37234: al agregar un elemento al carro de compras varias veces, se crea un elemento de línea duplicado

El parche de MDVA-37234 soluciona el problema de que, al añadir un artículo al carro de compras varias veces (solicitud paralela) para la misma SKU, se crea un elemento de línea duplicado para la misma ID de carro de compras. Este parche está disponible cuando está instalada la Herramienta de parches de calidad (QPT) 1.1.3. El ID del parche es MDVA-37234. Tenga en cuenta que el problema está programado para solucionarse en Adobe Commerce 2.4.4.

Productos y versiones afectados

El parche se ha creado para la versión de Adobe Commerce:

Adobe Commerce (todos los métodos de implementación) 2.3.6, 2.4.1 y 2.4.2

Compatible con versiones de Adobe Commerce:

Adobe Commerce (todos los métodos de implementación) 2.3.5 - 2.3.7-p1 y 2.4.1 - 2.4.2-p1

NOTE
El parche podría ser aplicable a otras versiones con las nuevas versiones de la herramienta Parches de Calidad. Para comprobar si el parche es compatible con su versión de Adobe Commerce, actualice el paquete magento/quality-patches a la última versión y compruebe la compatibilidad en la página Quality Patches Tool: buscar parches ​. Utilice el ID de parche como palabra clave de búsqueda para localizar el parche.

Problema

Si agrega un artículo al carro de compras varias veces (solicitud paralela) para el mismo SKU, se crea un artículo de línea duplicado para el mismo ID de carro de compras.

Pasos a seguir:

  1. Cree un producto simple con SKU = simple1.

  2. Crear un cliente.

  3. Genere un token de cliente para realizar una solicitud de GraphQL.

    code language-graphql
    
     mutation {
         generateCustomerToken(
             email: "customer email"
             password: "customer password"
         )
         {
             token
         }
     }
    
    
  4. Utilice el token mencionado en el paso 3 para crear un carro de compras vacío para el cliente.

    code language-graphql
    
     mutation{
      createEmptyCart
     }
    
    
  5. Cree un script para hacer dos addSimpleProductsToCart solicitudes ejecutándose en paralelo. Por ejemplo:

    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. Ejecute el script.

Resultados esperados:

En el carro de compras solo se crea una línea de productos con una cantidad total (tres en este caso).

Resultados reales:

En el carro de compras se crean dos líneas independientes para el mismo producto.

Aplicar el parche

Para aplicar parches individuales, utilice los siguientes vínculos en función del tipo de implementación:

Lectura relacionada

Para obtener más información sobre parches de calidad para Adobe Commerce, consulte:

Para obtener información sobre otros parches disponibles en QPT, consulte la sección Parches disponibles en QPT.

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