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

Помощь с TariffRequest()
http://forum.bitel.ru/viewtopic.php?f=19&t=6050
Страница 1 из 1

Автор:  braek-neck [ 31 окт 2011, 14:35 ]
Заголовок сообщения:  Помощь с TariffRequest()

Всем доброго дня. пытаюсь разобраться с получением стоимости абонплаты для конкретного договора. Ниже глобальный скрипт. Подскажите плиз что не так. Почему значение cost всегда null выдаеться.

сам скрипт.

Код:
import java.util.*;
import bitel.billing.server.contract.bean.*;
import bitel.billing.server.tariff.*;
import bitel.billing.server.util.*;

public void main( setup, con, conSlave )
{

// код услуги
sid = 15;
// код экземпляра модуля
mid = 3;
//код договора
cid = 1767;
//дата
DateNow = new GregorianCalendar();


cost = null;

// поиск параметров абонплаты
tts = new ContractManager( con ).getRealtimeTariffTreeSet( cid, DateNow, "npay", mid, true );
for( TariffModuleTree tree : tts.getTreeList( DateNow ) )
{
   req_cost = new TariffRequest();
   req_cost.setRequestParam( "action", "calculate" );
   req_cost.setRequestParam( "sid", sid );
   req_cost.setRequestParam( "month_days", 1 );
   req_cost.setRequestParam( "period_days", 1 );
   req_cost.setRequestParam( "time",  DateNow);
   tree.processRequest( req_cost );
   cost = (Double)req_cost.getResponseParam( "cost" );   
           print (cost);
}
}


резаультат.

Код:
COMPLETE_TIME: 31.10.11 14:27:04
PROCESS_TIME: 27
OUT:
null
ERROR:
EXCEPTIONS:
WARNINGS:

Автор:  Cromeshnic [ 31 окт 2011, 14:50 ]
Заголовок сообщения:  Re: Помощь с TariffRequest()

Модуль то какой?

Сделайте print(req_cost); для начала

Автор:  braek-neck [ 31 окт 2011, 15:23 ]
Заголовок сообщения:  Re: Помощь с TariffRequest()

Cromeshnic писал(а):
Модуль то какой?

Сделайте print(req_cost); для начала



Модуль npay. Я ведь писал что нужно узнать стоимость абонплаты.

print(req_cost); выдал следующее

Код:
accepted => false relevance => -1 REQ: sid => 15 time => 31.10.2011 15:21:15 action => calculate month_days => 1 period_days => 1 RESP: HIST:

Автор:  skyb [ 31 окт 2011, 16:51 ]
Заголовок сообщения:  Re: Помощь с TariffRequest()

ооо....хороший скриптик

Автор:  braek-neck [ 31 окт 2011, 17:06 ]
Заголовок сообщения:  Re: Помощь с TariffRequest()

skyb писал(а):
ооо....хороший скриптик


вот разобраться бы только. жаль по этому классу документации нету. из примеров с вики взял.
а в общем он будет частью другого большого скрипта.

неужели никто помочь не может?

Автор:  Artur [ 01 ноя 2011, 16:50 ]
Заголовок сообщения:  Re: Помощь с TariffRequest()

метод getResponseParam( String ) возвращает Object, а вам нужно что то типа вот этого
Код:
cost = Double.valueOf( getResponseParam( "cost" ) );

Автор:  braek-neck [ 01 ноя 2011, 17:37 ]
Заголовок сообщения:  Re: Помощь с TariffRequest()

Artur писал(а):
метод getResponseParam( String ) возвращает Object, а вам нужно что то типа вот этого
Код:
cost = Double.valueOf( getResponseParam( "cost" ) );


чтот не работает. (((

Код:
EXCEPTIONS:
Command not found: getResponseParam( java.lang.String )
Command not found: getResponseParam( java.lang.String ) : at Line: 32 : in file: test : getResponseParam ( "cost" )



а если так cost = Double.valueOf(req_cost.getResponseParam( "cost" ) ); то

Код:
EXCEPTIONS:
Method Invocation Double.valueOf
Method Invocation Double.valueOf : at Line: 32 : in file: test : Double .valueOf ( req_cost .getResponseParam ( "cost" ) )

Target exception: java.lang.NullPointerException



Выложили бы лучше описание класса. Было бы легче насного. а то второй день уже сижу в примеры на вики гляжу, но чтот не один из вариантов не работает.

Автор:  braek-neck [ 14 ноя 2011, 13:25 ]
Заголовок сообщения:  Re: Помощь с TariffRequest()

ну что, никто чтоль помоч не может???

ап )))

Автор:  stark [ 14 ноя 2011, 16:21 ]
Заголовок сообщения:  Re: Помощь с TariffRequest()

В первоначальной версии скрипта замените
Код:
cost = null;


На
Код:
Double cost = null;


Остальное не меняйте.

Автор:  snark [ 14 ноя 2011, 16:41 ]
Заголовок сообщения:  Re: Помощь с TariffRequest()

Код:
int sid = ...;
int mid = ...;
int cid = ...;

?

Автор:  stark [ 14 ноя 2011, 19:34 ]
Заголовок сообщения:  Re: Помощь с TariffRequest()

snark писал(а):
Код:
int sid = ...;
int mid = ...;
int cid = ...;

?


Хуже не будет.

Автор:  braek-neck [ 15 ноя 2011, 22:34 ]
Заголовок сообщения:  Re: Помощь с TariffRequest()

результат не изменился. (((

Автор:  stark [ 23 ноя 2011, 12:36 ]
Заголовок сообщения:  Re: Помощь с TariffRequest()

braek-neck писал(а):
результат не изменился. (((

А вы тариф покажите , может там стоимость действительно не находит.

Автор:  braek-neck [ 01 дек 2011, 16:12 ]
Заголовок сообщения:  Re: Помощь с TariffRequest()

вот.

Вложение:
111.JPG
111.JPG [ 19.54 КБ | Просмотров: 7702 ]

Автор:  braek-neck [ 08 дек 2011, 16:57 ]
Заголовок сообщения:  Re: Помощь с TariffRequest()

up :(

Автор:  braek-neck [ 13 дек 2011, 17:54 ]
Заголовок сообщения:  Re: Помощь с TariffRequest()

вроде разобрался. скрипт для версии 4.6. а у меня 5.0

для 5.0 так же нашел сдесь. http://wiki.bgbilling.ru/index.php/Определение_размера_абонентской_платы

но там ошибка. о ней написано тут viewtopic.php?f=19&t=3656&hilit=TariffRequest&start=15. исправьте в вики плиз.

после исправления все начало работать.
_________________________________________________________________________

Но к сожалению на этом мытарства не закончились.

Данный скрипт расчитывает абонплату для конкретного договора. что в моем случае не совсем приемлемо. такак пишу скрипт разблокировки договора при достаточности денег на балансе. Если договор весь месяц был закрыт, то скрипт выдает нулевую стоимость.

Уважаемые разработчики существуют ли методы получения стоимости услуги в тарифном плане. Вданном случае мне нужно получить стоимость услуги модуля npay.

Автор:  snark [ 13 дек 2011, 18:49 ]
Заголовок сообщения:  Re: Помощь с TariffRequest()

braek-neck писал(а):
исправьте в вики плиз

Это же вики - регистрируетесь, исправляете и оставляете комментарий вида "для того чтобы работало в 5.0 было поправлено ..." - все Вам только спасибо скажут ;)

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