Подписка на журналы Бизнес-логика и модель данных - PullRequest
1 голос
/ 27 ноября 2011

В настоящее время я работаю над веб-приложением, которое управляет подписками на журналы, которое имеет три плана (6 месяцев, 1 год, 2 года).

Участник подпишется на один из этих трех планов, для которого после завершения платежа подписка начнется и истечет в последний день месяца в конце периода.

Подписка может быть продлена до истечения срока ее действия, что добавит количество месяцев к периоду подписки.

Пример: 6-месячный подписчик оплачивает членство в течение одного года в четвертый месяц, тогда у этого участника будет 14-месячное членство.

Какова лучшая бизнес-логика и модель данных для этого сценария?

Я думаю просто добавить новый период подписки к оставшимся периодам в качестве даты истечения срока действия нового членства.

Спасибо.

1 Ответ

0 голосов
/ 27 ноября 2011

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

Однако, чтобы в будущем можно было добавить больше функций (например, для составления отчетов обо всех подписчиках, которые непрерывно подписывались в течение десяти или более лет), возможно, было бы лучше иметь таблицу SUBSCRIPTIONS, которая по существу говорит: «Вкл. дата X , пользователь Y купил подписку на Z месяцев ". Все остальное можно понять из этого.

...