Завёл свой статус id=7 для дебет-договора
contract.status.list=0:Активен;1:В отключении;2:Отключен;3:Закрыт;4:Приостановлен;5:В подключении;6:Не проведён;7:Недостаточно средств
В настройках модуля Npay:
debet.npay.status.manage=1
debet.npay.active.status=0
debet.npay.locked.status=7
Нужно, чтобы при этом статусе договора - выключался сервис inet. Точнее, нужно чтобы состояние сервиса было 0, а accessCode 12, т.е. "отключен[Недостаточно средств"
Повесил на договор обработчик события "Статус договора изменён", в котором пытаюсь изменить состояние сервиса.
Перепробовал разные варианты:
inetServService.inetServStateModify(inetServ.getId(), (short)0, 12);
ep.publish( new InetSaStateModifyEvent(INET_MID, connection.getContractId(), SCRIPT_USERID, connection.getDeviceId(), connection.getServId(), connection.getId(), (short)0, 12, false) );
ep.publish( new InetSaStateModifyEvent(INET_MID, 0, inetServ, (short)0, 12) );
Во всех случаях состояние сервиса меняется на короткое время, пока от Accounting-сервера не прилетает InetSaStateModifyEvent, в котором state=1, accessCode=0:
Логи Access-сервера:
Код:
mq 02-06/16:48:28 DEBUG [event-proc-p-2-t-1] Consumer - Caught from BGBillingServer Event[ru.bitel.bgbilling.kernel.event.events.ContractStatusChangedTopicEvent] moduleId: 0; pluginId: no; cid: 9137; scid: -1; userId: 1; timestamp: 1391662108710
mq 02-06/16:48:28 INFO [event-proc-p-2-t-1] ContractRuntimeMap - Taked event: Event[ru.bitel.bgbilling.kernel.event.events.ContractStatusChangedTopicEvent] moduleId: 0; pluginId: no; cid: 9137; scid: -1; userId: 1; timestamp: 1391662108710
mq 02-06/16:48:28 DEBUG [event-proc-p-2-t-1] Consumer - Caught from BGBillingServer Event[ru.bitel.bgbilling.kernel.event.events.ContractStatusModifiedEvent] moduleId: 0; pluginId: no; cid: 9137; scid: -1; userId: 1; timestamp: 1391662108707
mq 02-06/16:48:28 INFO [event-proc-p-2-t-1] ContractRuntimeMap - Taked event: Event[ru.bitel.bgbilling.kernel.event.events.ContractStatusModifiedEvent] moduleId: 0; pluginId: no; cid: 9137; scid: -1; userId: 1; timestamp: 1391662108707
mq 02-06/16:48:28 INFO [event-proc-p-2-t-1] InetServRuntimeMap - Taked event: Event[ru.bitel.bgbilling.kernel.event.events.ContractStatusModifiedEvent] moduleId: 0; pluginId: no; cid: 9137; scid: -1; userId: 1; timestamp: 1391662108707
mq 02-06/16:48:28 DEBUG [event-proc-p-2-t-1] Consumer - Caught from BGBillingServer Event[ru.bitel.bgbilling.kernel.event.events.ContractStatusModifiedEvent] moduleId: 0; pluginId: no; cid: 9137; scid: -1; userId: 1; timestamp: 1391662108707
mq 02-06/16:48:28 INFO [event-proc-p-2-t-1] ContractRuntimeMap - Taked event: Event[ru.bitel.bgbilling.kernel.event.events.ContractStatusModifiedEvent] moduleId: 0; pluginId: no; cid: 9137; scid: -1; userId: 1; timestamp: 1391662108707
mq 02-06/16:48:28 INFO [event-proc-p-2-t-1] InetServRuntimeMap - Taked event: Event[ru.bitel.bgbilling.kernel.event.events.ContractStatusModifiedEvent] moduleId: 0; pluginId: no; cid: 9137; scid: -1; userId: 1; timestamp: 1391662108707
connection 02-06/16:48:28 DEBUG [sa-p-10-t-26] AcknowledgeConsumer - Caught BGBillingServer:Event[ru.bitel.bgbilling.modules.inet.access.sa.event.InetSaStateModifyEvent] moduleId: 1; pluginId: no; cid: 9137; scid: -1; userId: 0; deviceId: 19; inetServId: 13479; connectionId: 694349; state: 0; accessCode: 12; timestamp: 1391662108721
connection 02-06/16:48:28 INFO [sa-p-10-t-26] ServiceActivatorDeviceWorker - Do task deviceId: 19; Event[ru.bitel.bgbilling.modules.inet.access.sa.event.InetSaStateModifyEvent] moduleId: 1; pluginId: no; cid: 9137; scid: -1; userId: 0; deviceId: 19; inetServId: 13479; connectionId: 694349; state: 0; accessCode: 12; timestamp: 1391662108721
connection 02-06/16:48:28 DEBUG [sa-p-10-t-26] AcknowledgeConsumer - Caught BGBillingServer:Event[ru.bitel.bgbilling.modules.inet.access.sa.event.InetSaStateModifyEvent] moduleId: 1; pluginId: no; cid: 9137; scid: -1; userId: 0; deviceId: 19; inetServId: 13479; connectionId: 0; state: 0; accessCode: 12; timestamp: 1391662108722
connection 02-06/16:48:28 INFO [sa-p-10-t-26] ServiceActivatorDeviceWorker - Do task deviceId: 19; Event[ru.bitel.bgbilling.modules.inet.access.sa.event.InetSaStateModifyEvent] moduleId: 1; pluginId: no; cid: 9137; scid: -1; userId: 0; deviceId: 19; inetServId: 13479; connectionId: 0; state: 0; accessCode: 12; timestamp: 1391662108722
...
connection 02-06/16:48:37 DEBUG [sa-p-10-t-6] AcknowledgeConsumer - Caught BGInetAccounting:Event[ru.bitel.bgbilling.modules.inet.access.sa.event.InetSaStateModifyEvent] moduleId: 1; pluginId: no; cid: 9137; scid: -1; userId: 0; deviceId: 19; inetServId: 13479; connectionId: 0; state: 1; accessCode: 0; timestamp: 1391662117081
connection 02-06/16:48:37 INFO [sa-p-10-t-6] ServiceActivatorDeviceWorker - Do task deviceId: 19; Event[ru.bitel.bgbilling.modules.inet.access.sa.event.InetSaStateModifyEvent] moduleId: 1; pluginId: no; cid: 9137; scid: -1; userId: 0; deviceId: 19; inetServId: 13479; connectionId: 0; state: 1; accessCode: 0; timestamp: 1391662117081
Логи Accounting-сервера:
Код:
mq 02-06/16:48:28 DEBUG [event-proc-p-2-t-1] Consumer - Caught from BGBillingServer Event[ru.bitel.bgbilling.kernel.event.events.ContractStatusChangedTopicEvent] moduleId: 0; pluginId: no; cid: 9137; scid: -1; userId: 1; timestamp: 1391662108710
mq 02-06/16:48:28 INFO [event-proc-p-2-t-1] ContractRuntimeMap - Taked event: Event[ru.bitel.bgbilling.kernel.event.events.ContractStatusChangedTopicEvent] moduleId: 0; pluginId: no; cid: 9137; scid: -1; userId: 1; timestamp: 1391662108710
mq 02-06/16:48:28 DEBUG [event-proc-p-2-t-1] ContractRuntimeMap - New contract status 7
mq 02-06/16:48:28 DEBUG [event-proc-p-2-t-1] Consumer - Caught from BGBillingServer Event[ru.bitel.bgbilling.kernel.event.events.ContractStatusModifiedEvent] moduleId: 0; pluginId: no; cid: 9137; scid: -1; userId: 1; timestamp: 1391662108707
mq 02-06/16:48:28 INFO [event-proc-p-2-t-1] ContractRuntimeMap - Taked event: Event[ru.bitel.bgbilling.kernel.event.events.ContractStatusModifiedEvent] moduleId: 0; pluginId: no; cid: 9137; scid: -1; userId: 1; timestamp: 1391662108707
mq 02-06/16:48:28 DEBUG [event-proc-p-2-t-1] ContractRuntimeMap - New contract status list:
mq 02-06/16:48:28 INFO [event-proc-p-2-t-1] InetServRuntimeMap - Taked event: Event[ru.bitel.bgbilling.kernel.event.events.ContractStatusModifiedEvent] moduleId: 0; pluginId: no; cid: 9137; scid: -1; userId: 1; timestamp: 1391662108707
mq 02-06/16:48:28 DEBUG [event-proc-p-2-t-1] Consumer - Caught from BGBillingServer Event[ru.bitel.bgbilling.kernel.event.events.ContractStatusModifiedEvent] moduleId: 0; pluginId: no; cid: 9137; scid: -1; userId: 1; timestamp: 1391662108707
mq 02-06/16:48:28 INFO [event-proc-p-2-t-1] ContractRuntimeMap - Taked event: Event[ru.bitel.bgbilling.kernel.event.events.ContractStatusModifiedEvent] moduleId: 0; pluginId: no; cid: 9137; scid: -1; userId: 1; timestamp: 1391662108707
mq 02-06/16:48:28 DEBUG [event-proc-p-2-t-1] ContractRuntimeMap - New contract status list:
12145: 01.02.2014 00:00:00.0 - null
...
mq 02-06/16:48:28 INFO [event-proc-p-2-t-1] InetServRuntimeMap - Taked event: Event[ru.bitel.bgbilling.kernel.event.events.ContractStatusModifiedEvent] moduleId: 0; pluginId: no; cid: 9137; scid: -1; userId: 1; timestamp: 1391662108707
accounting 02-06/16:48:37 INFO [accwrkr-1-p-13-t-6] SessionTarifficationManager - InetOptionSet: [53]
accounting 02-06/16:48:37 DEBUG [accwrkr-1-p-13-t-6] connection - 694349:873756 Option set from tariff: [53]
accounting 02-06/16:48:37 DEBUG [accwrkr-1-p-13-t-6] connection - 694349:873756 Option set full: [53]
accounting 02-06/16:48:37 INFO [accwrkr-1-p-13-t-6] connection - 694349:873756 Sending event to enable serv...
mq 02-06/16:48:37 DEBUG [accwrkr-1-p-13-t-6] EventProcessor - Publish: Event[ru.bitel.bgbilling.modules.inet.access.sa.event.InetSaStateModifyEvent] moduleId: 1; pluginId: no; cid: 9137; scid: -1; userId: 0; deviceId: 19; inetServId: 13479; connectionId: 0; state: 1; accessCode: 0; timestamp: 1391662117081
Как-будто до Accounting'а не доходит первый InetSaStateModifyEvent с изменением выключенным состоянием...
Подскажите, как сделать?