|
|
|
нужны идеи: биллинг, тарифные планы
|
|||
|---|---|---|---|
|
#18+
дано: предположим, есть некие users (user_id, name). есть товар - электронные книги, музыка. юзер авторизовался и может купить: доступ к книгам и музыке на 1 месяц - 100р на 2 месяца - 150р на 3 месяцов - 200р и т.д. при этом юзер может бесплатно заморозиться (например оплатил 1 год, из них на 2 недели в отпуск ушел). юзер платит деньги, задача учитывать позволенное ему время читать. какие сущности в этом случае вы бы выделили? как организовали бы структуры данных? мне видится как-то так: 4 таблицы users (id, name) tariff_plan(id, name, cost, months) my_tariff (id, user_id, when_bought, tariff_id) periods(id, start_date, stop_date, status) ситуация: 01.08.09 куплен тариф на 1 месяц - 100р, 5.08.09 куплен тариф на 2 месяц - 150р в таблицах: users 1, 'вася' tariff_plan(id, name, cost, months) 1, на 1 месяц, 100р, 1 2, на 2 месяца, 150р, 2 3, на 3 месяцов, 200р, 3 my_tariff 1, 01.08.09, 1 2, 05.08.09, 2 (куплено два месяца доступа) periods(id, start_date, stop_date, status) 1, 01.08.09, 31.08.09, A (активный) 2, 01.09.09, 30.09.09, A (активный) 3, 01.10.09, null, N (неактивный) если добавить сюда заморозку чела (например с 10.08.09 по 15.08.09), то periods(id, start_date, stop_date, status) 1, 01.08.09, 10.08.09, A (активный) 2, 10.08.09, 15.08.09, F (заморожен) 3, 15.08.09, 05.09.09, A (активный) 4, 05.09.09, 05.10.09, A (активный) 5, 05.10.09, null, N (неактивный) вот как то так прошу высказать мнения. или же есть вариант отказаться от таблицы периодов, и держать текущий статус и кол-во дней в таблице users. но что-то в таком варианте сильно настораживает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.09.2009, 18:22 |
|
||
|
нужны идеи: биллинг, тарифные планы
|
|||
|---|---|---|---|
|
#18+
Когда сдача диплома ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.09.2009, 12:04 |
|
||
|
нужны идеи: биллинг, тарифные планы
|
|||
|---|---|---|---|
|
#18+
С уважением, Naf 1. тарифы - поле: дата - тарифы могут меняться 2. значения тарифа, поля: тариф-ссылка, предел дней, значение - рубли 3. клиенты 4. оплаты (дата, клиент-ссылка, значение тарифа - ссылка, сумма) 5. заявки на блокирование (дата, клиент-ссылка, дата окончания) 6. таблица расчета: (дата начала периода, дата окончания периода, признак блокирования (булево), клиент-ссылка, регистратор - ссылка на оплату или заявку блокирования) при оплате проверяется, что период не отражен в таблице расчета по данному клиенту, заносится запись в таблицу расчета при заявки блокирования проверяется, что период отражен в таблице расчета по данному клиенту и нет блокироваия, заносится 2 записи в таблицу расчета: на данный период с признаком блокирования + на такой же за последним оплаченным продление оплаты. таким образом на некоторые даты будет приходится 2 записи в таблице расчета: оплаты и блокирования - блокирование "вытесняет" оплату ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.09.2009, 15:33 |
|
||
|
|

start [/forum/topic.php?fid=32&msg=36216869&tid=1543062]: |
0ms |
get settings: |
6ms |
get forum list: |
13ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
73ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
40ms |
get tp. blocked users: |
1ms |
| others: | 223ms |
| total: | 370ms |

| 0 / 0 |
