forum.bitel.ru http://forum.bitel.ru/ |
|
[5.1->6.0] Где искать WSContractStatusMonitorImpl ? http://forum.bitel.ru/viewtopic.php?f=19&t=8720 |
Страница 1 из 2 |
Автор: | mikos [ 26 ноя 2013, 22:56 ] |
Заголовок сообщения: | [5.1->6.0] Где искать WSContractStatusMonitorImpl ? |
Добрый вечер. Причесываем скрипты в связи с переездом на 6.0 Где искать класс WSContractStatusMonitorImpl ? |
Автор: | skn [ 27 ноя 2013, 01:23 ] |
Заголовок сообщения: | Re: [5.1->6.0] Где искать WSContractStatusMonitorImpl ? |
нету такого... есть Код: ru.bitel.bgbilling.kernel.contract.status.server.service.ContractStatusMonitorServiceImpl
|
Автор: | mikos [ 27 ноя 2013, 20:44 ] |
Заголовок сообщения: | Re: [5.1->6.0] Где искать WSContractStatusMonitorImpl ? |
Спасибо. А где посмотреть список его методов? В документации не нашел. |
Автор: | skn [ 28 ноя 2013, 00:14 ] |
Заголовок сообщения: | Re: [5.1->6.0] Где искать WSContractStatusMonitorImpl ? |
mikos писал(а): Спасибо. А где посмотреть список его методов? В документации не нашел. в браузере Код: http://host[:port]/bgbilling/executer/ru.bitel.bgbilling.kernel.contract.status/ContractStatusMonitorService?wsdl
|
Автор: | mikos [ 28 ноя 2013, 16:49 ] |
Заголовок сообщения: | Re: [5.1->6.0] Где искать WSContractStatusMonitorImpl ? |
Пустой экран ![]() Код: 10.0.0.10 - [28/Nov/2013:14:48:16 +0400] 0.003 404 5 "GET /bgbilling/executer/ru.bitel.bgbilling.kernel.contract.status.server.service/ContractStatusMonitorServiceImpl?wsdl HTTP/1.1" wsdl=&
10.0.0.10 - [28/Nov/2013:14:48:36 +0400] 0.000 404 5 "GET /bgbilling/executer/ru.bitel.bgbilling.kernel.contract.status.server.service/ContractStatusMonitorService?wsdl HTTP/1.1" wsdl=& 10.0.0.10 - [28/Nov/2013:14:48:36 +0400] 0.000 404 5 "GET /bgbilling/executer/ru.bitel.bgbilling.kernel.contract.status.server.service/ContractStatusMonitorService?wsdl HTTP/1.1" wsdl=& |
Автор: | stark [ 28 ноя 2013, 18:11 ] |
Заголовок сообщения: | Re: [5.1->6.0] Где искать WSContractStatusMonitorImpl ? |
mikos писал(а): Пустой экран ![]() Код: 10.0.0.10 - [28/Nov/2013:14:48:16 +0400] 0.003 404 5 "GET /bgbilling/executer/ru.bitel.bgbilling.kernel.contract.status.server.service/ContractStatusMonitorServiceImpl?wsdl HTTP/1.1" wsdl=& 10.0.0.10 - [28/Nov/2013:14:48:36 +0400] 0.000 404 5 "GET /bgbilling/executer/ru.bitel.bgbilling.kernel.contract.status.server.service/ContractStatusMonitorService?wsdl HTTP/1.1" wsdl=& 10.0.0.10 - [28/Nov/2013:14:48:36 +0400] 0.000 404 5 "GET /bgbilling/executer/ru.bitel.bgbilling.kernel.contract.status.server.service/ContractStatusMonitorService?wsdl HTTP/1.1" wsdl=& Правкой кнопкой на пустом и экране , посмотреть исходники. |
Автор: | mikos [ 28 ноя 2013, 18:55 ] |
Заголовок сообщения: | Re: [5.1->6.0] Где искать WSContractStatusMonitorImpl ? |
И там пусто. В логах которые я привел - 404. Это норм? |
Автор: | skn [ 28 ноя 2013, 21:00 ] |
Заголовок сообщения: | Re: [5.1->6.0] Где искать WSContractStatusMonitorImpl ? |
запускаем клиента билинга в дебаг режиме, меняем статус на договоре, см. логи, видим запрос, копируем в браузере и .... Код: http://host[:port]/bgbilling//executer/ru.bitel.bgbilling.kernel.contract.status/ContractStatusMonitorService?wsdl
|
Автор: | mikos [ 28 ноя 2013, 23:36 ] |
Заголовок сообщения: | Re: [5.1->6.0] Где искать WSContractStatusMonitorImpl ? |
Ага, спасибо, так нашел. По всей видимости где-то очепятка вкрадывалась. Правда все равно не понятно как пользоваться классом. Кусок кода Код: ContractStatusMonitorServiceImpl ws = new ContractStatusMonitorServiceImpl(); MailMsg msg = new MailMsg( setup ); ws.setConnection( con ); ws.setSetup( setup ); try { print("Create balans dump start ..."); ws.createBalanceDump(); print("Create balans dump finish !"); } catch(BGException e) { print("Ошибка при создании среза балансов \n"); print( e.getMessage() ); return; } Пропало 2 метода - в листинге по вашему рецепту не нашел: Код: ws.setConnection(con); ws.setSetup( setup ); Попробовал их закоментировать и получил: Код: Method Invocation ws.createBalanceDump
|
Автор: | skn [ 28 ноя 2013, 23:54 ] |
Заголовок сообщения: | Re: [5.1->6.0] Где искать WSContractStatusMonitorImpl ? |
Код: new ru.bitel.bgbilling.kernel.contract.status.server.bean.ContractStatusMonitorDao( con ).createBalanceDump();
|
Автор: | mikos [ 29 ноя 2013, 01:43 ] |
Заголовок сообщения: | Re: [5.1->6.0] Где искать WSContractStatusMonitorImpl ? |
Спасибо, срез получил. Теперь на поиске в нем застрял. Код: Typed variable declaration : Error in method invocation: Method contractSearch( int, int, java.lang.String, java.util.HashSet, java.util.HashSet, java.lang.String, java.lang.String, java.lang.String, java.lang.String, int, ru.bitel.common.model.Page, int, java.math.BigDecimal, java.util.HashSet, float, int, int ) not found in class'ru.bitel.bgbilling.kernel.contract.status.server.bean.ContractStatusMonitorDao'
|
Автор: | crez [ 29 ноя 2013, 12:47 ] |
Заголовок сообщения: | Re: [5.1->6.0] Где искать WSContractStatusMonitorImpl ? |
В связи с тем же переездом 5.1->6.0 перестал работать скрипт управления свитчем DLink. Кусок лога: Код: 11-29/09:57:38 ERROR [Thread-103] DlinkGateWorker - Eval error2: Attempt to resolve method: stringToIntegerList() on undefined variable or class name: Utils Attempt to resolve method: stringToIntegerList() on undefined variable or class name: Utils : at Line: 102 : in file: inline evaluation of: ``import java.io.IOException; import java.util.ArrayList; import java.util.HashMap . . . '' : Utils .stringToIntegerList ( gateSetup .get ( "uplink" , "25,26,27,28" ) ) Кусок скрипта: Код: uplinks = Utils.stringToIntegerList( gateSetup.get( "uplink", "25,26,27,28" ) ); В какой библиотеке теперь этот "stringToIntegerList"? Или чем заменяется? ADD Верхушка выглядит так: Код: import java.io.IOException;
import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.StringTokenizer; import java.util.regex.Matcher; import java.util.regex.Pattern; import bitel.billing.common.IPUtils; import bitel.billing.common.module.ipn.IPNContractStatus; import bitel.billing.server.ipn.UserStatus; import bitel.billing.server.ipn.bean.ManadUtils; import bitel.billing.server.ipn.bean.VlanManager; import bitel.billing.server.ipn.dlink.UserPortStatus; import ru.bitel.common.Preferences; import bitel.billing.server.util.Utils; import bitel.billing.server.util.telnet.TelnetSession; import bitel.billing.server.ipn.GateWorker; |
Автор: | Artur [ 29 ноя 2013, 15:04 ] |
Заголовок сообщения: | Re: [5.1->6.0] Где искать WSContractStatusMonitorImpl ? |
crez писал(а): В какой библиотеке теперь этот "stringToIntegerList"? Или чем заменяется? Используйте Код: Utils.toIntegerList( String str );
|
Автор: | skn [ 29 ноя 2013, 15:05 ] |
Заголовок сообщения: | Re: [5.1->6.0] Где искать WSContractStatusMonitorImpl ? |
см. http://bgbilling.ru/v5.1/javadoc/ru/bit ... ang.String) Код: Utils.toIntegerList()
|
Автор: | mikos [ 29 ноя 2013, 15:19 ] |
Заголовок сообщения: | Re: [5.1->6.0] Где искать WSContractStatusMonitorImpl ? |
mikos писал(а): Спасибо, срез получил. Теперь на поиске в нем застрял. Код: Typed variable declaration : Error in method invocation: Method contractSearch( int, int, java.lang.String, java.util.HashSet, java.util.HashSet, java.lang.String, java.lang.String, java.lang.String, java.lang.String, int, ru.bitel.common.model.Page, int, java.math.BigDecimal, java.util.HashSet, float, int, int ) not found in class'ru.bitel.bgbilling.kernel.contract.status.server.bean.ContractStatusMonitorDao' Где посмотреть параметры этого метода? |
Автор: | skn [ 29 ноя 2013, 15:31 ] |
Заголовок сообщения: | Re: [5.1->6.0] Где искать WSContractStatusMonitorImpl ? |
http://bgbilling.ru/v6.0/javadoc/ru/bit ... el.Page%29 |
Автор: | mikos [ 01 дек 2013, 20:27 ] |
Заголовок сообщения: | Re: [5.1->6.0] Где искать WSContractStatusMonitorImpl ? |
Спасибо. Привел к правильному виду. Код: ws.contractSearch ( saldoShowMode, saldoAccountMonths, serviceMaxVal, serviceAccountMaxServices, status, mode, subContract, balanceLimit, balancePrevLimit, statusPeriod, statusPeriodUnit, group, notGroup, saldoFrom, saldoTo, saldoAcconuntsMore, sort, page ) Где Код: int saldoShowMode = -1; String serviceAccountMaxServices = ""; long group = 21L; long notGroup = 0L; Здесь не понятно назначение параметра saldoShowMode. Указал наобум -1. Что это? Правильно ли привел hash к log в параметрах group и notGroup? Ну и главный вопрос - выполнение этого метода приводит к ошибке: Код: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ' contract_status.date2 FROM contract LEFT JOIN contract_status_balance_dump AS l' at line 1 Что не так? |
Автор: | skyb [ 02 дек 2013, 06:22 ] |
Заголовок сообщения: | Re: [5.1->6.0] Где искать WSContractStatusMonitorImpl ? |
весь код покажите чтоль |
Автор: | mikos [ 02 дек 2013, 12:10 ] |
Заголовок сообщения: | Re: [5.1->6.0] Где искать WSContractStatusMonitorImpl ? |
Не отрабатывает конкретный метод, поэтому забивать голову лишним кодом не стал. Но если думаете это поможет, то весь код ниже: Код: import java.util.*;
import java.math.*; import bitel.billing.server.util.*; import bitel.billing.common.*; import ru.bitel.bgbilling.kernel.contract.status.server.*; import ru.bitel.bgbilling.kernel.contract.status.common.bean.*; import ru.bitel.common.model.*; //import bitel.billing.server.contract.bean.ContractParameterManager; //import bitel.billing.common.TimeUtils; import bitel.billing.server.contract.bean.*; import bitel.billing.server.contract.object.bean.*; import ru.bitel.bgbilling.plugins.crm.server.model.*; import ru.bitel.bgbilling.plugins.crm.server.dao.*; import ru.bitel.bgbilling.plugins.crm.common.model.*; import ru.bitel.bgbilling.kernel.contract.status.server.service.ContractStatusMonitorServiceImpl; import ru.bitel.bgbilling.common.BGException; includeBGBS( "bgbs://ru.bitel.bgbilling.kernel.script.common.bean.ScriptLibrary/contract" ); StringBuilder contractIds= new StringBuilder(); ContractParameterManager cpm = new ContractParameterManager( con ); RegisterTaskManager rtm = new RegisterTaskManager( con ); private void addTaskJoin( cid ) { EventDate = new java.util.Date(); TargetDate = new GregorianCalendar(); TargetDate.add( Calendar.DAY_OF_MONTH, 7 ); print("TargetDate="+TargetDate.getTime()); task_type_id = 1; // подключение task_group_id = 6; // операторы //Ищем задачу filter = new TaskFilter(); filter.cid = cid; filter.types = Integer.toString( task_type_id ); if ( rtm.getTaskCount( filter ) == 0 ){ //Создаем новую задачу RegisterTask task = new RegisterTask(); task.setContractID( cid ); task.setTypeID( task_type_id ); task.setGroupID( task_group_id ); task.setOpenUserID( 0 ) ; task.setOpenTime( EventDate ); task.setComment( "Целая" ); task.setAddressParamID( 13 ); //task.setAddressObjectId( task_AddressObjectId ); task.setTargetDate( TargetDate.getTime() ); rtm.updateTask( task ); }; } private void processContracts( con, List list, ContractStatusMonitorServiceImpl ws ) { //print("---------------------\n"); // обходим массив договоров int[] cids = new int[list.size()]; int i = 0; for( MonitorStatusResult m : list ) { cids[i] = m.getCid(); cpu = new ContractParamUtils( con ); if ( cpu.getAddressParam( cids[i], PARAM_JOIN_ADDR ) != null ) { contractIds.append( "contractId = " ); contractIds.append( m.getCid() ); contractIds.append( "\n" ); cpm.setGroup( cids[i], 22 ); cpm.unsetGroup( cids[i], 21 ); addTaskJoin( cids[i] ); } i++; } } private void sendEmail( MailMsg msg ) { String m = "Следующие новые договоры были поставлены в очередь на подключение: \n"; m += contractIds.toString(); msg.sendMessage( "operators@local", "Договора на подключение", m ); } public void main( setup, con, conSlave ) { ws = new ru.bitel.bgbilling.kernel.contract.status.server.bean.ContractStatusMonitorDao( con ); MailMsg msg = new MailMsg( setup ); //ws.setConnection(con); //ws.setSetup( setup ); try { print("Create balans dump start ..."); ws.createBalanceDump(); print("Create balans dump finish !"); } catch(BGException e) { print("Ошибка при создании среза балансов \n"); print( e.getMessage() ); return; } // ------------ ОПИСАНИЕ ПЕРЕМЕННЫХ ДЛЯ ПОИСКА ДОГОВОРОВ------------------- int mode = -1; int statusPeriod = 0 ; String statusPeriodUnit = "day"; String status = "-1,3"; String saldoFrom = ""; String saldoTo = ""; String sort =""; int subContract = 0; Page page = new Page(0,25); int saldoAccountMonths = 0; BigDecimal saldoAcconuntsMore = BigDecimal.ZERO; float serviceMaxVal = -1f; int balanceLimit = 0; int balancePrevLimit = 0; String serviceAccountMaxServices = ""; long group = 21L; long notGroup = 0L; try { print("Search contracts and change status start..."); //Result res = ws.contractSearch( mode, statusPeriod, statusPeriodUnit, group, notGroup, status, saldoFrom, saldoTo, sort, subContract, page, saldoAccountMonths, saldoAcconuntsMore, serviceAccountMaxServices, serviceMaxVal, balanceLimit, balancePrevLimit ); Result res = ws.contractSearch ( -1, saldoAccountMonths, serviceMaxVal, serviceAccountMaxServices, status, mode, subContract, balanceLimit, balancePrevLimit, statusPeriod, statusPeriodUnit, group, notGroup, saldoFrom, saldoTo, saldoAcconuntsMore, sort, page ); print( "Кол-во страниц = " + res.getPage().getPageCount() ); page = res.getPage(); processContracts( con, res.getList(), ws ); } catch( BGException e ) { print("Ошибка при поиске и изменении статуса договоров \n"); print( e.getMessage() ); return; } print("Search contracts finish !"); if ( contractIds.length() > 0 ) { print("Send email !"); sendEmail(msg); } print("Finish!!!"); } |
Автор: | mikos [ 02 дек 2013, 12:12 ] |
Заголовок сообщения: | Re: [5.1->6.0] Где искать WSContractStatusMonitorImpl ? |
Есть подозрение на не корректную версию mysql. Сейчас стоит 5.1. |
Автор: | crez [ 03 дек 2013, 13:22 ] |
Заголовок сообщения: | Re: [5.1->6.0] Где искать WSContractStatusMonitorImpl ? |
Artur писал(а): Используйте Код: Utils.toIntegerList( String str ); Спасибо. Но и так не работает ![]() Нашел это:(ссылка). Код: toIntegerList public static final java.util.List<java.lang.Integer> toIntegerList(java.lang.String valuesStr) Добавил в шапку: Код: import ru.bitel.common.Utils; В скрипте пишу: Код: uplinks = Utils.toIntegerList( gateSetup.get( "uplink", "25,26,27,28" ) ); Получаю: Код: 12-03/11:01:17 ERROR [Thread-48] DlinkGateWorker - Eval error2: Attempt to resolve method: toIntegerList() on undefined variable or class name: Utils
Attempt to resolve method: toIntegerList() on undefined variable or class name: Utils : at Line: 104 : in file: inline evaluation of: ``import ru.bitel.common.Utils; import java.io.IOException; import java.util.Array . . . '' : Utils .toIntegerList ( gateSetup .get ( "uplink" , "25,26,27,28" ) ) |
Автор: | mikos [ 03 дек 2013, 13:50 ] |
Заголовок сообщения: | Re: [5.1->6.0] Где искать WSContractStatusMonitorImpl ? |
crez, ты б завел отдельный топик. Чего все в кучу то сваливать? |
Автор: | mikos [ 04 дек 2013, 22:25 ] |
Заголовок сообщения: | Re: [5.1->6.0] Где искать WSContractStatusMonitorImpl ? |
Уважаемые разработчики, вы уж подскажите пожалуйста, раз документации нет. С чего вдруг ошибка mysql вылезла при исполнении штатного метода вашего класса? Может что не то в параметрах передал? PS: MySQL я так понимаю 5.1 - это норм для BGB6.0? |
Автор: | skn [ 05 дек 2013, 01:09 ] |
Заголовок сообщения: | Re: [5.1->6.0] Где искать WSContractStatusMonitorImpl ? |
Код: uplinks = ru.bitel.common.Utils.toIntegerList( gateSetup.get( "uplink", "25,26,27,28" ) );
|
Автор: | skn [ 05 дек 2013, 01:10 ] |
Заголовок сообщения: | Re: [5.1->6.0] Где искать WSContractStatusMonitorImpl ? |
mikos писал(а): С чего вдруг ошибка mysql вылезла при исполнении штатного метода вашего класса? Может что не то в параметрах передал? правильно, один из параметров пустой |
Автор: | skn [ 05 дек 2013, 01:17 ] |
Заголовок сообщения: | Re: [5.1->6.0] Где искать WSContractStatusMonitorImpl ? |
Здесь не понятно назначение параметра saldoShowMode. Указал наобум -1. Что это? Что не так?[/quote] saldoShowMode = 1 - сальдо, 2 - исх. остаток |
Автор: | mikos [ 05 дек 2013, 01:33 ] |
Заголовок сообщения: | Re: [5.1->6.0] Где искать WSContractStatusMonitorImpl ? |
А как узнать в каком именно параметре беда? Пробовал пустые стринговые заполнять - не помогает. HELP Код: int mode = -1;
int statusPeriod = 0 ; String statusPeriodUnit = "day"; String status = "-1,3"; String saldoFrom = ""; String saldoTo = ""; String sort =""; int subContract = 0; Page page = new Page(0,25); int saldoAccountMonths = 0; BigDecimal saldoAcconuntsMore = BigDecimal.ZERO; float serviceMaxVal = -1f; int balanceLimit = 0; int balancePrevLimit = 0; String serviceAccountMaxServices = ""; long group = 21L; long notGroup = 0L; |
Автор: | mikos [ 05 дек 2013, 01:35 ] |
Заголовок сообщения: | Re: [5.1->6.0] Где искать WSContractStatusMonitorImpl ? |
skn писал(а): saldoShowMode = 1 - сальдо, 2 - исх. остаток Ага, в нем было дело. Двигаемся дальше. Спасибо. |
Автор: | mikos [ 05 дек 2013, 02:19 ] |
Заголовок сообщения: | Re: [5.1->6.0] Где искать WSContractStatusMonitorImpl ? |
Не пойму почему выборка по группе не проходит. Есть группа договоров с id=21 В параметрах метода указываем Код: long group = 21L; long notGroup = 0L; Предполгается, что искать будем в 21й группе. Однако это не так. Пока ищу методом тыка. |
Автор: | skn [ 05 дек 2013, 03:00 ] |
Заголовок сообщения: | Re: [5.1->6.0] Где искать WSContractStatusMonitorImpl ? |
Код: long group = 1L<<21;
|
Страница 1 из 2 | Часовой пояс: UTC + 5 часов [ Летнее время ] |
Powered by phpBB® Forum Software © phpBB Group http://www.phpbb.com/ |