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

subcriptionUpdate
http://forum.bitel.ru/viewtopic.php?f=60&t=12087
Страница 1 из 1

Автор:  dmitry_P [ 14 ноя 2016, 13:11 ]
Заголовок сообщения:  subcriptionUpdate

Нужно чтоб с автопродлением была только одна подписка и нельзя было поставить автопродление на закончившуюся подписку
Код:
   @Override
   public int subscriptionUpdate(Subscription subscription)
       throws BGException
   {   
      Connection con =getConnection();
      int subId=subscription.getId();
      int contractId = subscription.getContractId();
      try (SubscriptionDao subscriptionDao = new SubscriptionDao(con, SMIDID, 0) )
      {
         if (subscription.isAvtoCommit()){
               PeriodWithTime subscriptionPeriod = subscription.getPeriod();
             if ( !TimeUtils.timeInRange( new Date(), subscriptionPeriod.getDateFrom(), subscriptionPeriod.getDateTo() ) )
               {
                  throw new BGMessageException( "Период подписки еще не наступил или уже закончился" );
              }
            List<Subscription> subslist=subscriptionDao.list(contractId);
            for (Subscription sub : subslist){
               if (!sub.equals(subscription) && sub.isAvtoCommit()){
                  sub.setAvtoCommit(false);
                  subscriptionDao.update(sub);
               }
            }   
           }
      }

   return subId;   
   }

Если ставлю в редакторе флаг в закончившейся подписке, нажимаю Сохранить, выдает exception. Нажимаю Отмена и в подписке сохраняется флаг. Как этого избежать? И что-то не нашел, какое int должен возвращать subscriptionUpdate, поставил от фонаря ид подписки?

Автор:  skn [ 14 ноя 2016, 13:20 ]
Заголовок сообщения:  Re: subcriptionUpdate

при exception что в логах на сервере?

Автор:  dmitry_P [ 14 ноя 2016, 13:33 ]
Заголовок сообщения:  Re: subcriptionUpdate

при BGMessageException ничего
при BGException вот:

11-14/13:28:00 INFO [http-bio-0.0.0.0-8080-exec-9] JaxWsHandler - load dynservice class for /ru.bitel.bgbilling.modules.subscription/SubscriptionService: dp.subscription.mySubscriptionService...
11-14/13:28:00 INFO [http-bio-0.0.0.0-8080-exec-9] Setup - Load config for mid=28
11-14/13:28:10 ERROR [http-bio-0.0.0.0-8080-exec-9] AbstractJaxWsHandler -
java.lang.reflect.InvocationTargetException
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:316)
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)
Caused by: ru.bitel.bgbilling.common.BGException: Период подписки еще не наступил или уже закончился
at dp.subscription.mySubscriptionService.subscriptionUpdate(mySubscriptionService.java:152)
... 45 more

Автор:  skn [ 14 ноя 2016, 16:56 ]
Заголовок сообщения:  Re: subcriptionUpdate

1) что то не понял, код в первом сообщении, это что за код и откуда
2) в логе это эксепшен из кода выше?

Автор:  dmitry_P [ 14 ноя 2016, 17:09 ]
Заголовок сообщения:  Re: subcriptionUpdate

1) Это mySubscriptionService.subscriptionUpdate(Subscription subscription) (dynservice:ru.bitel.bgbilling.modules.subscription.SubscriptionService=dp.subscription.mySubscriptionService)
2) Да

Автор:  skn [ 14 ноя 2016, 17:17 ]
Заголовок сообщения:  Re: subcriptionUpdate

ясно

Автор:  dmitry_P [ 16 ноя 2016, 10:52 ]
Заголовок сообщения:  Re: subcriptionUpdate

А вердикт какой-нибудь будет?

Автор:  Phricker [ 16 ноя 2016, 11:00 ]
Заголовок сообщения:  Re: subcriptionUpdate

dmitry_P писал(а):
А вердикт какой-нибудь будет?

skn писал(а):
ясно

Автор:  skn [ 16 ноя 2016, 12:17 ]
Заголовок сообщения:  Re: subcriptionUpdate

dmitry_P писал(а):
А вердикт какой-нибудь будет?

Вердикт. Вы что то хотели поменять, что то сделали, это работает не так как вы хотели.

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