BiTel

Форум BiTel
bgbilling.ru     docs.bitel.ru     wiki.bitel.ru     dbinfo.bitel.ru     bgcrm.ru     billing.bitel.ru     bitel.ru    
Текущее время: 16 июн 2024, 02:43

Часовой пояс: UTC + 5 часов [ Летнее время ]




Начать новую тему Ответить на тему  [ Сообщений: 8 ] 
Автор Сообщение
СообщениеДобавлено: 20 дек 2011, 11:54 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 15 июл 2011, 12:20
Сообщения: 201
Откуда: Челябинск
Карма: 0
Добрый день.

Подскажите как узнать кто сидел под неким адресом (динамический пул) в заданное время или вообще кто сидел под неким адресом? Через поиск в модуле либо статику ищет, либо не понятно вообще что ищет :)

_________________
Клиент: 7.2.395 / 27.08.2020 04:26:27
Сервер: 7.2.1268 / 27.08.2020 04:26:38


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 20 дек 2011, 12:18 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 29 мар 2010, 23:11
Сообщения: 5854
Карма: 472
Не работал с модулем Inet, но в DialUp ищу вот так
Код:
select * from log_session_201112 where inet_ntoa(ipaddr) like '192.168.0.1'

_________________
Цитаты великих людей :umnik:
Напишите в helpdesk © stark
повторяю: => хелпдеск => доработка => профит © dimOn
свершилось... © skn
Мой код изящен, лёгок, оригинален, краток. Как прохладный весенний ветерок, как звонкий ручей! © dimOn
Вежливый разработчик © Artur
Эти баги тоже исправлены, как и те, которые еще не написаны © Artur
ну т.е. существует воркэраунд, ок © dimOn


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 20 дек 2011, 12:26 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 15 июл 2011, 12:20
Сообщения: 201
Откуда: Челябинск
Карма: 0
Phricker писал(а):
Не работал с модулем Inet, но в DialUp ищу вот так
Код:
select * from log_session_201112 where inet_ntoa(ipaddr) like '192.168.0.1'

Это хорошо, если мне самому нужно, но не у всех есть доступ к мусклю, может все же есть штатные способы :)

_________________
Клиент: 7.2.395 / 27.08.2020 04:26:27
Сервер: 7.2.1268 / 27.08.2020 04:26:38


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 20 дек 2011, 14:10 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 20 апр 2009, 12:03
Сообщения: 3092
Откуда: Иркутск
Карма: 338
Отчет сделать. Я делал такой для поиска по mac-адресу.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 21 дек 2011, 21:42 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 08 мар 2007, 20:44
Сообщения: 1570
Откуда: Челябинск
Карма: 18
а примерчего в студию?

_________________
Интернет и телефония оптом со склада, или в розницу


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 22 дек 2011, 06:31 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 20 апр 2009, 12:03
Сообщения: 3092
Откуда: Иркутск
Карма: 338
Для диалапа:

dialup_csv_session_by_mac.rep.xml

Код:
<?xml version="1.0" encoding="UTF-8"?>
<report title="Сессии по мак-адресу" type="java">

        <month name="month" title="Месяц"/>
        <textField name="mac" title="Мак-адрес" textAfter="формат: 4567.890a.bcde"/>

        <fields>
                <item id="id" title="id"/>
                <item id="lid" title="login id"/>
                <item id="login" title="login"/>
                <item id="ip" title="IP"/>
                <item id="nas_id" title="NAS id"/>
                <item id="nas_port" title="NAS port"/>
                <item id="session_id" title="session id"/>
                <item id="session_start" title="start"/>
                <item id="session_stop" title="stop"/>
                <item id="session_time" title="time"/>
                <item id="input_octets" title="input octets"/>
                <item id="output_octets" title="output octets"/>
        </fields>

</report>


dialup_csv_session_by_mac.java

Код:
import java.sql.*;
import java.util.*;
import java.util.regex.*;
import java.sql.*;
import bitel.billing.server.util.*;
import bitel.billing.server.contract.bean.*;
import bitel.billing.common.*;

public void fillReport( con, filter, bitel.billing.server.reports.BGCSVReport.ReportResult result)
{

        Calendar month = filter.getCalendarParam("month");
        int mid = filter.getIntParam("mid");
        String mac = filter.getStringParam("mac");

        query = "select "+
        "id, "+
        "lid, "+
        "login_name login, "+
        "nas_id, "+
        "nas_port, "+
        "session_id, " +
        "session_start, " +
        "session_stop, " +
        "session_time," +
        "from_number, " +
        "input_octets, " +
        "output_octets, " +
        "INET_NTOA(ipaddr) ip " +

        "from " +
        Utils.getMonthTableName("log_session_"+mid,month.getTime()) +

        " where "+

        "from_number = TRIM(\""+mac+"\") ";

        ps = con.prepareStatement( query );

        rs = ps.executeQuery();

        data = new ArrayList(rs.getFetchSize());

        while( rs. next() )
        {
                id = rs.getString("id");
                lid = rs.getString("lid");
                login = rs.getString("login");
                nas_id = rs.getString("nas_id");
                nas_port = rs.getString("nas_port");
                session_id = rs.getString("session_id");
                session_start = rs.getString("session_start");
                session_stop = rs.getString("session_stop");
                session_time = rs.getString("session_time");
                input_octets = rs.getString("input_octets");
                output_octets = rs.getString("output_octets");
                ip = rs.getString("ip");

                map = new HashMap();
                map.put( "id", id );
                map.put( "lid", lid );
                map.put( "login", login );
                map.put( "nas_id", nas_id );
                map.put( "nas_port", nas_port );
                map.put( "session_id", session_id );
                map.put("session_start", session_start );
                map.put("session_stop", session_stop );
                map.put("session_time", session_time );
                map.put("input_octets", input_octets );
                map.put("output_octets", output_octets );
                map.put("ip", ip );
                data.add( map );
        }

        result.setData( data );
}


Последний раз редактировалось Cromeshnic 22 дек 2011, 09:48, всего редактировалось 1 раз.

Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 22 дек 2011, 09:12 
Не в сети
Аватара пользователя

Зарегистрирован: 27 янв 2010, 16:12
Сообщения: 941
Откуда: Уфа
Карма: 124
Cromeshnic писал(а):
Для диалапа:

dialup_csv_session_by_mac.rep.xml

Код:
<?xml version="1.0" encoding="UTF-8"?>
<report title="Сессии по мак-адресу" type="java">

        <month name="month" title="Месяц"/>
        <textField name="mac" title="Мак-адрес" textAfter="формат: 4567.890a.bcde"/>

        <fields>
                <item id="id" title="id"/>
                <item id="lid" title="login id"/>
                <item id="login" title="login"/>
                <item id="ip" title="IP"/>
                <item id="nas_id" title="NAS id"/>
                <item id="nas_port" title="NAS port"/>
                <item id="session_id" title="session id"/>
                <item id="session_start" title="start"/>
                <item id="session_stop" title="stop"/>
                <item id="session_time" title="time"/>
                <item id="input_octets" title="input octets"/>
                <item id="output_octets" title="output octets"/>
        </fields>

</report>


dialup_csv_session_by_mac.java

Код:
import java.sql.*;
import java.util.*;
import java.util.regex.*;
import java.sql.*;
import bitel.billing.server.util.*;
import bitel.billing.server.contract.bean.*;
import bitel.billing.common.*;

public void fillReport( con, filter, bitel.billing.server.reports.BGCSVReport.ReportResult result)
{
.....
        query = "select "+
        "id, "+
        "lid, "+
        "login_name login, "+
        "nas_id, "+
        "nas_port, "+
        "session_id, " +
        "session_start, " +
        "session_stop, " +
        "session_time," +
        "from_number, " +
        "input_octets, " +
        "output_octets, " +
        "int_to_ip(ipaddr) ip " +

        "from " +
        Utils.getMonthTableName("log_session_"+mid,month.getTime()) +

        " where "+

        "from_number = TRIM(\""+mac+"\") ";

 ......
}



Сурово вы строку запроса формируете =)

_________________
С уважением, Гареев Артур. Вежливый разработчик ООО "Бител".


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 22 дек 2011, 10:00 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 20 апр 2009, 12:03
Сообщения: 3092
Откуда: Иркутск
Карма: 338
Зато наглядно :)
Всё равно оно должно оптимизироваться...


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 8 ] 

Часовой пояс: UTC + 5 часов [ Летнее время ]


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
POWERED_BY
Русская поддержка phpBB
[ Time : 0.075s | 36 Queries | GZIP : On ]