Добрый день!
Вопрос следующий. При блокировке договоров:
Код:
ContractStatus status = new ContractStatus();
status.setContractId(contractId);
status.setStatus(3);
status.setComment("Недостаточно средств для начисления абонплаты");
status.setDateFrom(new Date());
status.setDateTo(null);
ContractStatusManager contractStatusManager = new ContractStatusManager(con);
contractStatusManager.changeStatus(status, 0);
con.commit();
Не происходит сразу сброс состояний сервисов выделенных линий и текущих подключений абонентов.
Т.е. договор блокируется. Статус договора становится соответствующий, но при этом абонент подключен и продолжает работать. Т.е. сессия не сбрасывается. Так продолжается до тех пор, пока не закончит работу API-скрипт.
Дело в том, что мы пытаемся реализовать плавное отключение абонентов по балансу 1-го числа месяца. Т.е. не всех сразу, а постепенно. Таким образом предполагается работа скрипта несколько часов.
Блокировка договоров и начисление абонплат работает как положено. Но, как написал выше, не происходит сброс сессий абонентов и абонент остается активным. Каким образом можно принудительно установить соответствующее состояние сервиса "Отключен" и, соответственно, сбросить сессии?