BiTel

Форум BiTel
bgbilling.ru     docs.bitel.ru     wiki.bitel.ru     dbinfo.bitel.ru     bgcrm.ru     billing.bitel.ru     bitel.ru    
Текущее время: 16 июн 2024, 12:44

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




Начать новую тему Ответить на тему  [ Сообщений: 5 ] 
Автор Сообщение
СообщениеДобавлено: 20 фев 2015, 13:46 
Не в сети
Клиент

Зарегистрирован: 10 окт 2012, 17:00
Сообщения: 339
Карма: 0
Возможно, что такая тема уже была, тогда прошу дать ссылку, поиском не нашел. Встала задача при подключении опции устанавливать ей определенное время окончания. На событие "Активирована/Реактивирована тарифная опция" навесил скрипт:

Код:
public class optionCloseDate
   extends EventScriptBase
{
   @Override
   public void onEvent( Event event1, Setup setup2, ConnectionSet connectionSet3 )
      throws Exception
   {
      Calendar dt = new GregorianCalendar();
      Connection con1 = connectionSet3.getConnection();
      ContractTariffOptionDao contract_tariffoption = new ContractTariffOptionDao(con1);
      
      List<ContractTariffOption> list1 = contract_tariffoption.list(event1.getContractId(), dt.getTime());

         print( "> list.size() -> " + list1.size());
         print( ">> list1.get(0).getTimeTo() -> " + list1.get(0).getTimeTo());         
         print( ">>> list1.get(0).getOptionTitle() -> " + list1.get(0).getOptionTitle());
         
         list1.get(0).setTimeTo(TimeUtils.convertStringToDate( "01.03.2015 00:00:00", "dd.MM.yyy HH:mm:ss"));
         print( ">> list1.get(0).getTimeTo() -> " + list1.get(0).getTimeTo());         
            
         list1.get(0).setDeactivatedTime(TimeUtils.convertStringToDate( "01.03.2015 00:00:00", "dd.MM.yyy HH:mm:ss"));
         print( ">> list1.get(0).getDeactivatedTime() ->" + list1.get(0).getDeactivatedTime());         
   }
}


При подключении опции на договор получаю лог:

Код:
OUT:
> list.size() -> 1
>> list1.get(0).getTimeTo() -> null
>>> list1.get(0).getOptionTitle() -> Тест
>> list1.get(0).getTimeTo() -> Sun Mar 01 00:00:00 YAKT 2015
>> list1.get(0).getDeactivatedTime() ->Sun Mar 01 00:00:00 YAKT 2015


Но на самой опции в договоре дата окончания не выставляется. Что я делаю не так? (:

Скриншот опции в приложении. Версия биллинга:

Клиент: вер. 6.0 сборка 1370 от 09.02.2015 18:40:54
os: Linux; java: Java HotSpot(TM) Server VM, v.1.7.0_55
Сервер: вер. 6.0 сборка 1830 от 09.02.2015 18:40:58
os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.7.0_55


Вложения:
395.jpg
395.jpg [ 19.22 КБ | Просмотров: 2378 ]
Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 20 фев 2015, 14:17 
Не в сети
Клиент

Зарегистрирован: 10 окт 2012, 17:00
Сообщения: 339
Карма: 0
Отвечаю сам себе (: Надо было добавить:

Код:
contract_tariffoption.update(list1.get(0));


Остается один вопрос по теме - действий, приведенных в скрипте, достаточно для выставления даты закрытия опции либо что-то нужно добавлять еще?


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 20 фев 2015, 14:56 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 20 апр 2009, 12:03
Сообщения: 3092
Откуда: Иркутск
Карма: 338
Нужно ещё послать событие на изменение ТО, иначе во всех кэшах она останется с открытой датой.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 20 фев 2015, 15:03 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 20 апр 2009, 12:03
Сообщения: 3092
Откуда: Иркутск
Карма: 338
Вообще, если по событию нужно отключать опцию прямо сразу, то лучше делать deactivateOption с режимом "сейчас" - тогда события сработают стандартно.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 20 фев 2015, 15:13 
Не в сети
Клиент

Зарегистрирован: 10 окт 2012, 17:00
Сообщения: 339
Карма: 0
Спасибо за ответ.

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

Цитата:
Нужно ещё послать событие на изменение ТО, иначе во всех кэшах она останется с открытой датой.


А можно на эту тему пример или хотя бы где посмотреть в API?


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

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


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

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


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

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