BiTel

Форум BiTel
bgbilling.ru     docs.bitel.ru     wiki.bitel.ru     dbinfo.bitel.ru     bgcrm.ru     billing.bitel.ru     bitel.ru    
Текущее время: 28 апр 2024, 14:54

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




Начать новую тему Ответить на тему  [ Сообщений: 7 ] 
Автор Сообщение
 Заголовок сообщения: Смена тарифа пользователем???
СообщениеДобавлено: 04 ноя 2007, 00:55 
Не в сети

Зарегистрирован: 24 окт 2007, 14:19
Сообщения: 145
Карма: 0
Поясните вразумительно как настроить и что к чему привязано.

Лог:

INFO 03.11.2007 20:15:39 Process event cid:14; event:Event bitel.billing.server.script.bean.event.AddChangeTariffTaskEvent cid: 14; module: 0; type: 17
INFO 03.11.2007 21:00:58 Add tariff change task, tpid: 6
INFO 03.11.2007 21:00:58 Add event to queue Event bitel.billing.server.script.bean.event.ChangeTariffByTaskEvent cid: 14; module: 0; type: 4
INFO 03.11.2007 21:00:58 Found event id=75
INFO 03.11.2007 21:00:58 Process event cid:14; event:Event bitel.billing.server.script.bean.event.ChangeTariffByTaskEvent cid: 14; module: 0; type: 4
INFO 03.11.2007 21:20:33 Process event cid:14; event:Event bitel.billing.server.script.bean.event.AddChangeTariffTaskEvent cid: 14; module: 0; type: 17
INFO 03.11.2007 21:20:59 Add tariff change task, tpid: 6
INFO 03.11.2007 21:20:59 Add event to queue Event bitel.billing.server.script.bean.event.ChangeTariffByTaskEvent cid: 14; module: 0; type: 4
INFO 03.11.2007 21:20:59 Found event id=76
INFO 03.11.2007 21:20:59 Process event cid:14; event:Event bitel.billing.server.script.bean.event.ChangeTariffByTaskEvent cid: 14; module: 0; type: 4



И если выбираеш сменить с текущей даты - ставит к исполнению прошедшей датой.


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

Зарегистрирован: 24 окт 2007, 14:19
Сообщения: 145
Карма: 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 );

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

chm.updateCharge( "new", charge );

// обновляем баланс
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 );


Деньги снимаются два раза ну и ладно.


Нужно не снимать деньги а проверять снята-ли абонплата и если нет то снимать (иначе получается, что абонплата снимается раз в час и не чаще - чаще шедуллер не запускается и клиент прыгая с тарифа на тариф меняет его (тариф) а абонплаты неуспевают начислиться)...


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 04 ноя 2007, 16:09 
Не в сети

Зарегистрирован: 24 окт 2007, 14:19
Сообщения: 145
Карма: 0
да и так как тариф применяется только с новой сессии былоб неплохо чтобы при смене тарифа клиента сбрасывало.


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

Зарегистрирован: 07 ноя 2007, 17:25
Сообщения: 60
Карма: 0
не сбрасывает клиента при смене тарифа?
можно это как-нибудь реализовать?


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

Зарегистрирован: 27 ноя 2006, 20:36
Сообщения: 5715
Карма: 93
В данный момент это можно реализовать только разрешением смены раз в месяц и принудительным сбросом всех абонентов на границе месяца. Принудительно сбрасывать нужно в любом случае, чтобы правильно шла тарификация. Иначе будет расти наработка за прошедший уже месяц.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 22 ноя 2007, 19:42 
Не в сети

Зарегистрирован: 07 ноя 2007, 17:25
Сообщения: 60
Карма: 0
а нельзя закрыть сессию и начать новую не разрывая связь у клиента?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 22 ноя 2007, 19:45 
Не в сети
Разработчик

Зарегистрирован: 27 ноя 2006, 20:36
Сообщения: 5715
Карма: 93
Нет. Такой возможности нет.


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

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


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

Сейчас этот форум просматривают: Bing [Bot] и гости: 1


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

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