ĮRODYMAS / 004

Akcijų konfliktai pirmiausia gauna planą.

Tinkamos automatinės akcijos išsprendžiamos į deterministinį planą prieš pradedant keisti gyvą krepšelį.

Why it matters

Jei kuponai taikomi dar tuo metu, kai konfliktai tik atrandami, iteravimo tvarka gali netyčia tapti verslo logika. Atskiras planas padaro prioritetą, išskirtinumą ir gedimo elgesį aiškų.

Implementation

  1. Didesnis explicit prioritetas laimi; vienodi prioritetai sprendžiami pagal stabilią kupono tapatybę.
  2. Stack, exclusive, conflict-group ir Best Deal režimai aprašomi aiškiai.
  3. Natyvūs WooCommerce individual-use apribojimai lieka kieti, o apsaugoti rankiniai kuponai neišmetami.
  4. Best Deal renkasi tik aiškiose ribotose grupėse ir nevykdo neribotos kuponų kombinacijų paieškos.
  5. Resolveris sudaro minimalų pašalinimo/pritaikymo planą dar prieš pirmą gyvo krepšelio mutaciją.

Evidence

  • Best Deal vertinimas naudoja WooCommerce cart totals elgesį izoliuotoje krepšelio kopijoje, o ne savą nuolaidų matematiką.
  • Reprezentatyvūs fixed-cart, percentage ir fixed-product atvejai tikrinami prieš natyvų WooCommerce elgesį.
  • Runtime automatinę nuosavybę laiko atskirai nuo kupono application mode, todėl conflict resolver negali tyliai pasisavinti rankinės būsenos.

Known boundary

Free-shipping piniginė vertė Best Deal grupėse dar neskaičiuojama, o WC_Cart_Totals suderinamumas lieka sekama release rizika. Šios ribos sąmoningai neslepiamos.