Наткнулся на странное поведение при удалении продукта. Сразу оговорюсь, что это делалось на тестовом биллинге, продукт вставлялся/удалялся в тарифный план по-разному в течение пары месяцев, при этом в другом тарифном плане и на других договорах этот же продукт отрабатывает корректно, но, мб, это поможет найти какую-нибудь скрытую ошибку (либо укажет на мои кривые руки (: ).
Заведен продукт - активация на 0 минут, с текущего момента, ровно, деактивация моментально. В тарифе заведен как "100 рублей за 30 минут". На договоре есть еще продукты, которые наработали с начала месяца вместе с абонентской платой 833,33 рубля. Продукт активируется на договоре, списывается 100 рублей. Наработка становится 933,33 рубля. Через некоторое время, но меньшее, чем 30 минут, продукт удаляется.
Наработка становится 0 рублей за месяц. При этом в балансе показывается прежняя наработка - 933,33. (В других договорах и с другим тарифным планом, но таким же продуктом, наработка уменьшается на 100 рублей, что верно). Пробую сделать переобсчет, переобсчет не срабатывает, в логах:
scheduler.log:
Цитата: 11-21/12:32:33 INFO [Thread-12] RunTaskDataManager - get next tasks: new task id=15 ru.bitel.bgbilling.modules.tv.task.TvRecalculator@d37e2f 11-21/12:32:33 INFO [Thread-12] TaskRunProcessor - Running Task: ru.bitel.bgbilling.modules.tv.task.TvRecalculator@d37e2f 11-21/12:32:33 INFO [pool-1-thread-1] TvRecalculator - calculate 11-21/12:32:33 INFO [pool-1-thread-1] TvAccountRuntimeMap - Adding new accountRuntime: 13 11-21/12:32:33 INFO [pool-1-thread-1] TvAccountRuntimeMap - Loading TvAccount from database. 11-21/12:32:33 INFO [pool-1-thread-1] TvAccountRuntimeMap - Adding TvAccountRuntime: 13 11-21/12:32:33 INFO [pool-1-thread-1] TvAccountRuntimeMap - ContractId: 1187; tvAccountId: 13 Аккаунт:12345 Products [42:21.10.2016-21.11.2016; 45:24.10.2016-31.10.2016; 43:24.10.2016-01.11.2016; 40:24.10.2016-01.11.2016; 45:01.11.2016-01.11.2016; 43:01.11.2016-02.11.2016; 40:01.11.2016-02. 11.2016; 45:02.11.2016-03.11.2016; 40:02.11.2016-04.11.2016; 45:07.11.2016-11.11.2016; 40:07.11.2016-08.11.2016; 43:07.11.2016-08.11.2016; 40:08.11.2016-12.11.2016; 43:08.11.2016-12.11.2016; 45:14.11.2016-21.11.2016; 40:14.11.2016-22.11.2016; 43:14.11.2016-22.11.2016; ] TariffModuleTreeSet [217:25.10.2016-…; ] Device state: 1; serviceIds: 11-21/12:32:34 ERROR [pool-1-thread-1] TvRecalculator - java.lang.NullPointerException at ru.bitel.bgbilling.modules.tv.runtime.TvTarifficationManager.calculate(TvTarifficationManager.java:600) at ru.bitel.bgbilling.modules.tv.task.TvRecalculator.calculatePart(TvRecalculator.java:553) at ru.bitel.bgbilling.modules.tv.task.TvRecalculator.calculateAccount(TvRecalculator.java:492) at ru.bitel.bgbilling.modules.tv.task.TvRecalculator.calculate(TvRecalculator.java:347) at ru.bitel.bgbilling.modules.tv.task.TvRecalculator.executeTask(TvRecalculator.java:131) at bitel.billing.server.task.bean.RunTask.run(RunTask.java:47) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) at java.lang.Thread.run(Thread.java:745) 11-21/12:32:34 INFO [pool-1-thread-1] TvRecalculator - RunTask finished time=389 ms.
server.error.log
Цитата: server 11-21/12:30:28 ERROR [http-bio-0.0.0.0-8443-exec-4] TvRecalculator - java.lang.NullPointerException at ru.bitel.bgbilling.modules.tv.runtime.TvTarifficationManager.calculate(TvTarifficationManager.java:600) at ru.bitel.bgbilling.modules.tv.task.TvRecalculator.calculatePart(TvRecalculator.java:553) at ru.bitel.bgbilling.modules.tv.task.TvRecalculator.calculateAccount(TvRecalculator.java:492) at ru.bitel.bgbilling.modules.tv.task.TvRecalculator.calculate(TvRecalculator.java:347) at ru.bitel.bgbilling.modules.tv.task.TvRecalculator.executeTask(TvRecalculator.java:131) at bitel.billing.server.task.bean.RunTask.run(RunTask.java:47) at ru.bitel.bgbilling.modules.tv.api.server.ProductManager.recalculate(ProductManager.java:1154) at ru.bitel.bgbilling.modules.tv.api.server.ProductManager.productDelete(ProductManager.java:1093) at ru.bitel.bgbilling.modules.tv.api.server.Module.notify(Module.java:199) at ru.bitel.bgbilling.kernel.event.LocalEventProcessor.request(LocalEventProcessor.java:240) at ru.bitel.bgbilling.kernel.event.EventProcessor.request(EventProcessor.java:907) at ru.bitel.bgbilling.kernel.event.EventProcessor.request(EventProcessor.java:876) at ru.bitel.oss.systems.inventory.product.server.service.ProductServiceImpl.productDelete(ProductServiceImpl.java:380) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at ru.bitel.bgbilling.kernel.container.service.server.ServiceInfo.invoke(ServiceInfo.java:101) at ru.bitel.bgbilling.kernel.container.ws.server.AbstractJaxWsHandler.invoke0(AbstractJaxWsHandler.java:220) at ru.bitel.bgbilling.kernel.container.ws.server.AbstractJaxWsHandler.access$000(AbstractJaxWsHandler.java:47) at ru.bitel.bgbilling.kernel.container.ws.server.AbstractJaxWsHandler$1.run(AbstractJaxWsHandler.java:267) at java.security.AccessController.doPrivileged(Native Method) at javax.security.auth.Subject.doAs(Subject.java:422) at ru.bitel.bgbilling.kernel.container.ws.server.AbstractJaxWsHandler.invoke(AbstractJaxWsHandler.java:261) at ru.bitel.bgbilling.kernel.container.ws.server.JaxWsHandler.invoke(JaxWsHandler.java:315) at ru.bitel.bgbilling.kernel.container.ws.server.AbstractJaxWsHandler$ServiceInstanceResolver$1.invoke(AbstractJaxWsHandler.java:366) at com.sun.xml.ws.server.InvokerTube$2.invoke(InvokerTube.java:150) at com.sun.xml.ws.server.sei.EndpointMethodHandler.invoke(EndpointMethodHandler.java:261) at com.sun.xml.ws.server.sei.SEIInvokerTube.processRequest(SEIInvokerTube.java:100) at com.sun.xml.ws.api.pipe.Fiber.__doRun(Fiber.java:641) at com.sun.xml.ws.api.pipe.Fiber._doRun(Fiber.java:600) at com.sun.xml.ws.api.pipe.Fiber.doRun(Fiber.java:585) at com.sun.xml.ws.api.pipe.Fiber.runSync(Fiber.java:482) at com.sun.xml.ws.server.WSEndpointImpl$2.process(WSEndpointImpl.java:314) at com.sun.xml.ws.transport.http.HttpAdapter$HttpToolkit.handle(HttpAdapter.java:608) at com.sun.xml.ws.transport.http.HttpAdapter.handle(HttpAdapter.java:259) at com.sun.xml.ws.transport.http.servlet.ServletAdapter.handle(ServletAdapter.java:162) at ru.bitel.bgbilling.kernel.container.ws.server.JaxWSAdapter.handle(JaxWSAdapter.java:290) at bitel.billing.server.Executer.doPost(SourceFile:163) at javax.servlet.http.HttpServlet.service(HttpServlet.java:646) at javax.servlet.http.HttpServlet.service(HttpServlet.java:727) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:504) at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:950) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:170) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:421) at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1074) at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:611) at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:314) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) at java.lang.Thread.run(Thread.java:745)
Цитата: Информация о версии:
Клиент: вер. 6.2.846 / 02.11.2016 15:59:41 os: Linux; java: Java HotSpot(TM) Server VM, v.1.8.0_74 Сервер: вер. 6.2.1136 / 02.11.2016 15:59:07 os: Linux; java: Java HotSpot(TM) Client VM, v.1.8.0_74
assist: вер. 6.2.87 / 13.07.2016 17:32:04 bill: вер. 6.2.95 / 31.10.2016 17:15:26 card: вер. 6.2.39 / 26.05.2016 14:50:45 dba: вер. 6.2.163 / 02.02.2016 17:42:00 enaza: вер. 6.2.59 / 19.04.2016 21:47:47 gorod: вер. 6.2.164 / 01.03.2016 00:18:32 inet: вер. 6.2.697 / 31.10.2016 17:14:54 mps: вер. 6.2.221 / 04.10.2016 19:16:15 npay: вер. 6.2.197 / 04.10.2016 19:12:21 paylinks: вер. 6.2.31 / 02.02.2016 17:42:04 qiwi: вер. 6.2.48 / 14.07.2016 14:11:51 rentsoft: вер. 6.2.63 / 04.10.2016 19:16:26 reports: вер. 6.2.213 / 03.10.2016 16:59:27 rscm: вер. 6.2.178 / 04.10.2016 19:16:30 ru.bitel.bgbilling.plugins.cladr: вер. 6.2.119 / 02.02.2016 17:42:00 ru.bitel.bgbilling.plugins.dispatch: вер. 6.2.93 / 22.10.2016 11:52:06 trayinfo: вер. 6.2.170 / 02.02.2016 17:42:09 tv: вер. 6.2.235 / 02.11.2016 16:01:19 wellpay: вер. ? wm: вер. 6.2.189 / 04.10.2016 19:16:46 yamoney: вер. 6.2.58 / 04.10.2016 19:16:49
Окружение:
Клиент: os: Linux i386, 3.13-1-amd64 java: Java HotSpot(TM) Server VM, v.1.8.0_74 jre home: /opt/java/jdk1.8.0_74/jre default tz: 21.11.2016 13:19 YAKT +0900 (Asia/Yakutsk) user tz: 21.11.2016 13:19 YAKT +0900 (Asia/Yakutsk) locale: ru_RU Сервер: os: Linux i386, 2.6.32-el-smp-alt27 java: Java HotSpot(TM) Client VM, v.1.8.0_74 jre home: /opt/java/jdk1.8.0_74/jre default tz: 21.11.2016 13:19 YAKT +0900 (Asia/Yakutsk) db time: master: 21.11.2016 13:19 YAKT db charset: connection: cp1251(cp1251_general_ci), database: cp1251(cp1251_general_ci) locale: en_US uptime: Started: 07.11.2016 09:41:30 Uptime: 14 d 03:38:09
Вложения: |
999(012).jpg [ 58.05 КБ | Просмотров: 2194 ]
|
999(013).jpg [ 39.26 КБ | Просмотров: 2194 ]
|
|