Нужна помощь в написании SQL для применения рекламных предложений в корзине покупок на кассе - PullRequest
3 голосов
/ 26 августа 2010

Не смейтесь, но я разработчик Lotus Notes (нереляционная база данных!), Пытаюсь работать с SQL, и, хотя у меня есть базовые концепции, я застрял на чем-то, что я считаю "advanced ".

Представьте, что пользователь достигает онлайн-заказа, добавив набор товаров в свою корзину.Мне нужно применить акции к корзине.

Эти акции смотрят на предметы в корзине и добавляют «очки» для любой комбинации, которая соответствует предопределенному «комплекту».Промо-акции также должны быть ориентированы на пользователей в определенных странах (информация, полученная в момент регистрации) и другие личные данные.

Промо-акции вводятся и поддерживаются командой администратора сайта и должны быть настолько гибкими, насколько это возможно.возможный.Таким образом, они могут вознаграждать людей за такие вещи, как «Купите продукты X типа Y и получите 50% дополнительных очков» или «3 или более XE-123 и добавьте 500 очков» и т. Д.

Прямо сейчас я ищудля общего направления.Как я должен хранить критерии, которые соответствуют элементам в корзине для любого из текущих рекламных акций?Сделает ли одна большая хранимая процедура код C #, который строит цикл корзины во всех рекламных акциях и определяет, какие из них подходят?

Сейчас у меня даже нет схемы таблиц.Просто знание того, как это должно работать, и небольшая идея, с чего начать.

Джейк

Ответы [ 2 ]

1 голос
/ 26 августа 2010

Я предлагаю , а не использовать SQL для такого рода бизнес-логики.

База данных - хорошее место для хранения информации о продуктах, таких как тип Y или тип X. Это делает проект базы данных довольно простым.

То, что вы упоминаете о C #, кажется лучшим направлением. Существует много информации о трехуровневой архитектуре для поиска, которая может помочь объяснить преимущества этой стратегии.

0 голосов
/ 26 августа 2010

«Максимально гибкий» - это красный флаг (ИМХО). Я бы попробовал прибить это к:

  • «Бонус с фиксированной суммой и / или процент (от общего количества корзин / пакетов) (три столбца в таблице помощников)
  • Когда корзина содержит комбинацию, которая соответствует предварительно определенному «комплекту», где «комплект» содержится в вспомогательной таблице с несколькими строками, с идентификатором комплекта и строкой для каждого элемента в комплекте, содержащего, по крайней мере ItemID и количество.

И никакая другая награда невозможна. Это необходимо для того, чтобы проект / требование были управляемыми.

Затем создайте SP, который проверяет наличие пакетов в корзине и применяет соответствующие акции (как они хранятся в таблице первого помощника).

Также убедитесь, что вы знаете требование, возможно ли 1 или несколько рекламных акций.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...