Андрей

Андрей

С нами с 10 декабря 2022; Место в рейтинге пользователей: #6445
Павел Гвоздь
14 декабря 2022, 10:10
1
0
В целом всё, как написал Николай, но вместо того, чтобы в профиль юзера писать использованные промокоды, надо написать чуть более сложный запрос в БД, в котором брать все заказы (msOrder) текущего пользователя, к этому запросу джоинить (innerJoin) заказы с промокодом (mspc2CouponOrder) и в условиях выборки (where) добавить mspc2CouponOrder.code = нужному коду промокода.

Выборка позволит получить заказы пользователя с нужным промокодом. Вешаем эту выборку и логику проверки на событие mspc2OnBeforeSetCoupon. В доке есть кейс, как отменить применение промокода на этом событии.

P.S. Сорри за долгий ответ.