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

Добавление сервиса в модуль Inet
http://forum.bitel.ru/viewtopic.php?f=19&t=11455
Страница 1 из 1

Автор:  RedkinSM [ 17 мар 2016, 16:13 ]
Заголовок сообщения:  Добавление сервиса в модуль Inet

Добрый день! Для добавления сервиса в модуль Inet я написал такой метод:
Код:
public int addInternetTariff(
@WebParam(name = "contract") int contract,
@WebParam(name = "tariff") int tariff
) throws Exception
{
          this.addModule(contract, 1);
          ServiceObjectManager som = new ServiceObjectManager(getConnection(), 1);
          ServiceObject so = new ServiceObject();
          so.setServiceId(3);
          so.setContractId(contract);
          so.setDate1(new java.util.Date());
          som.updateServiceObject(so);
          this.addModule(contract, 4);
          int tplink = this.addTariff(contract, tariff);

          InetServ is = new InetServ();
          is.setContractId(contract);
          is.setDateFrom(new java.util.Date());
          is.setDeviceId(7);
          is.setInterfaceId(5);
          is.setStatus(is.STATUS_ACTIVE);
          is.setDeviceState(is.STATE_ENABLE);
          is.setTypeId(1);
          is.setLogin("*****");
          is.setTitle("111222333");
          InetServDao isd = new InetServDao(getConnection(), 4);
          isd.update(is);

          return tplink;
}

private void addModule(int contract, int module) throws Exception
{
          ContractModuleManager cmm = new ContractModuleManager(getConnection());
          cmm.addContractModule(contract, module);
}

Сервис создается, но состояние у него "Удален". Состояние у него меняется, только если я зайду в него в клиенте и сохраню руками. Подскажите пожалуйста, как правильно добавить сервис?

Автор:  Amir [ 17 мар 2016, 16:26 ]
Заголовок сообщения:  Re: Добавление сервиса в модуль Inet

Если просто добавлять через БД (а DAO работает только с БД), то не происходит обновление кэшей.
Так можно делать при изначальном импорте, но потом необходимо перезапускать приложения биллинга.

Правильней добавлять через API (сервисы), с которым работает клиент биллинга:
Код:
final ServerContext context = ServerContext.get();
final InetServService servService = context.getService( InetServService.class, 4 );

List<InetOption> optionList = new ArrayList<InetOption>();

....

servService.inetServUpdate( serv, optionList, false, false, 0 );


https://bgbilling.ru/v6.2/javadoc/ru/bitel/bgbilling/modules/inet/api/common/service/InetServService.html#inetServUpdate-ru.bitel.bgbilling.modules.inet.api.common.bean.InetServ-java.util.List-boolean-boolean-long-

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