[PaaS uniquement]{class="badge informative" title="S’applique uniquement aux projets Adobe Commerce on Cloud (infrastructure PaaS gérée par Adobe) et aux projets On-premise."}

MDVA-37234 : l’ajout multiple d’articles au panier crée des lignes en double

Le correctif MDVA-37234 corrige le problème en raison duquel l’ajout multiple d’un article au panier (requête parallèle) pour le même SKU crée un élément de ligne en double pour le même ID de panier. Ce correctif est disponible lorsque l’outil de correctifs de qualité (QPT) 1.1.3 est installé. L’ID du correctif est MDVA-37234. Notez que le problème est planifié pour être corrigé dans Adobe Commerce 2.4.4.

Produits et versions concernés

Le correctif est créé pour la version Adobe Commerce :

Adobe Commerce (toutes les méthodes de déploiement) 2.3.6, 2.4.1 et 2.4.2

Compatible avec les versions d’Adobe Commerce :

Adobe Commerce (toutes les méthodes de déploiement) 2.3.5 - 2.3.7-p1 et 2.4.1 - 2.4.2-p1

NOTE
Le correctif peut s’appliquer à d’autres versions avec de nouvelles versions de l’outil de correctifs de qualité. Pour vérifier si le correctif est compatible avec votre version d’Adobe Commerce, mettez à jour le package magento/quality-patches vers la dernière version et vérifiez la compatibilité sur la page Quality Patches Tool : Rechercher des correctifs. Utilisez l’ID du correctif comme mot-clé de recherche pour localiser le correctif.

Problème

L’ajout multiple d’un article au panier (demande parallèle) pour le même SKU crée un duplicata d’article en ligne pour le même ID de panier.

Procédure à suivre :

  1. Créez un produit simple avec SKU = simple1.

  2. Créez un client.

  3. Générez un jeton client pour effectuer une requête GraphQL.

    code language-graphql
    
     mutation {
         generateCustomerToken(
             email: "customer email"
             password: "customer password"
         )
         {
             token
         }
     }
    
    
  4. Utilisez le jeton mentionné à l’étape 3 pour créer un panier vide pour le client.

    code language-graphql
    
     mutation{
      createEmptyCart
     }
    
    
  5. Créez un script pour effectuer deux requêtes addSimpleProductsToCart exécutées en parallèle. Par exemple :

    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. Exécutez le script .

Résultats attendus :

Une seule ligne de produits avec une quantité totale (trois dans ce cas) est créée dans le panier.

Résultats réels :

Deux lignes distinctes pour le même produit sont créées dans le panier.

Application du correctif

Pour appliquer des correctifs individuels, utilisez les liens suivants en fonction de votre type de déploiement :

Lecture connexe

Pour en savoir plus sur les correctifs de qualité pour Adobe Commerce, consultez :

Pour plus d’informations sur les autres correctifs disponibles dans QPT, reportez-vous à la section Correctifs disponibles dans QPT.

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