forum.bitel.ru
http://forum.bitel.ru/

помогите сформировать страничку в личном кабинете
http://forum.bitel.ru/viewtopic.php?f=22&t=2390
Страница 1 из 1

Автор:  Rionet [ 04 июн 2009, 12:20 ]
Заголовок сообщения:  помогите сформировать страничку в личном кабинете

В общем задача сделать просмотр балланса следующего вида:

1) локальное время системы дд.мм.гг чч.мм.сс.
2) текущий балланс Х руб.
3) этих денег хватит на Y дней.
4) предполагаемая дата отключения дд.мм.гг.
5) текущий тариф и абонентская плата в месяц ZZ руб.

1) с первым пунктом проблем нет. в вики есть пример как схватить текущее время.

2) здесь тоже нету, текущий баланс передается в исходный XML.

5) вот тут уже начинаются сложности. Вывести название тарифа легко, оно передается в XML. А вот где взять привязанную к нему абонплату?
Поидее она должна в базе где-то лежать, т.е. можно вытащить последовательностью запросов... (все пересмотрел, не могу найти)
Абонплаты у нас начисляются подневно. Их две, одна за доступ к сети (pppoe логин) - пропорциональна количеству логинов в договоре, другая за интернет - одна на договор в зависимости от тарифа. Начисляется ежедневно месячная сумма * 12 / 365.
Каким образом посчитать точно сколько все-таки абонент платит за месяц?

3,4) Тут нужно разделить текущий балланс на подневную абонплату и составить прогноз. Для безлимитов получается легко и точно.
Для трафиковых сложнее - у них помимо абонплаты есть наработка трафика.
Желательно бы учитывать реальные расходы за последние N дней и по ним составлять прогноз.
в принципе то же самое будет нормально работать и для безлимитов т.к. расходы в день постоянные.
Это можно сделать? если да, то как..

Автор:  Jimson [ 04 июн 2009, 12:46 ]
Заголовок сообщения: 

из базы выбрать наработку за X дней и расчитать средний расход в день
проблема будет не в этом, а в ситуации когда идут смены тарифных планов, особенно когда абонент сменил тарифный план и видит в "прогнозе" батву

Автор:  Rionet [ 04 июн 2009, 15:10 ]
Заголовок сообщения: 

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

остается только вопрос по правильной выборке абонплаты.

Автор:  Rionet [ 05 июн 2009, 22:56 ]
Заголовок сообщения: 

как в XSLT прибавить к дате N дней??

Автор:  Jimson [ 05 июн 2009, 23:55 ]
Заголовок сообщения: 

где то неподалеку тут тема, или тут или в модуле билл, как работать с датой, можно неправильно через sqlquery, а можно правильно через расширение "григорианский календарь", правда в хз доступен ли этот класс в 4.5 из xslt

Автор:  Rionet [ 06 июн 2009, 01:22 ]
Заголовок сообщения: 

спасибо.
С расширениями промучался полдня (даже написал свой алгоритм для разности дат). В результате нашел решение через sql.

Код:
mysql> SELECT DATE_ADD('2008-01-02', INTERVAL 31 DAY);
        -> '2008-02-02'


выглядит по-индусски, но работает.


Разбором тарифов по БД я так понял никто не занимается.
я наверное тоже не буду, tpid передается - забью табличку соответствия абонплаты для каждого и бог с ним. Не так часто они меняются. Хотя и некузяво.

PS: было бы хорошо все-таки в вики понятный пример разбора тарифа, можно было бы очень красиво выводить дополнительную информацию.

Автор:  Amir [ 08 июн 2009, 14:11 ]
Заголовок сообщения: 

http://wiki.bgbilling.ru/index.php/XSLT

Автор:  Rionet [ 08 июн 2009, 22:42 ]
Заголовок сообщения: 

Спасибо. я выучил уже эту страничку наизусть.

собственно, вопрос в первом посте был в другом -
я пролазил всю базу MySql Administrator-ом и не смог найти самой цифры абонплаты. Т.е. той самой СУММЫ в день, которую я выставил в консоли при создании тарифа.
просто запутался.

потом отказался от этой идеи и забил в шаблоне жесткое соответствие абонплаты и tpid. не так уж и часто тарифы меняются, можно и переправить ручками шаблон...

Автор:  stark [ 09 июн 2009, 12:50 ]
Заголовок сообщения: 

Rionet писал(а):
Спасибо. я выучил уже эту страничку наизусть.

собственно, вопрос в первом посте был в другом -
я пролазил всю базу MySql Administrator-ом и не смог найти самой цифры абонплаты. Т.е. той самой СУММЫ в день, которую я выставил в консоли при создании тарифа.
просто запутался.

потом отказался от этой идеи и забил в шаблоне жесткое соответствие абонплаты и tpid. не так уж и часто тарифы меняются, можно и переправить ручками шаблон...


цена в траифе - это прсото оредной узел в дереве , там кроме цены есть дургие параметры этого узла дерева и все это собрано в одну строку .чтобы вытащить цену, нужно распарсить эту строку

Страница 1 из 1 Часовой пояс: UTC + 5 часов [ Летнее время ]
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/