BiTel

Форум BiTel
bgbilling.ru     docs.bitel.ru     wiki.bitel.ru     dbinfo.bitel.ru     bgcrm.ru     billing.bitel.ru     bitel.ru    
Текущее время: 20 июн 2025, 20:07

Часовой пояс: UTC + 5 часов [ Летнее время ]




Начать новую тему Ответить на тему  [ Сообщений: 8 ] 
Автор Сообщение
СообщениеДобавлено: 13 мар 2008, 23:36 
Не в сети
Клиент

Зарегистрирован: 12 фев 2008, 18:10
Сообщения: 3951
Карма: 249
в мануале читаю:
мануал писал(а):
Кроме перечня разрешенных тарифов и момента когда можно менять тариф необходимо устаноить:

1) За сколько часов от выбранной даты производится смена тарифа. ...
2) Количество дней следующих после текущей даты, в которые может быть добавлено задание на переход. ...

Теперь необходимо установить в договор Группу тарифов и скрипт поведения. Сделать это следует открыв договор и щелнув на дереве Группа тарифов и Скрипт поведения. Оба значения необходимо добавить с периодами.

В скрипте поведения должна присутствовать функция, обрабатывающая событие "Смена тарифа по заданию пользователя". Как создавать скрипты и вносить в них функции также читайте в документации к BGBS.

после чего хочу попросить всего об одной вещи - выложите, пожалуйста, код скрипта который просто будет переводить пользователей из одного тарифа в другой тариф без начислений сумм (как дано в примере) и т.д. и т.п. с учетом указанных в п.1 и п.2 мануала условий ...


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 14 мар 2008, 02:28 
Не в сети
Разработчик

Зарегистрирован: 27 ноя 2006, 20:36
Сообщения: 5715
Карма: 93
Ну уберите вот этот кусок:

Код:
// заносим расход  50 руб
charge = new Charge();
charge.setContractID( cid );
charge.setDate( task.getFromDate() );
charge.setChargeTypeID( 40 );
charge.setComment( "Смена тарифа через Web" );
charge.setSumma( 50f );

chm.updateCharge( "new", charge );


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 14 мар 2008, 15:54 
Не в сети
Клиент

Зарегистрирован: 12 фев 2008, 18:10
Сообщения: 3951
Карма: 249
Администратор писал(а):
Ну уберите вот этот кусок
спасибо, я в общем то так и думал ... просто меня смущает вот это:
Код:
// закрываем старый тариф днем ранее
endDate = (Calendar)task.getFromDate().clone();
endDate.add( Calendar.DAY_OF_YEAR, -1 );
т.к. мне хотелось бы чтобы скрипт работал именно так как указано в настройках групп тарифов ...


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 25 мар 2008, 02:53 
Не в сети
Клиент

Зарегистрирован: 12 фев 2008, 18:10
Сообщения: 3951
Карма: 249
up


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 28 мар 2008, 03:04 
Не в сети
Разработчик

Зарегистрирован: 27 ноя 2006, 20:36
Сообщения: 5715
Карма: 93
Скрипт и будет работать, как там задано. Настройки группы тарифов задают с каких дат можно перейти на новый тариф и за какой период времени до наступления даты исполнить переход тарифа (закрыть период текущего и открыть новый). Т.е. настройка группы тарифов задает момент отработки скрипта смены тарифа.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 01 сен 2008, 21:15 
Не в сети
Клиент

Зарегистрирован: 04 авг 2007, 19:57
Сообщения: 157
Карма: 0
У меня почему-то не работает смена тарифного плана с "Любого дня, начиная с завтрашнего". С начала недели, начала месяца и с сегодняшего дня смена происходит нормально. В чем может быть причина? Вот сам скрипт:
Код:
import bitel.billing.server.contract.bean.*;
import bitel.billing.server.tariff.bean.*;
import bitel.billing.server.script.event.*;
import java.util.*;

cid = event.getContractID();

task = event.getTask();

ctm =  new ContractTariffManager(  con );
chm = new ChargeManager( con );

// текущий тарифный план
currentTariff = ctm.getContractTariff( cid, task.getFromDate() );
if( currentTariff == null )
{
 error( "Current tariff not found" );
 return;
}

// закрываем старый тариф днем ранее
endDate = (Calendar)task.getFromDate().clone();
endDate.add( Calendar.DAY_OF_YEAR, -1 );

currentTariff.setDate2( endDate );
ctm.updateContractTariff( String.valueOf( currentTariff.getID() ), currentTariff  );

// обновляем баланс
new BalanceUtils( con ).updateBalance( task.getFromDate(), cid );

// вносим новый тариф
newPlan = new  ContractTariff();
newPlan.setContractID( cid );
newPlan.setTariffPlanID( task.getTariffPlanID() );
newPlan.setDate1( task.getFromDate() );
newPlan.setComment( "Смена тарифа через Web" );

ctm.updateContractTariff( "new", newPlan );

// передача информации о смене тарифа, для возможности разрыва соединения RADIUS сервером
new ContractManager( con ).updateLastTariffChange( cid );


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 02 сен 2008, 17:05 
Не в сети
Разработчик

Зарегистрирован: 27 ноя 2006, 20:36
Сообщения: 5715
Карма: 93
А задание добавляется корректно? Скрипт отрабатывает вообще?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 02 сен 2008, 17:52 
Не в сети
Клиент

Зарегистрирован: 04 авг 2007, 19:57
Сообщения: 157
Карма: 0
Задание при этом не создается. В логах пишет:
Код:
INFO   02.09.2008 15:48:19  Process event cid:493; event:Event bitel.billing.server.script.bean.event.GetChangeTariffDatesEvent cid: 493; module: 0; type: 20
INFO   02.09.2008 15:48:23  Process event cid:493; event:Event bitel.billing.server.script.bean.event.GetChangeTariffDatesEvent cid: 493; module: 0; type: 20
INFO   02.09.2008 15:48:26  Process event cid:493; event:Event bitel.billing.server.script.bean.event.GetChangeTariffDatesEvent cid: 493; module: 0; type: 20
INFO   02.09.2008 15:48:28  Process event cid:493; event:Event bitel.billing.server.script.bean.event.GetChangeTariffDatesEvent cid: 493; module: 0; type: 20
INFO   02.09.2008 15:48:29  Process event cid:493; event:Event bitel.billing.server.script.bean.event.GetChangeTariffDatesEvent cid: 493; module: 0; type: 20

При нормальном течении событий логи выглядят так:
Код:
INFO   02.09.2008 15:49:15  Process event cid:493; event:Event bitel.billing.server.script.bean.event.GetChangeTariffDatesEvent cid: 493; module: 0; type: 20
INFO   02.09.2008 15:49:21  Process event cid:493; event:Event bitel.billing.server.script.bean.event.AddChangeTariffTaskEvent cid: 493; module: 0; type: 17
INFO   02.09.2008 15:49:21  Process event cid:493; event:Event bitel.billing.server.script.bean.event.GetChangeTariffDatesEvent cid: 493; module: 0; type: 20
INFO   02.09.2008 15:50:07  Process event cid:493; event:Event bitel.billing.server.script.bean.event.GetChangeTariffDatesEvent cid: 493; module: 0; type: 20
INFO   02.09.2008 15:50:09  Process event cid:493; event:Event bitel.billing.server.script.bean.event.GetChangeTariffDatesEvent cid: 493; module: 0; type: 20
INFO   02.09.2008 15:50:10  Process event cid:493; event:Event bitel.billing.server.script.bean.event.GetChangeTariffDatesEvent cid: 493; module: 0; type: 20
INFO   02.09.2008 15:50:40  Add tariff change task, tpid: 53
INFO   02.09.2008 15:50:40  Add event to queue Event bitel.billing.server.script.bean.event.ChangeTariffByTaskEvent cid: 493; module: 0; type: 4
INFO   02.09.2008 15:50:41  Found event id=6507
INFO   02.09.2008 15:50:41  Process event cid:493; event:Event bitel.billing.server.script.bean.event.ChangeTariffByTaskEvent cid: 493; module: 0; type: 4
INFO   02.09.2008 15:50:41  Running function Function [id:10; title:Смена тарифа по заданию пользователя]
INFO   02.09.2008 15:50:41  Process time => 80
INFO   02.09.2008 15:50:58  Process event cid:493; event:Event bitel.billing.server.script.bean.event.GetChangeTariffDatesEvent cid: 493; module: 0; type: 20



Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 8 ] 

Часовой пояс: UTC + 5 часов [ Летнее время ]


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
POWERED_BY
Русская поддержка phpBB
[ Time : 0.071s | 32 Queries | GZIP : On ]