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-verktyget (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 korrigeringen är kompatibel med din Adobe Commerce-version uppdaterar du magento/quality-patches-paketet till den senaste versionen och kontrollerar kompatibiliteten på Quality Patches Tool: Sök efter korrigeringsfiler. 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 är tillgängliga i QPT-verktyget finns i avsnittet Patchar i QPT-verktyget i vår supportkunskapsbas.

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