forum.bitel.ru http://forum.bitel.ru/ |
|
Узнать когда была последняя успешная сессия ? http://forum.bitel.ru/viewtopic.php?f=5&t=8247 |
Страница 1 из 2 |
Автор: | iros [ 09 июл 2013, 15:51 ] |
Заголовок сообщения: | Узнать когда была последняя успешная сессия ? |
Добрый день. Подскажите как скриптом узнать когда у абонента была последняя успешная dialup-сессия ? По любому его логину. Возможно несколько месяцев назад. Это нужно для автоматизации расчетов и блокировок. Желательно для v4.6 Заранее спасибо. |
Автор: | snark [ 09 июл 2013, 16:48 ] |
Заголовок сообщения: | Re: Узнать когда была последняя успешная сессия ? |
Наверное как-то так: Код: SELECT
MAX(session_stop) FROM log_session_<mid>_<YYYYMM> WHERE lid = ( SELECT ul.id FROM contract AS c LEFT JOIN user_login_<mid> AS ul ON (ul.cid = c.id) WHERE c.title = 'blah' ) |
Автор: | iros [ 11 июл 2013, 01:17 ] |
Заголовок сообщения: | Re: Узнать когда была последняя успешная сессия ? |
А готовых методов API нет ? |
Автор: | snark [ 11 июл 2013, 02:27 ] |
Заголовок сообщения: | Re: Узнать когда была последняя успешная сессия ? |
В API вроде как вообще ничего такого нету, насколько я помню (когда-то давно озадачивался похожим вопросом). |
Автор: | iros [ 11 июл 2013, 12:36 ] |
Заголовок сообщения: | Re: Узнать когда была последняя успешная сессия ? |
Тогда возможно есть способ узнать последний оплаченный период ? Т.е. когда последний раз остаток на счете был положительный ? (понимаю, что это не касается dialup, но все же) |
Автор: | Phricker [ 11 июл 2013, 12:39 ] |
Заголовок сообщения: | Re: Узнать когда была последняя успешная сессия ? |
с этим проще по идее. если вы не пускаете клиента в минуса, то когда у клиента было движение по балансу - тогда и было что-то на счете. пляшите от выбора select max from contract_account |
Автор: | snark [ 11 июл 2013, 14:07 ] |
Заголовок сообщения: | Re: Узнать когда была последняя успешная сессия ? |
iros писал(а): когда последний раз остаток на счете был положительный IMHO проще посмотреть последний входящий остаток ну или когда последний раз совершался платеж и от этой даты плясать. |
Автор: | iros [ 11 июл 2013, 20:15 ] |
Заголовок сообщения: | Re: Узнать когда была последняя успешная сессия ? |
>если вы не пускаете клиента в минуса, то Вот тут как раз засада. "в минуса" пускаем. и надолго.... Как узнать когда у него кончились деньги и он перестал платить ? |
Автор: | skn [ 11 июл 2013, 20:22 ] |
Заголовок сообщения: | Re: Узнать когда была последняя успешная сессия ? |
я если у клиента минус уже полгода но он каждый месяц платит по 10 руб. ![]() |
Автор: | Phricker [ 11 июл 2013, 21:23 ] |
Заголовок сообщения: | Re: Узнать когда была последняя успешная сессия ? |
Обновляйтесь до 6.0 там автоматическое отключение клиента ![]() |
Автор: | Akhmat [ 31 июл 2013, 20:22 ] |
Заголовок сообщения: | Re: Узнать когда была последняя успешная сессия ? |
Было сделано предложение когдато разработчикам, чтобы они ввели понятия lastbill в биллинг. чтобы отслеживались последняя активность для любых модулей(для которых это возможно), самим биллингом. Но разработчики решили что это никому не нужно. пришлось городить скрипты, которые отслеживают 1) дату платежа 2) дату расхода 3) последнюю авторизацию инет 4) последнюю авторизацию воип, последняя дата из дат 1) 2) 3) 4). полюбому, это обязанность самого биллинга, учитывать такие нужные, элементарные показатели! хотябы изза того, что невозможно одним запросом получить последнюю сессию интернет или воип и т.д. |
Автор: | stark [ 01 авг 2013, 11:57 ] |
Заголовок сообщения: | Re: Узнать когда была последняя успешная сессия ? |
Akhmat писал(а): Было сделано предложение когдато разработчикам, чтобы они ввели понятия lastbill в биллинг. чтобы отслеживались последняя активность для любых модулей(для которых это возможно), самим биллингом. Но разработчики решили что это никому не нужно. пришлось городить скрипты, которые отслеживают 1) дату платежа 2) дату расхода 3) последнюю авторизацию инет 4) последнюю авторизацию воип, последняя дата из дат 1) 2) 3) 4). полюбому, это обязанность самого биллинга, учитывать такие нужные, элементарные показатели! хотябы изза того, что невозможно одним запросом получить последнюю сессию интернет или воип и т.д. Автор топика же хочет знать когда именно была сессия. А вам нужен общий флаг - lastbill . Вы как минимум хотите разного . У всех субъективное понятие элементарных показателей. |
Автор: | Phricker [ 01 авг 2013, 13:18 ] |
Заголовок сообщения: | Re: Узнать когда была последняя успешная сессия ? |
Ему нужен флаг lastbill для каждого модуля. Для DialUp - когда была последняя сессия Для Bill - последний счет и т.д. и т.п. Я так понял |
Автор: | Akhmat [ 01 авг 2013, 16:53 ] |
Заголовок сообщения: | Re: Узнать когда была последняя успешная сессия ? |
Phricker, ну да, все правильно понял. Автор топика хочет только лишь lastbillDialUp, а предложение общее, для всех модулей. В общем, задание разработчикам. в туду, и приступайте |
Автор: | skn [ 01 авг 2013, 19:36 ] |
Заголовок сообщения: | Re: Узнать когда была последняя успешная сессия ? |
Akhmat писал(а): Phricker, ну да, все правильно понял. Автор топика хочет только лишь lastbillDialUp, а предложение общее, для всех модулей. В общем, задание разработчикам. в туду, и приступайте а что такое lastbill например для модуля Npay когда есть наработка по какой то услуге за текущий месяц? а если наработка была, а после пересчета ее не стало, то чему должно стать равен lastbill для модуля inet что является критерием lastbill, дата последнего нетфлоу пакета, дата начала последней сессии, дата последнего запуска тарификатора, дата изменения статуса, дата активации тарифной опции... |
Автор: | Akhmat [ 01 авг 2013, 20:44 ] |
Заголовок сообщения: | Re: Узнать когда была последняя успешная сессия ? |
писал уже. для тех модулей где lastbill имеет смысл. для npay смысла нет. для инет, подумайте, незнаю, не использую. и т.д. |
Автор: | Akhmat [ 13 авг 2013, 15:56 ] |
Заголовок сообщения: | Re: Узнать когда была последняя успешная сессия ? |
в туду уже? или ерундапредложение |
Автор: | skn [ 13 авг 2013, 16:48 ] |
Заголовок сообщения: | Re: Узнать когда была последняя успешная сессия ? |
у всех lastbill это что то свое, поэтому единого решения мы не видим... поэтому и что делать не понятно |
Автор: | Akhmat [ 14 авг 2013, 16:40 ] |
Заголовок сообщения: | Re: Узнать когда была последняя успешная сессия ? |
ластбилл<модуль> - дата последнего пользования услугами <модуль> на договоре. актуально потому что для многих модулей невозможно вычислить ластбилл одним запросом, иначе вопрос не поднимался. lastBillDialUP - дата последней сессии договора lastBillVoiceIp - дата последнего звонка lastBillPhone - дата последнего звонка lastBillIPN - ??? сложно сказать что тут будет ластбилл. на обсуждение lastBillИнет - неиспользую, ничего не могу сказать lastBillPay - дата последнего прихода lastBillCharge - дата последнего расхода и общий lastBill - самая поздняя из дат что выше. этот показатель важен, т.к. показывает дату последней активности "пользователя" договора. при этом(на мой взгляд) нужны лишь те модули, которые обсчитывают "существенную" услугу пользователю договора, так например модуль бухгалтерии, абонплат не предоставляет услуг абоненту, их ластбилл не нужен. |
Автор: | skn [ 14 авг 2013, 18:18 ] |
Заголовок сообщения: | Re: Узнать когда была последняя успешная сессия ? |
т.е при создание каждой сессий обновлять запись в таблице Код: дата+время | договор | модуль или учет вести с точностью до логина, IP адреса, объекта, транка, интерфейса и т.д.. (т.е. например на договоре два объекта и у каждого свой логин) как поступать при переобсчетах? удалять последнюю запись и чем ее заменять? копаться в логах в поисках предыдущих сесиий? или при переоформлениях. |
Автор: | Akhmat [ 14 авг 2013, 19:16 ] |
Заголовок сообщения: | Re: Узнать когда была последняя успешная сессия ? |
skn писал(а): т.е при создание каждой сессий обновлять запись в таблице Код: дата+время | договор | модуль Да да, то что нужно! в общем по модулю при переобсчетах ничего не менять. переобсчет к потреблению услуг не относится. еще раз про ластбилл: он интересен как показатель потребления услуги конечным пользователем. Хм, наверное точнее не lastbill, а lastuse, типа последнее потребеление услуги |
Автор: | Akhmat [ 14 авг 2013, 19:24 ] |
Заголовок сообщения: | Re: Узнать когда была последняя успешная сессия ? |
Да, и в карточке договора отображать эту инфу поудобнее ![]() |
Автор: | stark [ 15 авг 2013, 11:37 ] |
Заголовок сообщения: | Re: Узнать когда была последняя успешная сессия ? |
Akhmat писал(а): skn писал(а): т.е при создание каждой сессий обновлять запись в таблице Код: дата+время | договор | модуль Да да, то что нужно! в общем по модулю при переобсчетах ничего не менять. переобсчет к потреблению услуг не относится. еще раз про ластбилл: он интересен как показатель потребления услуги конечным пользователем. Хм, наверное точнее не lastbill, а lastuse, типа последнее потребеление услуги Делать это при создании сессии - не рационально . Это отчетность. Это должен запускаться какой-то скрипт , который периодически должен раз в сутки ее строить . Или вообще просто отчет , который сразу это посчитает и выведет . |
Автор: | Akhmat [ 15 авг 2013, 16:44 ] |
Заголовок сообщения: | Re: Узнать когда была последняя успешная сессия ? |
точно, раз в сутки планировщиком, еще лучше! ну, рекомендую в биллинг добавить этот инструментарий, в карточке эта инфа определенно полезна: последняя активность конечного пользователя. ps не додумался, надо у себя переделать под планировщик это дело, в скриптах авторизации это раздражало. в общемто получил что хотел. всем спасибо |
Автор: | stark [ 15 авг 2013, 18:08 ] |
Заголовок сообщения: | Re: Узнать когда была последняя успешная сессия ? |
Akhmat писал(а): точно, раз в сутки планировщиком, еще лучше! ну, рекомендую в биллинг добавить этот инструментарий, в карточке эта инфа определенно полезна: последняя активность конечного пользователя. ps не додумался, надо у себя переделать под планировщик это дело, в скриптах авторизации это раздражало. в общемто получил что хотел. всем спасибо Может быть потом скриптом в wiki поделитесь ? ![]() |
Автор: | Akhmat [ 15 авг 2013, 19:01 ] |
Заголовок сообщения: | Re: Узнать когда была последняя успешная сессия ? |
хорошо. вынужден в параметры договора сохранять инфу по ним, чтобы была возможность видеть их в карточке. не совсем удобное место, лучшего решения вроде нету |
Автор: | skn [ 15 авг 2013, 19:51 ] |
Заголовок сообщения: | Re: Узнать когда была последняя успешная сессия ? |
Akhmat писал(а): хорошо. вынужден в параметры договора сохранять инфу по ним, чтобы была возможность видеть их в карточке. не совсем удобное место, лучшего решения вроде нету прежде чем место искать надо понять кому, когда и для чего эта инфа нужна. |
Автор: | Akhmat [ 15 авг 2013, 20:39 ] |
Заголовок сообщения: | Re: Узнать когда была последняя успешная сессия ? |
1. это быстрая информация. открыв карточку договора, нельзя узнать сразу, когда пользователь последний раз пользовался конкретной услугой, либо последнюю активность по договору. для тех поддержки, и нетолько 2. т.к. шапка раздела баланс(месяц, и год последнего созданного баланса договора) может быть неточной(ошибочные пересчеты, прочие ошибки), по ней нельзя со 100% уверенностью сказать, когда договор последний раз был активен. для аналитики |
Автор: | skn [ 15 авг 2013, 20:50 ] |
Заголовок сообщения: | Re: Узнать когда была последняя успешная сессия ? |
Akhmat писал(а): 1. это быстрая информация. открыв карточку договора, нельзя узнать сразу, когда пользователь последний раз пользовался конкретной услугой, либо последнюю активность по договору. для тех поддержки, и нетолько 2. т.к. шапка раздела баланс(месяц, и год последнего созданного баланса договора) может быть неточной(ошибочные пересчеты, прочие ошибки), по ней нельзя со 100% уверенностью сказать, когда договор последний раз был активен. для аналитики для аналитики лазеть в каждый договор занятие не благодарное. да и не ее эта задача... ![]() я спрашивал про процесс, как то вы же этот договор нашли и полезли в него, или у ваших менеджеров такой моцион, они весь день по очереди открывают и закрывают все договора ... т.е. они как то определили этот договор и зачем то в него зашли, вот мне и интересно как они его нашли и что будут делать когда в него зайдут.... |
Автор: | Akhmat [ 15 авг 2013, 22:25 ] |
Заголовок сообщения: | Re: Узнать когда была последняя успешная сессия ? |
skn писал(а): для аналитики лазеть в каждый договор занятие не благодарное. да и не ее эта задача... да не лазеть - по contract_balance полям yy, mm. ты прям форест гамп ![]() ![]() как сделать(с максимальной точностью) отчет по неактивным договорам более 3-х месяцев? неактивный договор - на котором не было потребления услуги конечным пользователем. skn писал(а): я спрашивал про процесс, как то вы же этот договор нашли и полезли в него, или у ваших менеджеров такой моцион, они весь день по очереди открывают и закрывают все договора ... т.е. они как то определили этот договор и зачем то в него зашли, вот мне и интересно как они его нашли и что будут делать когда в него зайдут.... договор открывается обычно при звонке абонента, т.е. клиент на трубке. это быстрая инфа, которая возможно поможет менеджеру не ковыряться глубоко в карточке договора(к примеру простой вопрос), быстрее действовать - а это повышает качество обслуживания. -----итог---- Считаю что такой инфы не хватает в биллинге(отслеживание данных), и в карточке договора(отображение данных). |
Страница 1 из 2 | Часовой пояс: UTC + 5 часов [ Летнее время ] |
Powered by phpBB® Forum Software © phpBB Group http://www.phpbb.com/ |