Как я должен внедрить эту кредитную систему? - PullRequest
0 голосов
/ 28 сентября 2011

Я создаю веб-сайт, где члены семьи могут забронировать отдых в семейном морском коттедже. Каждому участнику присваивается 40 кредитов каждый год. Участник должен иметь достаточно кредитных баллов, чтобы забронировать отпуск. (эта кредитная система гарантирует, что каждый участник имеет равные возможности для проживания в коттедже) Однако не все недели требуют одинакового количества кредитных баллов, а бронирование в последнюю минуту не требует кредитных баллов.

Мой вопрос: как мне хранить кредитные очки в базе данных? Что наиболее эффективно? За день / за пару дней / за неделю? И как мне эффективно проверить, сколько кредитных очков необходимо для данного диапазона дат, используя mysql?

Кстати: я использую Zend Framework и я знаком с кодом и т. Д. Мне просто нужен концептуальный совет;)

Ответы [ 2 ]

1 голос
/ 28 сентября 2011

Я не знаю, правильно ли я понимаю проблему здесь, но:

  • Вам необходимо сохранить в таблице «пользователи» сумму кредита, оставшуюся для каждого пользователя.
  • Вам нужно иметь другую таблицу с полями, такими как «начальный период», «конечный период», «продолжительность», «количество необходимых точек»
  • В поле длительности это может быть перечисление со значениями вроде «day "," week "," last_minute ".

Тогда логика будет в вашем PHP-коде, но с этим вы сможете получить правильное количество кредитов, необходимое каждому пользователюхочет использовать коттедж.

0 голосов
/ 28 сентября 2011

Если я правильно понимаю ваш случай, я думаю, что я бы сохранил что-то вроде:

  • количество оставшихся кредитов на пользователя
  • количество кредитов по умолчанию в день
  • количество дней до этого считается «последней минутой»
  • периодов отклонения стоимости кредита, с (дата начала, дата окончания, стоимость в день)

Тогда я бырассчитать стоимость для динамического бронирования на основе этой информации, когда пользователь должен сделать заказ.Правило бронирования в последнюю минуту можно рассматривать как особый отклоняющийся период, где начальная дата сейчас, конечная дата сейчас + «количество дней» и стоимость равна нулю.

Я предполагаю, что никто не зарезервирует коттедж дляболее короткая продолжительность, чем один день.Если бы они это сделали, я бы изменил использование «дня» выше на ту единицу времени, которая была бы разумной.

Только мои мысли.: -)

...