forum.bitel.ru
http://forum.bitel.ru/

Получить логин плательщика осмп из события Приход платежа
http://forum.bitel.ru/viewtopic.php?f=18&t=5224
Страница 1 из 1

Автор:  dreamer_fkn [ 05 мар 2011, 10:32 ]
Заголовок сообщения:  Получить логин плательщика осмп из события Приход платежа

Здравствуйте, имеетс ПС по протоколу ОСМП. Тип поиска задан по номеру договора (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

Автор:  dreamer_fkn [ 05 мар 2011, 12:27 ]
Заголовок сообщения:  Re: Получить логин плательщика осмп из события Приход платеж

Получился такой код. Сильно коряво? или есть методы проще?

Код:
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 ]
Заголовок сообщения:  Re: Получить логин плательщика осмп из события Приход платеж

Пожалуй, проще никак.

Страница 1 из 1 Часовой пояс: UTC + 5 часов [ Летнее время ]
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/