BiTel

Форум BiTel
bgbilling.ru     docs.bitel.ru     wiki.bitel.ru     dbinfo.bitel.ru     bgcrm.ru     billing.bitel.ru     bitel.ru    
Текущее время: 03 июл 2025, 18:40

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




Начать новую тему Ответить на тему  [ Сообщений: 9 ] 
Автор Сообщение
 Заголовок сообщения: Проблема с состоянием шлюза
СообщениеДобавлено: 14 янв 2010, 13:26 
Не в сети

Зарегистрирован: 29 окт 2008, 15:17
Сообщения: 140
Карма: 0
Прошу помощи!
Перестал открываться/закрываться шлюз IPN, после изменения статуса договора.
Проблема появилась после обновления с 4.5 до 4.6
Шлюз скриптовый Микротик, рук всеми уважаемого товарища "LDA", под 4.5 работал отлично.
В 4.6 после смены статуса на активен - шлюз не открывается.
Руками если дергать - все в порядке.

Куда копать?... что смотреть ?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Проблема с состоянием шлюза
СообщениеДобавлено: 14 янв 2010, 14:43 
Не в сети

Зарегистрирован: 29 окт 2008, 15:17
Сообщения: 140
Карма: 0
в логах сервера:

Цитата:
script 01-14/15:30:47 ERROR [pool-1-thread-70] LoggingPrintStream - at ru.bitel.bgbilling.kernel.script.server.bean.ScriptInstance.eval(ScriptInstance.java:310)
script 01-14/15:30:47 ERROR [pool-1-thread-70] LoggingPrintStream - at bitel.billing.server.script.bean.ScriptMachine$SimpleScriptRunner.runScript(ScriptMachine.java:69)
script 01-14/15:30:47 ERROR [pool-1-thread-70] LoggingPrintStream - at bitel.billing.server.script.bean.ScriptMachine.runScriptImpl(ScriptMachine.java:189)
script 01-14/15:30:47 ERROR [pool-1-thread-70] LoggingPrintStream - at bitel.billing.server.script.bean.ScriptMachine$ThreadedScriptMachine.access$0(ScriptMachine.java:1)
script 01-14/15:30:47 ERROR [pool-1-thread-70] LoggingPrintStream - at bitel.billing.server.script.bean.ScriptMachine$ThreadedScriptMachine$1.call(ScriptMachine.java:349)
script 01-14/15:30:47 ERROR [pool-1-thread-70] LoggingPrintStream - at bitel.billing.server.script.bean.ScriptMachine$ThreadedScriptMachine$1.call(ScriptMachine.java:1)
script 01-14/15:30:47 ERROR [pool-1-thread-70] LoggingPrintStream - at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source)
script 01-14/15:30:47 ERROR [pool-1-thread-70] LoggingPrintStream - at java.util.concurrent.FutureTask.run(Unknown Source)
script 01-14/15:30:47 ERROR [pool-1-thread-70] LoggingPrintStream - at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
script 01-14/15:30:47 ERROR [pool-1-thread-70] LoggingPrintStream - at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
script 01-14/15:30:47 ERROR [pool-1-thread-70] LoggingPrintStream - at java.lang.Thread.run(Unknown Source)
script 01-14/15:31:30 ERROR [pool-1-thread-70] LoggingPrintStream - com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Table 'bill.ipn_contract_status_1' doesn't exist
script 01-14/15:31:30 ERROR [pool-1-thread-70] LoggingPrintStream - at sun.reflect.GeneratedConstructorAccessor168.newInstance(Unknown Source)
script 01-14/15:31:30 ERROR [pool-1-thread-70] LoggingPrintStream - at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
script 01-14/15:31:30 ERROR [pool-1-thread-70] LoggingPrintStream - at java.lang.reflect.Constructor.newInstance(Unknown Source)
script 01-14/15:31:30 ERROR [pool-1-thread-70] LoggingPrintStream - at com.mysql.jdbc.Util.handleNewInstance(Util.java:406)
script 01-14/15:31:30 ERROR [pool-1-thread-70] LoggingPrintStream - at com.mysql.jdbc.Util.getInstance(Util.java:381)
script 01-14/15:31:30 ERROR [pool-1-thread-70] LoggingPrintStream - at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1030)
script 01-14/15:31:30 ERROR [pool-1-thread-70] LoggingPrintStream - at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:956)
script 01-14/15:31:30 ERROR [pool-1-thread-70] LoggingPrintStream - at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3515)
script 01-14/15:31:30 ERROR [pool-1-thread-70] LoggingPrintStream - at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3447)
script 01-14/15:31:30 ERROR [pool-1-thread-70] LoggingPrintStream - at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1951)
script 01-14/15:31:30 ERROR [pool-1-thread-70] LoggingPrintStream - at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2101)
script 01-14/15:31:30 ERROR [pool-1-thread-70] LoggingPrintStream - at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2554)
script 01-14/15:31:30 ERROR [pool-1-thread-70] LoggingPrintStream - at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:1761)
script 01-14/15:31:30 ERROR [pool-1-thread-70] LoggingPrintStream - at com.mysql.jdbc.PreparedStatement.executeQuery(PreparedStatement.java:1912)
script 01-14/15:31:30 ERROR [pool-1-thread-70] LoggingPrintStream - at org.apache.commons.dbcp.DelegatingPreparedStatement.executeQuery(DelegatingPreparedStatement.java:93)
script 01-14/15:31:30 ERROR [pool-1-thread-70] LoggingPrintStream - at bitel.billing.server.ipn.bean.IPNContractStatusManager.changeStatus(IPNContractStatusManager.java:134)


Статус у нас меняется скриптом при приходе платежа, из WIKI:
вот так
Код:
ContractStatus status = new ContractStatus();
      status.setContractId( cid );
      status.setDate1( DateNow);
      status.setDate2( null );
      status.setStatus( KernelConst.CONTRACT_STATUS_ACTIVE );
      status.setComment( "Автоматически после оплаты" );
       cm.changeStatus( status);


Причем если руками менять статус договора, то шлюз открывается и закрывается, а скриптом нет...


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Проблема с состоянием шлюза
СообщениеДобавлено: 14 янв 2010, 16:02 
Не в сети
Разработчик

Зарегистрирован: 08 ноя 2007, 01:05
Сообщения: 8343
Откуда: Уфа
Карма: 238
у вас похоже код модуля указан неправильно при создании cm . У вас у моудуля ipn точно код 1 ?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Проблема с состоянием шлюза
СообщениеДобавлено: 14 янв 2010, 16:40 
Не в сети

Зарегистрирован: 29 окт 2008, 15:17
Сообщения: 140
Карма: 0
stark писал(а):
у вас похоже код модуля указан неправильно при создании cm . У вас у моудуля ipn точно код 1 ?

http://wiki.bgbilling.ru/index.php/%D0%A1%D0%BD%D1%8F%D1%82%D0%B8%D0%B5_%D0%B0%D0%B1%D0%BE%D0%BD%D0%B5%D0%BD%D1%82%D1%81%D0%BA%D0%BE%D0%B9_%D0%BF%D0%BB%D0%B0%D1%82%D1%8B_%D0%B2_%D0%B4%D0%B5%D0%B1%D0%B8%D1%82%D0%BE%D0%B2%D1%8B%D1%85_%D0%B4%D0%BE%D0%B3%D0%BE%D0%B2%D0%BE%D1%80%D0%B0%D1%85
Я нашел на вики статью про дебетовые договоры, у автора шлюз тоже не дергался:

Цитата:
// Тут не менялось состояние шлюза, добавил код с форума

// Переводим шлюз в статус "заблокирован"
modset = new ModuleSetup(con, 1);
(new IPNContractStatusManager(con, 1, modset)).changeStatus(cid, 2, 0, true);

Потом уже разобрался что 1, это mid, поставил свой(3). В логе на это ругань была похоже которую я выложил.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Проблема с состоянием шлюза
СообщениеДобавлено: 14 янв 2010, 18:39 
Не в сети
Разработчик

Зарегистрирован: 08 ноя 2007, 01:05
Сообщения: 8343
Откуда: Уфа
Карма: 238
так заработало или нет ? если нет , то давайте снова логи


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Проблема с состоянием шлюза
СообщениеДобавлено: 14 янв 2010, 20:05 
Не в сети

Зарегистрирован: 29 окт 2008, 15:17
Сообщения: 140
Карма: 0
stark писал(а):
так заработало или нет ? если нет , то давайте снова логи

Не заработало, я при изменении статуса договора из скрипта меняю и статус шлюза, как временное решение.

В логах только работа скрипта:

Код:
01-14/20:50:34  INFO [http-8080-9] EventProcessor - Process event cid:1120; event:Event bitel.billing.server.script.bean.event.PaymentEvent cid: 1120; module: 0; type: 1
01-14/20:50:34  INFO [http-8080-9] ServerEventProcessor - Process event cid:1120; event:Event bitel.billing.server.script.bean.event.PaymentEvent cid: 1120; module: 0; type: 1
01-14/20:50:34  INFO [pool-1-thread-34] ScriptInstance - Eval script Function [id:18; title:?????? ??????]
01-14/20:50:35  WARN [http-8080-9] ScriptInstance - Function [id:18; title:?????? ??????]: using deprecated method [public float bitel.billing.server.contract.bean.Contract.getLimit()]
01-14/20:50:35  WARN [http-8080-9] ScriptInstance - Function [id:18; title:?????? ??????]: using deprecated method [public float bitel.billing.server.contract.bean.BalanceUtils.getBalance(java.util.Calendar,int)]
01-14/20:50:35  WARN [http-8080-9] ScriptInstance - Function [id:18; title:?????? ??????]: using deprecated method [public void bitel.billing.server.contract.bean.ContractStatusManager.changeStatus(bitel.billing.server.contract.bean.ContractStatus)]
01-14/20:50:35  INFO [http-8080-9] script - Process time => 172
01-14/20:50:35  INFO [http-8080-9] script - StatusContract.getStatus():4
balance = 95.64
limit = 0.0
fbm = 1; bm = 0
cost:41.0
41.0
41.0 : 95.64 - 0.0
cm.getStatus(java.util.GregorianCalendar[time=1263402000000,areFieldsSet=true,areAllFieldsSet=true,lenient=true,zone=sun.util.calendar.ZoneInfo[id="Asia/Krasnoyarsk",offset=25200000,dstSavings=3600000,useDaylight=true,transitions=118,lastRule=java.util.SimpleTimeZone[id=Asia/Krasnoyarsk,offset=25200000,dstSavings=3600000,useDaylight=true,startYear=0,startMode=2,startMonth=2,startDay=-1,startDayOfWeek=1,startTime=7200000,startTimeMode=1,endMode=2,endMonth=9,endDay=-1,endDayOfWeek=1,endTime=7200000,endTimeMode=1]],firstDayOfWeek=1,minimalDaysInFirstWeek=1,ERA=1,YEAR=2010,MONTH=0,WEEK_OF_YEAR=3,WEEK_OF_MONTH=3,DAY_OF_MONTH=14,DAY_OF_YEAR=14,DAY_OF_WEEK=5,DAY_OF_WEEK_IN_MONTH=2,AM_PM=0,HOUR=0,HOUR_OF_DAY=0,MINUTE=0,SECOND=0,MILLISECOND=0,ZONE_OFFSET=25200000,DST_OFFSET=0]):0


В других местах ничего нет по поводу прихода этого платежа и изменения статуса договора.

Может кто-то еще попробует поменять статус договора из скрипта, у парня из ВИКИ тоже были с этим проблемы, если еще у кого то будут трудности - диагноз будет ясен.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Проблема с состоянием шлюза
СообщениеДобавлено: 18 янв 2010, 14:06 
up


Вернуться к началу
  
 
 Заголовок сообщения: Re: Проблема с состоянием шлюза
СообщениеДобавлено: 20 янв 2010, 13:42 
Не в сети
Разработчик

Зарегистрирован: 08 ноя 2007, 01:05
Сообщения: 8343
Откуда: Уфа
Карма: 238
niceone писал(а):
stark писал(а):
так заработало или нет ? если нет , то давайте снова логи

Не заработало, я при изменении статуса договора из скрипта меняю и статус шлюза, как временное решение.

используйте другой метод changeStatus( ContractStatus newStatus, Integer userId ).. Вторым параметром давайте 0(либо User.USER_SERVER - что одно и тоже ) , значит меняет сервер


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Проблема с состоянием шлюза
СообщениеДобавлено: 20 янв 2010, 16:52 
Не в сети

Зарегистрирован: 29 окт 2008, 15:17
Сообщения: 140
Карма: 0
stark писал(а):
niceone писал(а):
stark писал(а):
так заработало или нет ? если нет , то давайте снова логи

Не заработало, я при изменении статуса договора из скрипта меняю и статус шлюза, как временное решение.

используйте другой метод changeStatus( ContractStatus newStatus, Integer userId ).. Вторым параметром давайте 0(либо User.USER_SERVER - что одно и тоже ) , значит меняет сервер

Спасибо, все работает теперь.


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

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


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

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


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

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