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/ |