MDVA-37288: Fel nivåpriser returnerades efter GraphQL begäran

MDVA-37288-kvalitetskorrigeringen för Adobe Commerce löser problemet där fel nivåpriser returneras efter GraphQL begäran. Den här korrigeringen är tillgänglig när QPT (Quality Patches Tool) v.1.0.23 är installerat. Observera att problemet schemaläggs att åtgärdas i Adobe Commerce version 2.4.3.

Berörda produkter och versioner

  • Korrigeringen har utformats för Adobe Commerce i molninfrastruktur 2.4.2
  • Korrigeringen är även kompatibel med Adobe Commerce lokalt och Adobe Commerce i molninfrastrukturen 2.4.2
NOTE
Patchen kan bli tillämplig på andra versioner med nya Quality Patches Tool-versioner. Om du vill kontrollera om patchen är kompatibel med din Adobe Commerce-version uppdaterar du magento/quality-patches till den senaste versionen och kontrollera om Quality Patches Tool: Sök efter korrigeringssida. Använd patch-ID:t som söknyckelord för att hitta patchen.

Problem

Steg som ska återskapas:

  1. Lägg till skiktpris för alla objekt (i det här exemplet lades skiktpriser till artiklar med id=1 och id=2).
  2. Kör GraphQL-fråga med sökning som inkluderar artiklar med nivåpriser och artiklar utan nivåpriser.

{
  products(pageSize: 20, currentPage: 1, search: "24-MB0") {
    items {
      id
      price_tiers {
        quantity
        final_price {
          value
        }
      }
    }
  }
}

Förväntade resultat:

Endast artiklar med nivåpriser ska returnera korrekta nivåpriser:

{
  "data": {
        "products": {
            "items": [
                {
                    "id": 17,
                    "price_tiers": []
                },
                {
                    "id": 1,
                    "price_tiers": [
                        {
                            "quantity": 1,
                            "final_price": {
                                "value": 34
                            }
                        },
                        {
                            "quantity": 5,
                            "final_price": {
                                "value": 32
                            }
                        }
                    ]
                },
                {
                    "id": 23,
                    "price_tiers": []
                },
                {
                    "id": 19,
                    "price_tiers": []
                }
            ]
        }
    }
}

Faktiska resultat:

  • Alla artiklar som kommer efter en artikel med nivåprissättning har nivåprissättning i svaret.
  • De nivåprisdata som returneras är från det sista objektet i slingan som hade nivåprissättning.

svarsexempel:

{
    "data": {
        "products": {
            "items": [
                {
                    "id": 17,
                    "price_tiers": []
                },
                {
                    "id": 1,
                    "price_tiers": [
                        {
                            "quantity": 1,
                            "final_price": {
                                "value": 34
                            }
                        },
                        {
                            "quantity": 5,
                            "final_price": {
                                "value": 32
                            }
                        }
                    ]
                },
                {
                    "id": 23,
                    "price_tiers": [
                        {
                            "quantity": 1,
                            "final_price": {
                                "value": 34
                            }
                        },
                        {
                            "quantity": 5,
                            "final_price": {
                                "value": 32
                            }
                        }
                    ]
                },
                {
                    "id": 19,
                    "price_tiers": [
                        {
                            "quantity": 1,
                            "final_price": {
                                "value": 34
                            }
                        },
                        {
                            "quantity": 5,
                            "final_price": {
                                "value": 32
                            }
                        }
                    ]
                }
            ]
        }
    }
}

Tillämpa korrigeringen

Använd följande länkar i utvecklardokumentationen, beroende på vilken Adobe Commerce-produkt du har, för att tillämpa enskilda korrigeringsfiler:

Relaterad läsning

Mer information om verktyget för kvalitetskorrigeringar i vår kunskapsbas finns i:

Mer information om andra korrigeringsfiler som finns i QPT-verktyget finns i Patchar tillgängliga i QPT-verktyget i vår kunskapsbas för support.

recommendation-more-help
8bd06ef0-b3d5-4137-b74e-d7b00485808a