forum.bitel.ru http://forum.bitel.ru/ |
|
Проблема с состоянием шлюза http://forum.bitel.ru/viewtopic.php?f=7&t=3424 |
Страница 1 из 1 |
Автор: | niceone [ 14 янв 2010, 13:26 ] |
Заголовок сообщения: | Проблема с состоянием шлюза |
Прошу помощи! Перестал открываться/закрываться шлюз IPN, после изменения статуса договора. Проблема появилась после обновления с 4.5 до 4.6 Шлюз скриптовый Микротик, рук всеми уважаемого товарища "LDA", под 4.5 работал отлично. В 4.6 после смены статуса на активен - шлюз не открывается. Руками если дергать - все в порядке. Куда копать?... что смотреть ? |
Автор: | niceone [ 14 янв 2010, 14:43 ] |
Заголовок сообщения: | Re: Проблема с состоянием шлюза |
в логах сервера: Цитата: 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); Причем если руками менять статус договора, то шлюз открывается и закрывается, а скриптом нет... |
Автор: | stark [ 14 янв 2010, 16:02 ] |
Заголовок сообщения: | Re: Проблема с состоянием шлюза |
у вас похоже код модуля указан неправильно при создании cm . У вас у моудуля ipn точно код 1 ? |
Автор: | niceone [ 14 янв 2010, 16:40 ] |
Заголовок сообщения: | Re: Проблема с состоянием шлюза |
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). В логе на это ругань была похоже которую я выложил. |
Автор: | stark [ 14 янв 2010, 18:39 ] |
Заголовок сообщения: | Re: Проблема с состоянием шлюза |
так заработало или нет ? если нет , то давайте снова логи |
Автор: | niceone [ 14 янв 2010, 20:05 ] |
Заголовок сообщения: | Re: Проблема с состоянием шлюза |
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 В других местах ничего нет по поводу прихода этого платежа и изменения статуса договора. Может кто-то еще попробует поменять статус договора из скрипта, у парня из ВИКИ тоже были с этим проблемы, если еще у кого то будут трудности - диагноз будет ясен. |
Автор: | Sirrin [ 18 янв 2010, 14:06 ] |
Заголовок сообщения: | Re: Проблема с состоянием шлюза |
up |
Автор: | stark [ 20 янв 2010, 13:42 ] |
Заголовок сообщения: | Re: Проблема с состоянием шлюза |
niceone писал(а): stark писал(а): так заработало или нет ? если нет , то давайте снова логи Не заработало, я при изменении статуса договора из скрипта меняю и статус шлюза, как временное решение. используйте другой метод changeStatus( ContractStatus newStatus, Integer userId ).. Вторым параметром давайте 0(либо User.USER_SERVER - что одно и тоже ) , значит меняет сервер |
Автор: | niceone [ 20 янв 2010, 16:52 ] |
Заголовок сообщения: | Re: Проблема с состоянием шлюза |
stark писал(а): niceone писал(а): stark писал(а): так заработало или нет ? если нет , то давайте снова логи Не заработало, я при изменении статуса договора из скрипта меняю и статус шлюза, как временное решение. используйте другой метод changeStatus( ContractStatus newStatus, Integer userId ).. Вторым параметром давайте 0(либо User.USER_SERVER - что одно и тоже ) , значит меняет сервер Спасибо, все работает теперь. |
Страница 1 из 1 | Часовой пояс: UTC + 5 часов [ Летнее время ] |
Powered by phpBB® Forum Software © phpBB Group http://www.phpbb.com/ |