BiTel

Форум BiTel
bgbilling.ru     docs.bitel.ru     wiki.bitel.ru     dbinfo.bitel.ru     bgcrm.ru     billing.bitel.ru     bitel.ru    
Текущее время: 29 июн 2025, 12:58

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




Начать новую тему Ответить на тему  [ Сообщений: 3 ] 
Автор Сообщение
СообщениеДобавлено: 05 мар 2011, 10:32 
Не в сети

Зарегистрирован: 10 июн 2010, 08:58
Сообщения: 59
Откуда: Омск
Карма: 0
Здравствуйте, имеетс ПС по протоколу ОСМП. Тип поиска задан по номеру договора (mps.1.search.mode=contract). Также задан mps.1.search.pattern=\A((?:6\d{5}))\z:::NK-pppoe-1, то есть все номера начинающиеся на 6 относятся к одному договору. на событие приход платежа навешан скрипт поведения. Как можно в скрипте поведения вытащить номер куда поступил платеж. Например, кладут деньги на номер 600001 и 600002, деньги падают на договор NK-pppoe-1, но в скрипте нужно вытащить эти 600001 и 600002.
в скрипте написано:
<code>
payment = event.getPayment();
cid = payment.getContractID();
date = payment.getPaymentDate();//
summa = payment.getSumma();
userID = payment.getUserID();

print("---//-----");
print("date="+date);
print(cid);
print(summa);
print(userID);
</code>

cid, date, summa определяются нормально, а userID всегда 0.

подскажите плиз.

сервер 5.0 сборка 791 от 21.02.2011
mps вер. 5.0 сборка 195 от 27.01.2011 15:34:34


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 05 мар 2011, 12:27 
Не в сети

Зарегистрирован: 10 июн 2010, 08:58
Сообщения: 59
Откуда: Омск
Карма: 0
Получился такой код. Сильно коряво? или есть методы проще?

Код:
payment = event.getPayment();
cid = payment.getContractID();
date = payment.getPaymentDate();//
summa = payment.getSumma();
pID = payment.getID();
PAYMENT_TYPE_OSMP = 12;
SimpleDateFormat dateformatYYYYMMDD = new SimpleDateFormat("yyyyMM");
SimpleDateFormat dateformatYYYYMMDDhhmmss = new SimpleDateFormat("yyyyMMddhhmmss");
StringBuilder nowYYYYMMDD = new StringBuilder( dateformatYYYYMMDD.format( date ) );
StringBuilder nowYYYYMMDDhh = new StringBuilder( dateformatYYYYMMDDhhmmss.format( date ) );
MID_MPS=18;
String tableName="mps_payment_"+MID_MPS+"_"+nowYYYYMMDD;// берем текущую таблицу модуля мпс
ps = con.prepareStatement("select rawNumber from "+tableName+" where pid=?"); //берем поле rawNumber в нем как раз нужный логин
ps.setInt(1,pID);
ResultSet rs=ps.executeQuery();
String userName;
while (rs.next())                 
    {
      userName = rs.getString("rawNumber");
     }
ps.close();
print(userName);   


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 15 апр 2011, 18:34 
Не в сети
Разработчик

Зарегистрирован: 27 ноя 2006, 20:36
Сообщения: 5715
Карма: 93
Пожалуй, проще никак.


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

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


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

Сейчас этот форум просматривают: Bing [Bot] и гости: 1


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

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