forum.bitel.ru http://forum.bitel.ru/ |
|
API для работы с логами телефонии http://forum.bitel.ru/viewtopic.php?f=19&t=7391 |
Страница 1 из 1 |
Автор: | Phricker [ 06 ноя 2012, 18:15 ] |
Заголовок сообщения: | API для работы с логами телефонии |
Добрый день. Есть в API что-нибудь такое, что позволит вывести все звонки за определенный период не извращаясь с договорами и прочим? Все что я нашел в ReportManager'е работает либо с ID договора, либо с ID из data_log_{mid}_{yyyyMMdd} где получается надо сначала перебирать все дни в пределах месяца, а потом перебирать ID в таблицах я уж промолчу для чего использовать подневные таблицы если те же логи сессий - уже помесячные |
Автор: | Phricker [ 06 ноя 2012, 18:46 ] |
Заголовок сообщения: | Re: API для работы с логами телефонии |
ап Stark писал(а): нужно что-то уже вчера (директор там что-то намылил уже, маркетолог над вами стоит и т.п)
|
Автор: | Phricker [ 06 ноя 2012, 23:34 ] |
Заголовок сообщения: | Re: API для работы с логами телефонии |
Ввысь |
Автор: | skn [ 07 ноя 2012, 01:26 ] |
Заголовок сообщения: | Re: API для работы с логами телефонии |
а что значит "все звонки"? в АРМе такое где нибудь выводится? |
Автор: | Phricker [ 07 ноя 2012, 02:18 ] |
Заголовок сообщения: | Re: API для работы с логами телефонии |
В клиенте биллинга не видел. Хотя не исключено что не так смотрел ![]() Объясню для чего. В конце месяца получить отчет об общем кол-ве трафика прошедшем через станцию / получить все звонки за период для какой-то своей цели / ну и т.п. Все звонки это все "сырые" логи и все уже тарифицированные. Например сравнить кол-во "сырого" трафика и уже протарифицированного, чтобы посмотреть куда что ушло может что упустил. |
Автор: | skn [ 07 ноя 2012, 03:54 ] |
Заголовок сообщения: | Re: API для работы с логами телефонии |
см. в сторону sql запросов |
Автор: | skyb [ 07 ноя 2012, 04:27 ] |
Заголовок сообщения: | Re: API для работы с логами телефонии |
Вам че всем не спится то ))))) |
Автор: | aiwbend [ 07 ноя 2012, 11:11 ] |
Заголовок сообщения: | Re: API для работы с логами телефонии |
Phricker писал(а): Ввысь В конфе читал что нужно в csv самым простым способом вывести. Я писал такую, имхо, очень удобную штуку Код: package ru.rta.bgbilling.otherglobal; import ru.bitel.bgbilling.kernel.script.server.dev.GlobalScriptBase; import ru.bitel.bgbilling.server.util.Setup; import ru.bitel.common.sql.ConnectionSet; import bitel.billing.server.util.MailMsg; import java.text.SimpleDateFormat; import java.sql.*; import java.io.*; import java.util.zip.*; import javax.activation.DataHandler; import javax.activation.DataSource; import javax.activation.FileDataSource; import javax.mail.*; import javax.mail.internet.*; import java.util.*; public class ReportsForUsersBG extends GlobalScriptBase { @Override public void execute( Setup setup, ConnectionSet connectionSet ) throws Exception { Connection con = connectionSet.getConnection(); //Получаем текущую дату и форматируем её вид для имени файла long curTime = System.currentTimeMillis(); String curStringDate = new SimpleDateFormat("dd.MM.yy").format(curTime); //Обычная дата стринг String folder = "/home/reports_for_usersBG/"; //папка для сохранения String FileName = "Необработанные задачи СКПТ:ППО(" + curStringDate + ").csv"; //имя файла в котором сохранять String folderAndFileName = folder + FileName; //String FileNameZipped = "TC" + curStringDateFilename + ".105"; //имя файла в котором зиповать //String folderAndFileNameZipped = folder + FileNameZipped; String sql = "SELECT c.title, rtt.title, rt.open_dt, rt.comment FROM contract as c LEFT JOIN register_task as rt ON c.id=rt.cid LEFT JOIN register_task_type as rtt ON rt.type=rtt.id WHERE rt.type = 18 AND rt.lm_dt is null AND rt.status = 0"; PreparedStatement ps = con.prepareStatement( sql ); ResultSet rs = ps.executeQuery(); int count = 0; PrintWriter pw = new PrintWriter(new OutputStreamWriter(new FileOutputStream(folderAndFileName), "CP1251")); //классы "вкладываются" друг в друга String header = "№Договора;Тип задачи;Дата создания;Коментарий"; pw.println(header); while(rs.next()) { String stroka = rs.getString( 1 ) + ";" + rs.getString( 2 ) + ";" + rs.getString( 3 ) + ";" + rs.getString( 4 ); pw.println(stroka); // записываем строку задачи в файл count = count + 1; //считаем общее кол-во задач } String itog = "Итого: " + count + "(задач)"; //готовим строку с итогами для записи в файл pw.println(itog); // записываем строку c итогами в файл pw.close(); // закрываем print ("Отчет по необработанным задачам сформирован и сохранен по адресу " + folderAndFileName); //Отправляем на почту------------------------------------------------------------------------------------ Vector<String> Emails = new Vector<String>(); //Emails.add("mail1@m.com"); //Emails.add("mail2@m.com"); //Emails.add("mail3@m.com"); Emails.add("mail4@m.com"); Emails.add("mail5@m.com"); MailMsg mm = new MailMsg(setup); String subject = "Необработанные задачи СКПТ:ППО(" + curStringDate + ")"; String MailText = "На " + curStringDate + " существует " + count + " необработанных задач. ... тратата..."; Multipart multipart = new MimeMultipart(); MimeBodyPart attachmentBodyPart = new MimeBodyPart(); DataSource source = new FileDataSource(folderAndFileName); //путь до отправляемого файла attachmentBodyPart.setDataHandler(new DataHandler(source)); attachmentBodyPart.setFileName(MimeUtility.encodeText(source.getName())); multipart.addBodyPart(attachmentBodyPart); mm.sendMessage(Emails, subject, MailText, multipart); print (FileName + " отправлен на " + Emails); } } Из запроса пишет нужную инфу через разделитель в файл, считает кол-во, сохраняет, отправляет на мыло. Все очень гибко ![]() |
Автор: | Phricker [ 07 ноя 2012, 11:13 ] |
Заголовок сообщения: | Re: API для работы с логами телефонии |
skn писал(а): см. в сторону sql запросов Это было бы гораздо проще если бы логи телефонии не хранились в таблицах по дням. Как по мне ![]() 2 aiwbend, тут не совсем про то, чтобы в csv сохранить. а именно само получение данных. Так я мог бы и табличный отчет написать не проблема ![]() |
Страница 1 из 1 | Часовой пояс: UTC + 5 часов [ Летнее время ] |
Powered by phpBB® Forum Software © phpBB Group http://www.phpbb.com/ |