|
|
|
Подскажите структуру для реализации системы учета Рекламных акций
|
|||
|---|---|---|---|
|
#18+
Здравствуйте. Может тема не корректно описывает то, что мне нужно. Попробую расписать на пальцах. Наверняка есть какие-то шаблонные решения или что-то подобное. Ведь во всех магазинах есть акции, которые сразу учитываются при выбивании чека в кассе. Мне не нужно готовое решение. Нужно хотя бы примерное направление. Нигде в инете не смог найти никаких зацепок. Пришлось изобретать самому. Но универсальной системы не получается. Всегда находятся виды рекламных акций, которые не укладываются в придуманную схему. Мои придумки можно посмотреть в приложенном файле. Критика приветствуется. Так как сам вижу, что получилось некрасиво (. Суть. Есть рекламные акции. У них есть условия PromoRules - предопределенный список (PromoRuleCriterion н-р, По наличию ТМЦ (И) в заказе, По сумме ТМЦ (ИЛИ) в заказе, По сумме заказа и пр.). При срабатывании условия акция должна как-то повлиять на заказ: PromoAction.ResViewID (список на что влияется: скидка на товар, на заказ и пр.) и PromoAction.ResValue. Была мысль эти значения для гибкости вынуть в отдельную таблицу. Но и так все мутно и запутанно получилось. Вот решил обратиться сюда. Может я велосипед изобретаю. И все уже "украдено до нас"? (C) Спасибо за внимание. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.12.2015, 12:40 |
|
||
|
Подскажите структуру для реализации системы учета Рекламных акций
|
|||
|---|---|---|---|
|
#18+
Wovan2, На самом деле есть акции которые легко укладываются в схемы, а есть те которые как говорится "впихнуть невпихуемое". Поэтому универсального решения и быть не может. Тут каждый извращается как может. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.12.2015, 13:09 |
|
||
|
Подскажите структуру для реализации системы учета Рекламных акций
|
|||
|---|---|---|---|
|
#18+
Up ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.01.2016, 08:40 |
|
||
|
Подскажите структуру для реализации системы учета Рекламных акций
|
|||
|---|---|---|---|
|
#18+
Я, когда делал подобную задачу, рассматривал акции как набор фильтров для объекта с N числовыми характеристиками+ значение(либо число, либо процент от числовой характеристики №1). Т.е. акция "в первую неделю января даем скидку в 10% от суммы заказа, если в заказе есть серебряные ложечки" выглядит как "10% от А, если B (в данном случае тип объекта ) равен 10(заказ), С(в данном случае число дней с 1900.01.01) между XXXX(01.01.2016) и YYYY(07.01.2016) и любая характеристика от D до Z (каждая характеристика - ID одного из товаров заказа) равна 1045 (ID товара "серебряные ложечки")". Что такое B и что такое C - системе расчета акций без разницы, она получает таблицу объектов и таблицу характеристик объектов "на входе". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.01.2016, 10:05 |
|
||
|
Подскажите структуру для реализации системы учета Рекламных акций
|
|||
|---|---|---|---|
|
#18+
Кот Матроскин, Спасибо. Интересно, но не очень понятно. А если "ложечек" больше, н-р, 5. Как эта нотация будет выглядеть? В БД это одна таблица? С N полями? Что-то по описанию не могу вообразить :-( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.01.2016, 11:53 |
|
||
|
Подскажите структуру для реализации системы учета Рекламных акций
|
|||
|---|---|---|---|
|
#18+
Wovan2Кот Матроскин, Спасибо. Интересно, но не очень понятно. А если "ложечек" больше, н-р, 5. Как эта нотация будет выглядеть? В БД это одна таблица? С N полями? Что-то по описанию не могу вообразить :-( "Ложечек больше, например 5" - теперь я не понял. "не меньше 5 ложечек в заказе"? "5 конкретных разных товаров (ложечки, поварешечки, и т.п.)"? Как целиком выглядит условие акции, описание которой Вы не можете себе представить в этой нотации? "Акция" описывается двумя таблицами - родительской "Акции" и дочерней "Условия". "условия" можно хранить просто "Параметр больше/меньше/большеравно/меньшеравно константы", тогда условие С(в данном случае число дней с 1900.01.01) между XXXX(01.01.2016) и YYYY(07.01.2016) разваливается на 2 записи, либо в каждой записи хранить верхнюю и нижнюю границу (тогда условие "Значение параметра больше 5000 " будет выглядеть как "нижняя граница 5000, верхняя - NULL"). На вход модулю расчета акций приходит тоже 2 таблицы (я реализовывал как temporary tables) - "обьекты" и "параметры обьектов". Параметры сравниваются с соответсвующими условиями, если все условия акции для обьекта "сработали" - в поле ActionValue соответсвующей записи таблицы "обьекты" записывается значение акции (для моего примера - берется параметр А, умножается на 0.1). По результатам работы расчета если ActionValue - NULL, то обьект не попал ни под одну акцию. У меня не могло быть ситуации, чтобы обьект попал под несколько акций сразу (потому что это были не акции, а тарифы), но это не принципиальное ограничение, можно при желании реализовать разное поведение - "брать первую подходящую акцию", "брать акцию с масимальным ActionValue", "суммировать ActionValue разных акций " и т.п. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.01.2016, 12:35 |
|
||
|
Подскажите структуру для реализации системы учета Рекламных акций
|
|||
|---|---|---|---|
|
#18+
Кот Матроскин, Речь идет о чем-то подобном? См. вложение ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.01.2016, 15:38 |
|
||
|
Подскажите структуру для реализации системы учета Рекламных акций
|
|||
|---|---|---|---|
|
#18+
Кот Матроскин, Сейчас посмотрел внимательнее. Ваш подход позволяет более формализовать условия акции. Если в акции участвует много товарных позиций, то надо для каждого товара прописать однотипные условия? У меня структура очень похожа, только виды условий (и соответственно их обработка) прописаны заранее и жестко. Ваш вариант гибче, но, кажется, еще более громоздок? Или что-то не уловил? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.01.2016, 16:27 |
|
||
|
Подскажите структуру для реализации системы учета Рекламных акций
|
|||
|---|---|---|---|
|
#18+
Wovan2Кот Матроскин, Сейчас посмотрел внимательнее. Ваш подход позволяет более формализовать условия акции. Если в акции участвует много товарных позиций, то надо для каждого товара прописать однотипные условия? Необязательно - можно в "условиях" реализовать не только "Больше/меньше", но и, скажем, "один из списка" - структура и логика будут несколько сложнее, зато дублирования меньше(хотя вообще вариант условий "ИЛИ", а не "И" - у меня да, реализовывался дополнительными "техническими" акциями). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.01.2016, 17:08 |
|
||
|
|

start [/forum/topic.php?fid=32&fpage=17&tid=1540405]: |
0ms |
get settings: |
10ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
37ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
47ms |
get tp. blocked users: |
2ms |
| others: | 12ms |
| total: | 142ms |

| 0 / 0 |

Извините, этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
... ля, ля, ля ...