forum.bitel.ru http://forum.bitel.ru/ |
|
Залип договор - Column 'timeFrom' cannot be null http://forum.bitel.ru/viewtopic.php?f=61&t=11656 |
Страница 1 из 1 |
Автор: | survivor [ 03 июн 2016, 19:55 ] |
Заголовок сообщения: | Залип договор - Column 'timeFrom' cannot be null |
Доброго дня. Залип договор: Пакеты ТВ аккаунта договора остаются в состоянии отключен и никак не хотят из него выходить. При этом если сам аккаунт выключить/включить то в сталкере он соответственно Off/On. Аналогично если менять статус договора на закрыт/активен. Но НИКАК не включить пакеты - они остаются в состоянии отключен. На балансе денег полно, лимит стоит, такое ощущение что модуль просто не видит баланс. В логах все спокойно. Код: Сервер: вер. 7.0.1039 / 16.05.2016 17:18:36 os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_73 card: вер. 7.0.37 / 08.04.2016 17:40:32 reports: вер. 7.0.208 / 12.05.2016 18:18:09 tv: вер. 7.0.210 / 05.05.2016 15:18:22 После многократных экспериментов наконец получил ошибку: Код: ru.bitel.bgbilling.common.BGException: Column 'timeFrom' cannot be null [23000, 1048] at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) at java.lang.reflect.Constructor.newInstance(Constructor.java:422) at com.sun.xml.ws.fault.SOAPFaultBuilder.createUserDefinedException(SOAPFaultBuilder.java:318) at com.sun.xml.ws.fault.SOAPFaultBuilder.createException(SOAPFaultBuilder.java:139) at com.sun.xml.ws.client.sei.SyncMethodHandler.invoke(SyncMethodHandler.java:123) at com.sun.xml.ws.client.sei.SyncMethodHandler.invoke(SyncMethodHandler.java:93) at com.sun.xml.ws.client.sei.SEIStub.invoke(SEIStub.java:144) at com.sun.proxy.$Proxy43.productUpdate(Unknown Source) at ru.bitel.bgbilling.modules.tv.api.client.contract.ProductPanel$ProductForm$7.actionPerformedImpl(ProductPanel.java:561) at ru.bitel.common.client.AbstractBGUPanel.actionPerformed(AbstractBGUPanel.java:237) at ru.bitel.common.client.AbstractBGUPanel$DefaultAction.actionPerformed(AbstractBGUPanel.java:91) at ru.bitel.bgbilling.client.common.BGEditor$DelegateAction.actionPerformed(BGEditor.java:354) at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2022) at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2348) at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402) at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259) at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:252) at java.awt.Component.processMouseEvent(Component.java:6535) at javax.swing.JComponent.processMouseEvent(JComponent.java:3324) at java.awt.Component.processEvent(Component.java:6300) at java.awt.Container.processEvent(Container.java:2236) at java.awt.Component.dispatchEventImpl(Component.java:4891) at java.awt.Container.dispatchEventImpl(Container.java:2294) at java.awt.Component.dispatchEvent(Component.java:4713) at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4888) at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4525) at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4466) at java.awt.Container.dispatchEventImpl(Container.java:2280) at java.awt.Window.dispatchEventImpl(Window.java:2750) at java.awt.Component.dispatchEvent(Component.java:4713) at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:758) at java.awt.EventQueue.access$500(EventQueue.java:97) at java.awt.EventQueue$3.run(EventQueue.java:709) at java.awt.EventQueue$3.run(EventQueue.java:703) at java.security.AccessController.doPrivileged(Native Method) at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:76) at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86) at java.awt.EventQueue$4.run(EventQueue.java:731) at java.awt.EventQueue$4.run(EventQueue.java:729) at java.security.AccessController.doPrivileged(Native Method) at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:76) at java.awt.EventQueue.dispatchEvent(EventQueue.java:728) at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201) at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116) at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93) at java.awt.EventDispatchThread.run(EventDispatchThread.java:82) При этом если завести новый договор - на нем все работает. |
Автор: | borin [ 06 июн 2016, 12:35 ] |
Заголовок сообщения: | Re: Залип договор - Column 'timeFrom' cannot be null |
Цитата: ru.bitel.bgbilling.common.BGException: Column 'timeFrom' cannot be null Говорится что время старта подписки не установлено, вот и не активируется пакет. |
Автор: | borin [ 06 июн 2016, 14:07 ] |
Заголовок сообщения: | Re: Залип договор - Column 'timeFrom' cannot be null |
А посмотрите, что в этих табличках для данного договора. inv_product и inv_product_period |
Автор: | Amir [ 06 июн 2016, 15:02 ] |
Заголовок сообщения: | Re: Залип договор - Column 'timeFrom' cannot be null |
Попробуйте активировать пакет и посмотреть что после этого в логах TvAccess для этого аккаунта. |
Автор: | survivor [ 06 июн 2016, 15:03 ] |
Заголовок сообщения: | Re: Залип договор - Column 'timeFrom' cannot be null |
Код: select id, timeFrom, timeTo, activationModeId, activationTime, activationPrice, deactivationTime, deviceState from inv_product where contractId=223; +-----+---------------------+---------------------+------------------+---------------------+-----------------+---------------------+-------------+ | id | timeFrom | timeTo | activationModeId | activationTime | activationPrice | deactivationTime | deviceState | +-----+---------------------+---------------------+------------------+---------------------+-----------------+---------------------+-------------+ | 472 | 2016-04-01 00:00:00 | NULL | 10 | 2016-04-25 11:18:33 | NULL | NULL | 0 | | 536 | 2016-05-01 00:00:00 | NULL | 10 | 2016-04-26 12:13:47 | NULL | NULL | 0 | | 537 | 2016-05-01 00:00:00 | 2016-05-31 00:00:00 | 1 | 2016-04-26 12:13:55 | NULL | NULL | 0 | | 816 | 2016-06-01 00:00:00 | NULL | 1 | 2016-06-03 17:15:30 | NULL | 2016-06-03 17:29:36 | 0 | +-----+---------------------+---------------------+------------------+---------------------+-----------------+---------------------+-------------+ Код: select * from inv_product_period where contractId =223;
+------+------------+-----------+---------------+-----------+---------------------+---------------------+---------------------+---------------------+-------+---------+ | id | contractId | accountId | productSpecId | productId | activationTime | timeFrom | timeTo | prolongationTime | flags | version | +------+------------+-----------+---------------+-----------+---------------------+---------------------+---------------------+---------------------+-------+---------+ | 853 | 223 | 243 | 4 | 472 | 2016-04-25 11:18:33 | 2016-04-01 00:00:00 | 2016-03-31 23:59:59 | 2016-04-01 00:00:00 | 3 | 7 | | 856 | 223 | 243 | 4 | 472 | 2016-04-25 11:21:11 | 2016-04-01 00:00:00 | 2016-04-30 23:59:59 | 2016-04-01 00:00:00 | 2 | 1 | | 978 | 223 | 243 | 3 | 536 | 2016-04-26 12:13:47 | 2016-05-01 00:00:00 | 2016-04-30 23:59:59 | 2016-05-01 00:00:00 | 3 | 2 | | 979 | 223 | 243 | 7 | 537 | 2016-04-26 12:13:55 | 2016-05-01 00:00:00 | 2016-04-30 23:59:59 | 2016-05-01 00:00:00 | 3 | 2 | | 1330 | 223 | 243 | 4 | 472 | 2016-05-01 00:00:11 | 2016-05-01 00:00:00 | 2016-05-31 23:59:59 | 2016-05-01 00:00:00 | 1 | 53 | | 1336 | 223 | 243 | 3 | 536 | 2016-05-01 00:00:11 | 2016-05-01 00:00:00 | 2016-05-31 23:59:59 | 2016-05-01 00:00:00 | 1 | 53 | | 1337 | 223 | 243 | 7 | 537 | 2016-05-01 00:00:11 | 2016-05-01 00:00:00 | 2016-05-31 23:59:59 | 2016-05-01 00:00:00 | 4 | 1 | | 2297 | 223 | 243 | 6 | 816 | 2016-06-03 17:15:30 | 2016-06-01 00:00:00 | 2016-05-31 23:59:59 | 2016-06-01 00:00:00 | 1 | 51 | +------+------------+-----------+---------------+-----------+---------------------+---------------------+---------------------+---------------------+-------+---------+ |
Автор: | survivor [ 06 июн 2016, 16:47 ] |
Заголовок сообщения: | Re: Залип договор - Column 'timeFrom' cannot be null |
Amir писал(а): Попробуйте активировать пакет и посмотреть что после этого в логах TvAccess для этого аккаунта. Как? Как активировать текущий пакет? Если выбрать пакет и нажать "Активировать пакет" то происходит добавление нового пакета, а не переактивация выбранного. А добавить новый пакет могу: Код: mq 06-06/14:43:42 INFO [event-proc-p-2-t-1] TvAccountRuntimeMap - Caught event: Event[ru.bitel.oss.systems.inventory.product.common.event.ProductModifiedEvent] moduleId: 1; pluginId: no; cid: 223; scid: -1; userId: 1; timestamp: 1465209822785 connection 06-06/14:43:42 INFO [sa-p-6-t-24] OrderManagerSet - Connecting to device connection 06-06/14:43:42 INFO [sa-p-6-t-24] OrderManagerDeviceWorker - Do task deviceId: 2; Event[ru.bitel.bgbilling.modules.tv.access.om.event.OmTvProductsModifyEvent] moduleId: 1; pluginId: no; cid: 223; scid: -1; userId: 0 ProductEntry [oldProduct=Product [cid-aid=223-243, productSpecId=8, period=01.06.2016 00:00:00-/31.05.2016 23:59:59, activationModeId=7, activationTime=null, deactivationTime=null, deviceState=0, serviceList=null], newProduct=Product [cid-aid=223-243, productSpecId=8, period=01.06.2016 00:00:00-/31.05.2016 23:59:59, activationModeId=7, activationTime=null, deactivationTime=null, deviceState=0, serviceList=null], oldState=-1, newState=0, serviceEntryList=[]]; timestamp: 1465209822788 connection 06-06/14:43:42 INFO [sa-p-6-t-24] OrderManagerDeviceWorker - Command result event: ru.bitel.bgbilling.modules.tv.access.om.ProductOrderEvent@4125b9c4 connection 06-06/14:43:42 INFO [sa-p-6-t-24] OrderManagerDeviceWorker - Processing deviceId:2; command ru.bitel.bgbilling.modules.tv.access.om.ProductOrderEvent@4125b9c4 connection 06-06/14:43:42 INFO [sa-p-6-t-24] OrderManagerSet - Invoking productsModify connection 06-06/14:43:42 INFO [sa-p-6-t-24] StalkerOrderManager - Full sync mode connection 06-06/14:43:42 INFO [sa-p-6-t-24] StalkerOrderManager - Custom tariff not found connection 06-06/14:43:42 INFO [sa-p-6-t-24] StalkerOrderManager - Update tariff to 001 connection 06-06/14:43:42 INFO [sa-p-6-t-24] StalkerOrderManager - Changing tariff for TVIP-S-400: 1027BE020BA9 to 001 connection 06-06/14:43:42 INFO [sa-p-6-t-24] JsonClient - {tariff_plan=001} connection 06-06/14:43:42 INFO [sa-p-6-t-24] JsonClient - put: http://109.*.*.111:189/stalker_portal/api/accounts/10:27:BE:02:0B:A9 connection 06-06/14:43:42 INFO [sa-p-6-t-24] JsonClient - >> tariff_plan=001 connection 06-06/14:43:42 INFO [sa-p-6-t-24] JsonClient - << {"status":"OK","results":true} connection 06-06/14:43:42 INFO [sa-p-6-t-24] StalkerOrderManager - {"results":true,"status":"OK"} connection 06-06/14:43:42 INFO [sa-p-6-t-24] StalkerOrderManager - Delete subscriptions connection 06-06/14:43:42 INFO [sa-p-6-t-24] JsonClient - {} connection 06-06/14:43:42 INFO [sa-p-6-t-24] JsonClient - delete: http://109.*.*.111:189/stalker_portal/api/account_subscription/243 connection 06-06/14:43:43 INFO [sa-p-6-t-24] JsonClient - << {"status":"OK","results":true} connection 06-06/14:43:43 INFO [sa-p-6-t-24] StalkerOrderManager - {"results":true,"status":"OK"} connection 06-06/14:43:43 INFO [sa-p-6-t-24] StalkerOrderManager - Nothing to change connection 06-06/14:43:43 INFO [sa-p-6-t-24] OrderManagerDeviceWorker - Process event type[2] result=true connection 06-06/14:43:43 INFO [sa-p-6-t-24] OrderManagerDeviceWorker - Changing TvAccount:243 products state mq 06-06/14:43:43 INFO [event-proc-p-2-t-1] TvAccountRuntimeMap - Caught event: Event[ru.bitel.bgbilling.modules.tv.access.event.TvProductsDeviceStateModifiedEvent] moduleId: 1; pluginId: no; cid: global; scid: -1; userId: -1; deviceId: 2; tvAccountId: 243; state: 0; productEntryList: [ProductEntry [productId=825, productSpecId=8, deviceState=0, serviceEntryList=[]]]; timestamp: 1465209823035 connection 06-06/14:43:45 INFO [sa-p-6-t-24] OrderManagerDeviceWorker - Do task deviceId: 2; Event[ru.bitel.bgbilling.modules.tv.access.om.event.OmTvAccountModifyEvent] moduleId: 1; pluginId: no; cid: global; scid: -1; userId: -1; deviceId: 0; oldTvAccount: TVIP-S-400: 1027BE020BA9; newTvAccount: TVIP-S-400: 1027BE020BA9; newState: 1; timestamp: 1465209825372 connection 06-06/14:43:45 INFO [sa-p-6-t-24] OrderManagerDeviceWorker - Command result event: ru.bitel.bgbilling.modules.tv.access.om.AccountOrderEvent@26c7b6a3 connection 06-06/14:43:45 INFO [sa-p-6-t-24] OrderManagerDeviceWorker - Processing deviceId:2; command ru.bitel.bgbilling.modules.tv.access.om.AccountOrderEvent@26c7b6a3 connection 06-06/14:43:45 INFO [sa-p-6-t-24] OrderManagerSet - Invoking accountModify connection 06-06/14:43:45 INFO [sa-p-6-t-24] StalkerOrderManager - accountModify connection 06-06/14:43:45 INFO [sa-p-6-t-24] StalkerOrderManager - Custom tariff not found connection 06-06/14:43:45 INFO [sa-p-6-t-24] StalkerOrderManager - accountModify0 connection 06-06/14:43:45 INFO [sa-p-6-t-24] StalkerOrderManager - Old state 1 connection 06-06/14:43:45 INFO [sa-p-6-t-24] JsonClient - {account_number=243, subscribed=, stb_mac=10:27:BE:02:0B:A9, password=, full_name=012458, tariff_plan=001, login=243, stb_type=TVIP S-400, status=1} connection 06-06/14:43:45 INFO [sa-p-6-t-24] JsonClient - put: http://109.*.*.111:189/stalker_portal/api/accounts/10:27:BE:02:0B:A9 connection 06-06/14:43:45 INFO [sa-p-6-t-24] JsonClient - >> account_number=243&subscribed=&stb_mac=10%3A27%3ABE%3A02%3A0B%3AA9&password=&full_name=012458&tariff_plan=001&login=243&stb_type=TVIP+S-400&status=1 connection 06-06/14:43:45 INFO [sa-p-6-t-24] JsonClient - << {"status":"OK","results":true} connection 06-06/14:43:45 INFO [sa-p-6-t-24] StalkerOrderManager - {"results":true,"status":"OK"} connection 06-06/14:43:45 INFO [sa-p-6-t-24] OrderManagerDeviceWorker - Process event type[2] result=true mq 06-06/14:43:45 INFO [event-proc-p-2-t-1] TvAccountRuntimeMap - Caught event: Event[ru.bitel.bgbilling.modules.tv.api.common.event.TvAccountModifiedEvent] moduleId: 1; pluginId: no; cid: 223; scid: -1; userId: 1; timestamp: 1465209825393 mq 06-06/14:43:45 INFO [event-proc-p-2-t-1] TvAccountRuntimeMap - Reload accountRuntime: 243 mq 06-06/14:43:45 INFO [event-proc-p-2-t-1] TvAccountRuntimeMap - Removing accountRuntime: 243 mq 06-06/14:43:45 INFO [event-proc-p-2-t-1] TvAccountRuntimeMap - Adding TvAccountRuntime: 243 mq 06-06/14:43:45 INFO [event-proc-p-2-t-1] TvAccountRuntimeMap - ContractId: 223; tvAccountId: 243 TVIP-S-400: 1027BE020BA9 Products [472:01.05.2016-31.05.2016; 536:01.05.2016-31.05.2016; 537:01.05.2016-31.05.2016; 816:01.06.2016-31.05.2016; ] TariffModuleTreeSet [1:01.05.2016-?; ] Device state: 1; serviceIds: connection 06-06/14:43:50 INFO [sa-p-6-t-24] OrderManagerSet - Disconnecting from device Но он тоже остается в состоянии "отключен". |
Автор: | Amir [ 06 июн 2016, 17:44 ] |
Заголовок сообщения: | Re: Залип договор - Column 'timeFrom' cannot be null |
А какое состояние у аккаунта? Попробуйте статус договора закрыть/открыть. |
Автор: | survivor [ 06 июн 2016, 19:14 ] |
Заголовок сообщения: | Re: Залип договор - Column 'timeFrom' cannot be null |
Amir писал(а): А какое состояние у аккаунта? Попробуйте статус договора закрыть/открыть. О это первым делом пробовали, не помогает |
Автор: | Amir [ 06 июн 2016, 19:30 ] |
Заголовок сообщения: | Re: Залип договор - Column 'timeFrom' cannot be null |
А какое состояние у аккаунта? Тоже отключен? Если пересохранить аккаунт - состояние не меняется на включен? |
Автор: | survivor [ 06 июн 2016, 21:08 ] |
Заголовок сообщения: | Re: Залип договор - Column 'timeFrom' cannot be null |
Amir писал(а): А какое состояние у аккаунта? Тоже отключен? Если пересохранить аккаунт - состояние не меняется на включен? нет, аккаунт включен. Причем можно выключить/включить - в сталкере соответственно будет off/on, все отрабатывает корректно. Просто не могут включиться пакеты |
Автор: | survivor [ 07 июн 2016, 14:13 ] |
Заголовок сообщения: | Re: Залип договор - Column 'timeFrom' cannot be null |
В принципе можно удалить аккаунт, завести заново и возможно все заработает. Но явно баг какой-то - хочется отловить... |
Автор: | Amir [ 07 июн 2016, 21:36 ] |
Заголовок сообщения: | Re: Залип договор - Column 'timeFrom' cannot be null |
Можете дать доступ? |
Автор: | survivor [ 08 июн 2016, 11:39 ] |
Заголовок сообщения: | Re: Залип договор - Column 'timeFrom' cannot be null |
Amir писал(а): Можете дать доступ? Отправил в ЛС |
Автор: | survivor [ 09 июн 2016, 16:45 ] |
Заголовок сообщения: | Re: Залип договор - Column 'timeFrom' cannot be null |
Обновление до последней версии тоже ничего не дало |
Автор: | borin [ 09 июн 2016, 18:33 ] |
Заголовок сообщения: | Re: Залип договор - Column 'timeFrom' cannot be null |
Кстати словил такую же ошибку при попытке активировать подписку, договор в тестовой базе заведен еще в 14 году. На новом договоре все активируется, а на старом нет. Код: Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLIntegrityConstraintViolationException: Column 'timeFrom' cannot be null <------>at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) <------>at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) <------>at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) <------>at java.lang.reflect.Constructor.newInstance(Constructor.java:422) <------>at com.mysql.jdbc.Util.handleNewInstance(Util.java:409) <------>at com.mysql.jdbc.Util.getInstance(Util.java:384) <------>at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1039) <------>at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:4232) <------>at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:4164) <------>at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2615) <------>at com.mysql.jdbc.ServerPreparedStatement.serverExecute(ServerPreparedStatement.java:1363) <------>at com.mysql.jdbc.ServerPreparedStatement.executeInternal(ServerPreparedStatement.java:829) <------>at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2334) <------>at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2262) <------>at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2246) <------>at org.apache.commons.dbcp.DelegatingPreparedStatement.executeUpdate(DelegatingPreparedStatement.java:105) <------>at ru.bitel.oss.systems.inventory.product.server.bean.ProductDao.updateImpl(ProductDao.java:101) <------>at ru.bitel.oss.systems.inventory.product.server.bean.ProductDao.updateImpl(ProductDao.java:19) <------>at ru.bitel.common.dao.AbstractDao.update(AbstractDao.java:586) <------>... 46 more Вложение:
|
Автор: | borin [ 09 июн 2016, 18:54 ] |
Заголовок сообщения: | Re: Залип договор - Column 'timeFrom' cannot be null |
Вложение: 2016-06-09 at 17-52-12.png [ 9.86 КБ | Просмотров: 9800 ] Вот нашел в табличке inv_product, такую запись, видимо осталась откуда то давно. Если ее удалить, то подписка активируется. |
Автор: | borin [ 09 июн 2016, 18:56 ] |
Заголовок сообщения: | Re: Залип договор - Column 'timeFrom' cannot be null |
Я так понимаю, модуль дал удалить продукт с id = 2, и следовательно подписка не отображается в аккаунте. И при активации не дает активировать новую. |
Страница 1 из 1 | Часовой пояс: UTC + 5 часов [ Летнее время ] |
Powered by phpBB® Forum Software © phpBB Group http://www.phpbb.com/ |