Cómo restaurar el código de cupón después de la cancelación del pedido en Magento 2

Estás leyendo la publicación: Cómo restaurar el código de cupón después de la cancelación del pedido en Magento 2

espacio de nombres Proveedor\Extensión\Observador;

use Magento\SalesRule\Model\Coupon;

use Magento\SalesRule\Model\RuleFactory;

observador de clase

{

modelo de cupón de $ protegido;

regla protegida $;

función pública __construir(

Cupón $cupónModelo,

RuleFactory $regla

)

{

$this->couponModel = $couponModel;

$esta->regla = $regla;

}

función pública ejecutar ($ observador)

{

$evento = $observador->getEvent();

$pedido = $evento->getPayment()->getOrder();

if ($pedido->canCancelar()) {

if ($código = $pedido->getCouponCode()) {

$cupón = $este->modelo_cupón->crear()->cargar($código, ‘código_cupón’);

$cupón->setTimesUsed($cupón->getTimesUsed() – 1);

$cupón->guardar();

if ($clienteId = $pedido->getClienteId()) {

if ($clienteCupón = $este->regla->crear()->cargar($cupón->getId())) {

$CupónCliente->setTimesUsed($CupónCliente->getTimesUsed() – 1);

$clienteCupón->guardar();

}

}

}

}

$urlInterface = \Magento\Framework\App\ObjectManager::getInstance()->get(‘Magento\Framework\UrlInterface’);

return $urlInterface->getCurrentUrl();

}

}

🔥 Recomendado:  Cómo leer los mensajes de texto de alguien sin instalar software en su teléfono en 2023