Практически в начале каждого месяца пара договоров не активируется при поступлении платежа.
Например в сентябре:
Договор первого числа в статусе закрыт и баланс меньше нуля (брал отложенный платёж). Вечером операторы делают приход - баланс становиться положительным, но денег ещё не достаточно для активации договора. Абонент видит, что денег всё ещё не достаточно активирует две карты оплаты. После активации первой денег всё ещё не достаточно, после активации второй денег уже достаточно для активации договора, но он не активируется. В таком неактивированном состоянии договор висит ещё сутки, после чего абонент звонит и ему вручную активируют договор.
В логах много всего разного, но связанного с этим договором нашёл следующее:
Код:
server.mq.log.1
Код:
09-01/17:53:49 INFO [ActiveMQ Session Task] BalanceEventProcessor - Process event cid:25616; event:Event[ru.bitel.bgbilling.kernel.contract.balance.server.event.PaymentEvent] moduleId: 0; pluginId: no; cid: 25616; scid: -1; userId: 74; timestamp: 1441119229373
09-01/17:53:50 INFO [event-proc-p-2-t-1] BalanceEventProcessor - Process event cid:25616; event:Event[ru.bitel.bgbilling.kernel.contract.balance.server.event.ConvergenceBalanceEvent] moduleId: 0; pluginId: no; cid: 25616; scid: -1; userId: 0; timestamp: 1441119230336
...
09-01/21:17:32 INFO [event-proc-p-2-t-1] BalanceEventProcessor - Process event cid:25616; event:Event[ru.bitel.bgbilling.kernel.contract.balance.server.event.PaymentEvent] moduleId: 0; pluginId: no; cid: 25616; scid: -1; userId: -1; timestamp: 1441131452682
09-01/21:17:32 INFO [event-proc-p-2-t-1] BalanceEventProcessor - Process event cid:25616; event:Event[ru.bitel.bgbilling.kernel.contract.balance.server.event.ConvergenceBalanceEvent] moduleId: 0; pluginId: no; cid: 25616; scid: -1; userId: 0; timestamp: 1441131452883
...
09-01/21:18:08 INFO [event-proc-p-2-t-1] BalanceEventProcessor - Process event cid:25616; event:Event[ru.bitel.bgbilling.kernel.contract.balance.server.event.PaymentEvent] moduleId: 0; pluginId: no; cid: 25616; scid: -1; userId: -1; timestamp: 1441131488121
09-01/21:18:08 INFO [event-proc-p-2-t-1] Calculator - Memory total: 532 414 464; max: 956 301 312; free: 327 129 048
Memory pools:
Non-heap memory[Code Cache]: max: 50 331 648; used: 34 785 472; peek: 34 786 816
Heap memory[PS Eden Space]: max: 325 058 560; used: 8 339 560; peek: 350 158 848
Heap memory[PS Survivor Space]: max: 16 711 680; used: 12 356 576; peek: 25 121 600
Heap memory[PS Old Gen]: max: 717 225 984; used: 184 589 280; peek: 208 356 128
Non-heap memory[PS Perm Gen]: max: 268 435 456; used: 110 868 608; peek: 140 320 640
Thread count: 72
09-01/21:18:08 ERROR [event-proc-p-2-t-1] Calculator - Tariff error contractId: 25616; serviceId: 70
09-01/21:18:08 ERROR [event-proc-p-2-t-1] Calculator - Tariff error contractId: 25616; serviceId: 71
09-01/21:18:08 ERROR [event-proc-p-2-t-1] Calculator - Tariff error contractId: 25616; serviceId: 72
09-01/21:18:08 INFO [event-proc-p-2-t-1] Calculator - Task finished time=12 ms.
17:53 - как раз операторы зачисляли платёж,
21:17 - активация первой карты оплаты,
21:18 - активация второй карты оплаты.
Видно, что после события PaymentEvent всегда идёт событие ConvergenceBalanceEvent за исключением как раз последнего платежа, после которого договор должен был активироваться, но не активировалься. Также видно, что для договора запустился процесс начисления абонплат, который запускается, чтобы получить сумму для разблокировки.
В ActiveMQ страшного ничего нет, только в очереди BG.Event.ru.bitel.bgbilling.kernel.event.events.CalculateEvent медленно копятся сообщения такого содержания:
Код:
TF-8" standalone="yes"?><calculateEvent start="2015-09-01T00:04:00.184+03:00" stop="2015-09-30T00:04:00.184+03:00" eventType="0" ts="1441170240190" moduleId="15" pluginId="-1" cid="-1" scid="-1" userId="0"><contractIds/></calculateEvent>
Причём в сутки ровно два сообщения в 08:04. Думаю, с проблемой не связано.
Помогите разобраться, почему не активируется договор.