Подскажите, в какой таблице регистрируется использование промо-акции с признаком once_per_customer = Y
Например, мы запускаем акцию «Скидка за регистрацию». Одно из условий: группа пользователей равно зарегистрированные. И получается, что все ранее зарегистрированные тоже получают эту скидку. А этого делать мы не планируем.
Навскидку точно не скажу, нов таблице users кажется есть поле promotions или как то так, с сериализованным массивом промо акций. Возможно там, да это и вполне логично было бы
Пс. Есть еще такое поле в каждом заказе, но находить все заказы покупателя, вытаскивать это поле, десериализовывать массивы и искать в них - по мне так слишком затратно.
Пс2. Покопался в таблицах, похоже действительно эта информация зарыта в сериализованных массивах в таблице order_data. Если так - понятно, почему много промо - боль и тормоза, и почему любая попытка влезть сюда - страшный головняк. Буду рад, если ошибаюсь.
То есть нужно будет тупо всем зарегистрированным пользователям добавить нужный promotion_id в прежние заказы. Эх, врукопашную придется…
Хм, интересно, кстати, а если у зарегистрированного пользователя до этого не было заказов? Выходит, он все равно скидку получит? Какой-то тут факап получается…
Хотя, может, это и логично? И ничего страшного? -)
Как-то пару лет назад была похожая мысль, давать скидку за регистрацию. Сделать таким образом, чтобы вновь зарегистрированный пользователь получал баллы. Но все загнулось на стадии фантазии, так как оказалось, что в мультивендоре баллы не работают.
Не плохо бы такой функционал в коробке, но чувствую предлагать его в соответствующей теме бессмысленно. Лучше уж не отвлекать разработчиков на всякие прелести и дать им возможность исправить недоделки в уже существующей функциональности.