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

Не меняется статус договора по балансу
http://forum.bitel.ru/viewtopic.php?f=22&t=6526
Страница 1 из 1

Автор:  Andr-232 [ 05 мар 2012, 13:43 ]
Заголовок сообщения:  Не меняется статус договора по балансу

Вот столкнулся с такой проблемой: не изменяется статус npay договоров. При этом сам модуль работает без нареканий - абонентская плата списывается со счетов каждый день, ошибок периодических процессов не наблюдаю, шлюзы блокируются, статус договоров не меняется. Задача на смену статуса в планировщике задач есть. Проблемы наблюдаю последние 3-4 дня, до этого все работало как надо. При этом у не закрытых договоров (статус "активен") продолжает списываться абонентская плата.

Где смотреть?

БГ версии 5.1, борка 763 от 16.02.2012 16:19:36
os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.6.0_29.

Только заметил:
ВНИМАНИЕ: Необходимо обновить таймзоны.

Это где?

Автор:  stark [ 05 мар 2012, 16:04 ]
Заголовок сообщения:  Re: Не меняется статус договора по балансу

Andr-232 писал(а):

Только заметил:
ВНИМАНИЕ: Необходимо обновить таймзоны.

Это где?

Поставьте 30-й билд явы..На клиенте и на сервере.

Автор:  Andr-232 [ 05 мар 2012, 17:44 ]
Заголовок сообщения:  Re: Не меняется статус договора по балансу

Для моей системы 29 билд - последний в официальных репозиториях, 30-й пока не доступен.
Сейчас напрочь отказывается меняться статус договора: даже по поступлению средств на счет автоматического переключения договора в состояние "активен" не происходит. В чем может быть проблема? может побилась какая библиотека?

Автор:  Phricker [ 05 мар 2012, 18:18 ]
Заголовок сообщения:  Re: Не меняется статус договора по балансу

Конфиг модуля NPAY в студию.
И скрин статусов договора.
Может код статуса там меняли?
я по крайней мере из-за этого такое же примерно ловил

Автор:  Andr-232 [ 05 мар 2012, 18:27 ]
Заголовок сообщения:  Re: Не меняется статус договора по балансу

Ок.
Модуль NPAY:

#абонплаты, на которые не влияет приостановка договора
#service.no.suspend=
#абонплаты, начисляемые при нахождении договора в статусе "Приостановлен"
#service.no.suspend.in.suspend=
#абонплаты, начисляемые при нахождении договора в статусе "Закрыт"
#service.no.suspend.in.close=
#автоматическое переначисление абонентских плат договора при изменении их периода, количества и т.п.
recalculate.on.service.change=1
#E-Mail для отправки уведомлений об автоматическом переначислении при изменении абонплаты, если не указан - уведомление не высылается
#auto.recalculate.email=
#набор услуг для переобсчета при автоматическом переначислении при изменении абонплаты, если не указан - все услуги
#auto.recalculate.email.service.set=
#количество выводимых ошибок в периодических процессах
max.periodic.errors=30
#подмена абонплаты другой услугой на период закрытого статуса
#wrap.close.service=
#
#----------------------------------------
#выборочное отключение проверки закрытого периода
#Перенести абонплату на другой договор
#closed.date.disabled.ActionMovePay=1
#Наисление абонплат
#closed.date.disabled.ActionRecalculatePay=1
#Удаление абонплаты
#closed.date.disabled.ActionServiceObjectDelete=1
#Изменение абонплаты
#closed.date.disabled.ActionServiceObjectUpdate=1
#Перенести абонплату на другой договор с даты
#closed.date.disabled.ActionWrapPay=1
#----------------------------------------
debet.npay.status.manage=1
#коды групп для которых применяется режим через запятую
#debet.npay.status.manage.groups=400
#учитываемый в дебетовых абонплатах набор услуг (если не указан, считается, что после разблокировки будут начислены все услуги из полного набора)
#debet.npay.service.set=

Автор:  Andr-232 [ 05 мар 2012, 18:33 ]
Заголовок сообщения:  Re: Не меняется статус договора по балансу

Пример договора.

Вложения:
Screen1.png
Screen1.png [ 111.44 КБ | Просмотров: 7260 ]

Автор:  Andr-232 [ 05 мар 2012, 18:35 ]
Заголовок сообщения:  Re: Не меняется статус договора по балансу

Шлюз в состоянии "заблокирован", но статус при этом не сменился....

Автор:  Andr-232 [ 05 мар 2012, 18:43 ]
Заголовок сообщения:  Re: Не меняется статус договора по балансу

Уппс, еще одна деталь: раньше в комментариях к событиям на шлюзе была реакция на событие шлюза. Например, шлюз: такой-то : порт ну и пр. Сейчас появилась запись "изменено сервером". Но на шлюзе клиент заблокирован.

Автор:  Andr-232 [ 06 мар 2012, 13:22 ]
Заголовок сообщения:  Re: Не меняется статус договора по балансу

Судя по топику

viewtopic.php?f=22&t=6529

не только у меня проблемы?...

Кстати сказать, тоже на днях обновлялся.... Прогнал mysqlcheck, потер некоторые ошибки в базе, сервер стал чувствовать себя лучше...
Сейчас поднимаю новую систему на отдельном железе и БГ "из коробки" всвязи с чем появились некоторые вопросики:
1. Конфигов сервера и модулей в базе нет?
2. Если я отключу "старый" сервер, перекину все данные и лицензию на "новый" и запущу, проблем с лицензией не возникнет?

Автор:  skyb [ 06 мар 2012, 13:26 ]
Заголовок сообщения:  Re: Не меняется статус договора по балансу

Andr-232 писал(а):
Где смотреть?
БГ версии 5.1, борка 763 от 16.02.2012 16:19:36
os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.6.0_29.

Andr-232 писал(а):
Судя по топику

viewtopic.php?f=22&t=6529

не только у меня проблемы?...

Дык у вас билд другой, у меня до этого стоял, там все работало

Автор:  Andr-232 [ 06 мар 2012, 13:29 ]
Заголовок сообщения:  Re: Не меняется статус договора по балансу

И у меня все работало... до 4-го марта. А потом перестало...

Автор:  skyb [ 06 мар 2012, 13:30 ]
Заголовок сообщения:  Re: Не меняется статус договора по балансу

Andr-232 писал(а):
И у меня все работало... до 4-го марта. А потом перестало...

а вы обновлялись? какой билд сейчас стоит?

Автор:  dimOn [ 06 мар 2012, 15:43 ]
Заголовок сообщения:  Re: Не меняется статус договора по балансу

так что именно изменилось то? какой билд стоял и на какой обновились?

Автор:  Andr-232 [ 07 мар 2012, 20:15 ]
Заголовок сообщения:  Re: Не меняется статус договора по балансу

Именно сейчас сборка 770 :cry: ...
Историю изменений версий особо не отслеживал, заглядывал время от времени в багфиксы, и, если не находил ничего полезного для моей конфигурации, - не апдейтился.
Проблема наблюдалась 4 и 5 марта. 6, 7 - все нормализовалось. Не закрытые в "не рабочий" период договоры статус не поменяли (т.е. кого не заблокировало по балансу, те так и остались в состоянии "активен") - буду искать в базе и перетирать статусы сам.
Обновления - это один из вариантов. Другой - сбой в базе mysql (как писал ранее, ошибки наблюдались).
Сейчас со статусами проблем не наблюдается, если снова начнется - можно будет изучить более детально.

По поводу

1. Конфигов сервера и модулей в базе нет?
2. Если я отключу "старый" сервер, перекину все данные и лицензию на "новый" и запущу, проблем с лицензией не возникнет?

будут комментарии? Может, конфигурационные файлы какие есть? А то "перелопачивать" всю систему из-за одной запятой, которую поставил год назад не очень хочется...

Автор:  Amir [ 07 мар 2012, 21:14 ]
Заголовок сообщения:  Re: Не меняется статус договора по балансу

Была ошибка, исправили вчера.
Можно монитором статуса найти и закрыть, те что не были закрыты. А при следующем начислении абонплат наработка должна поправиться с учетом закрытого дня.

Автор:  dimOn [ 11 мар 2012, 10:12 ]
Заголовок сообщения:  Re: Не меняется статус договора по балансу

вот я инструкцию писал уже:

Цитата:
1. Заходишь в монитор статуса
2. Фильтруешь: группа нужная (та что и в конфиге настроена, например "основная"), режим: дебет(?), статус: активен, [v] баланс < лимита.
3. Глядишь: N договоров

Такой открываешь договора некоторые, смотришь: ого, и правда минус.

Теперь из монитора статуса делаешь всем им статус "закрыт" днём сегодняшним, если сегодня это произошло. ну короче тогда когда это реально последний день была у них работа.

после этого делаешь всем им переобсчёт.

что происходит: все пересчитываются с начала и только те дни до происшествия.

Автор:  Andr-232 [ 13 мар 2012, 12:55 ]
Заголовок сообщения:  Re: Не меняется статус договора по балансу

Похоже, проблема так и не решена:
Сделал всем дебетовым договорам статус "закрыт" 12.03. Сегодня наблюдаю еще договоры в статусе "активен" с балансом меньше лимита. Беру тестовый договор в статусе "активен", делаю расход так, что исходящий остаток становится меньше лимита, - статус остается "активен" (раньше статус сразу переключался в "закрыт"); иду в планировщик заданий, запускаю на выполнение задачу "закрытие статуса NPAY договоров", обновляю данные на страничке тестового договора - статус "активен", шлюз "открыт".

Сервер: вер. 5.1 сборка 773 от 07.03.2012 16:09:07
os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.6.0_29

./bg_installer.sh update :
...
Not updates found.

Автор:  skyb [ 13 мар 2012, 15:59 ]
Заголовок сообщения:  Re: Не меняется статус договора по балансу

Andr-232 писал(а):
Похоже, проблема так и не решена:
Сделал всем дебетовым договорам статус "закрыт" 12.03. Сегодня наблюдаю еще договоры в статусе "активен" с балансом меньше лимита. Беру тестовый договор в статусе "активен", делаю расход так, что исходящий остаток становится меньше лимита, - статус остается "активен" (раньше статус сразу переключался в "закрыт"); иду в планировщик заданий, запускаю на выполнение задачу "закрытие статуса NPAY договоров", обновляю данные на страничке тестового договора - статус "активен", шлюз "открыт".

Сервер: вер. 5.1 сборка 773 от 07.03.2012 16:09:07
os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.6.0_29

./bg_installer.sh update :
...
Not updates found.

проверьте так, (правда я на тестовом делал) находим договор который точно должен закрыться, запускаем задачу на закрытие, и смотрим что делается с договором. У меня закрылся

Автор:  dimOn [ 13 мар 2012, 16:00 ]
Заголовок сообщения:  Re: Не меняется статус договора по балансу

что странно тут вообще 5.1 :lupa:

Автор:  skyb [ 13 мар 2012, 16:02 ]
Заголовок сообщения:  Re: Не меняется статус договора по балансу

dimOn писал(а):
что странно тут вообще 5.1 :lupa:

о, а я и не заметил, Andr-232 смотрите логи

Автор:  stark [ 13 мар 2012, 17:47 ]
Заголовок сообщения:  Re: Не меняется статус договора по балансу

Andr-232 писал(а):
Похоже, проблема так и не решена:
Сделал всем дебетовым договорам статус "закрыт" 12.03. Сегодня наблюдаю еще договоры в статусе "активен" с балансом меньше лимита. Беру тестовый договор в статусе "активен", делаю расход так, что исходящий остаток становится меньше лимита, - статус остается "активен" (раньше статус сразу переключался в "закрыт");


Нет такого никогда не было ...Было наоборот если заплатили то сразу меняется из закрыт на активен . Обратно не было . Этим занимается задача .

Автор:  stark [ 13 мар 2012, 17:54 ]
Заголовок сообщения:  Re: Не меняется статус договора по балансу

Andr-232 писал(а):
Похоже, проблема так и не решена:

Это 5.1 - там нет проблемы

Andr-232 писал(а):
иду в планировщик заданий, запускаю на выполнение задачу "закрытие статуса NPAY договоров", обновляю данные на страничке тестового договора - статус "активен", шлюз "открыт".



Так тоже никогда не работало .. Нужно сделать так, чтобы баланс стал таким, что снятие абонки уводит в минус(меньше лимита) ..И это должно происходить до снятия абонки. ..Например баланс 10 рублей , а абонка 20, лимит 0, абонка еще не снималась ..Т.е вначале запускается эта задача, делает фиктивное снятие абонки и если после этого баланс станет меньше лимита, то тогда закрывает статус.

Автор:  Andr-232 [ 14 мар 2012, 13:39 ]
Заголовок сообщения:  Re: Не меняется статус договора по балансу

Логика работы понятна, скорее всего я чего-то напутал, НО договор с балансом -20 рублей, лимит 0, дебетовый, задача "закрытие статуса NPAY договоров" должна его закрыть, когда бы она не запускалась (ночью через планировщик, или днем по ручному запуску). Я правильно понимаю? Запускал и днем и ночью - ничего не изменяется. Да, ранее эта задача выполнялась на сервере около 10 секунд, сейчас - не более секунды. Создается впечатление, что она вообще ничего не делает!...

Server.log:

03-13/13:00:19 INFO [main] DefaultServerSetup - Binding javax.jms.ConnectionFactory[org.apache.activemq.ActiveMQConnectionFactory@42787d6a] to java:comp/env/mq/connectionFactory
03-13/13:00:19 INFO [main] DefaultServerSetup - Init DB connection pools
03-13/13:00:19 INFO [main] DefaultServerSetup - Binding JDBC pool "master" to java:comp/env/jdbc/master
03-13/13:00:20 INFO [main] DefaultServerSetup - Init trash pools..
03-13/13:00:20 INFO [main] Server - Starting BGBillingServer..
03-13/13:00:20 INFO [main] Server - HTTP Connector: *:8080
03-13/13:00:20 INFO [main] Server - Starting HTTP connector...
03-13/13:00:20 INFO [main] Server - HTTPS Connector: *:8443
03-13/13:00:20 INFO [main] Server - Starting HTTPS connector..
03-13/13:00:20 INFO [main] Server - Browsing installed modules and plugins...
03-13/13:00:20 INFO [main] Server - dba v.5.1 build 135 from 21.01.2012 01:57:36
03-13/13:00:20 INFO [main] Server - ipn v.5.1 build 249 from 17.02.2012 14:47:25
03-13/13:00:20 INFO [main] Server - mps v.5.1 build 172 from 07.03.2012 20:24:04
03-13/13:00:20 INFO [main] Server - npay v.5.1 build 204 from 20.02.2012 13:32:01
03-13/13:00:20 INFO [main] Server - rentsoft v.5.1 build 11 from 21.01.2012 01:57:54
03-13/13:00:20 INFO [main] Server - trayinfo v.5.1 build 147 from 2321.01.2012 01:57:54
03-13/13:00:21 INFO [main] Server - Add servlet for modules and plugins...
03-13/13:00:21 INFO [main] Server - Add mapping: bitel.billing.server.mps.MPSExecuter to /mpsexecuter/*
03-13/13:00:21 INFO [main] Server - Add mapping: ru.bitel.bgbilling.modules.rentsoft.server.RentsoftApi to /rentsoft_api/*
03-13/13:00:21 INFO [main] Server - Add mapping: ru.bitel.bgbilling.modules.trayinfo.server.BalanceSender to /balance_sender
03-13/13:00:21 INFO [main] Server - Creating installed modules map...
03-13/13:00:21 INFO [main] server - Starting listen admin port 2005
03-13/13:00:23 INFO [main] AbstractTilesApplicationContextFactory - Initializing Tiles2 application context. . .
03-13/13:00:23 INFO [main] AbstractTilesApplicationContextFactory - Finished initializing Tiles2 application context.
03-13/13:00:23 INFO [main] TilesContainerFactory - Initializing Tiles2 container. . .
03-13/13:00:23 INFO [main] TilesContainerFactory - Tiles2 container initialized
03-13/13:00:23 INFO [main] TilesAccess - Publishing TilesContext for context: org.apache.tiles.servlet.context.ServletTilesApplicationContext
03-13/13:00:30 INFO [AdminPortListener] server - Admin command: status
03-13/13:04:29 INFO [http-8443-1] Setup - Load config for mid=8
03-13/13:05:24 INFO [http-8443-1] EventProcessor - Add listener bitel.billing.server.Executer$1@a431693 to BG.Event.ru.bitel.bgbilling.kernel.module.api.common.bean.ModuleAddedEvent
03-13/13:38:07 INFO [http-8443-1] Setup - Load config for mid=5
03-13/13:38:07 INFO [http-8443-1] Setup - Load config for mid=10
03-13/13:51:50 INFO [http-8443-1] Calculator - Memory total: 74 186 752; max: 238 616 576; free: 40 014 600
Memory pools:
Non-heap memory[Code Cache]: max: 50 331 648; used: 1 790 848; peek: 1 800 832
Heap memory[PS Eden Space]: max: 80 281 600; used: 22 993 728; peek: 32 112 640
Heap memory[PS Survivor Space]: max: 3 342 336; used: 3 309 728; peek: 4 409 096
Heap memory[PS Old Gen]: max: 178 978 816; used: 7 868 696; peek: 7 868 696
Non-heap memory[PS Perm Gen]: max: 85 983 232; used: 35 958 936; peek: 35 958 936
Thread count: 24
03-13/13:51:50 INFO [http-8443-1] Calculator - Task finished time=21 ms.
03-13/13:51:55 INFO [http-8443-1] Calculator - Memory total: 74 186 752; max: 238 616 576; free: 37 518 672

Memory pools и Calculator потом (в логе) появляются очень часто - должно быть это платежи клиентов. Также "проскакивают" события работы со шлюзами. Error-ов нет, только INFO.

Sheduler.log за 14 марта:

03-14/00:00:04 INFO [Thread-6] TaskExecuter - TaskExecuter => reloadTasks()
03-14/00:00:04 INFO [Thread-6] TaskExecuter - Task: ru.bitel.bgbilling.kernel.task.server.Validator
03-14/00:00:04 INFO [Thread-6] TaskExecuter - Task: bitel.billing.server.npay.Calculator
03-14/00:00:04 INFO [Thread-6] TaskExecuter - Task: bitel.billing.server.ipn.IPNTestGates
03-14/00:00:04 INFO [Thread-6] TaskExecuter - Task: bitel.billing.server.contract.LimitRestorer
03-14/00:00:04 INFO [Thread-6] TaskExecuter - Task: ru.bitel.bgbilling.modules.npay.server.task.DebetStatusManageLocker
03-14/00:06:04 INFO [Thread-6] TaskExecuter - Starting periodic task ID: 7 bitel.billing.server.contract.LimitRestorer
03-14/00:06:04 INFO [pool-2-thread-10] LimitRestorer - Task finished time=14 ms.
03-14/00:29:04 INFO [Thread-6] TaskExecuter - Starting periodic task ID: 4 bitel.billing.server.npay.Calculator
03-14/00:29:04 INFO [pool-2-thread-11] Calculator - Memory total: 47 382 528; max: 238 616 576; free: 13 616 560
Memory pools:
Non-heap memory[Code Cache]: max: 50 331 648; used: 3 397 952; peek: 3 419 520
Heap memory[PS Eden Space]: max: 89 063 424; used: 2 947 064; peek: 27 066 368
Heap memory[PS Survivor Space]: max: 196 608; used: 65 536; peek: 3 112 960
Heap memory[PS Old Gen]: max: 178 978 816; used: 30 753 368; peek: 42 121 104
Non-heap memory[PS Perm Gen]: max: 85 983 232; used: 26 829 856; peek: 26 829 856
Thread count: 30
03-14/00:29:05 INFO [pool-2-thread-11] Calculator - Item count 1000
03-14/00:29:06 INFO [pool-2-thread-11] Calculator - Setting balances for independ and subs..
03-14/00:29:06 INFO [pool-2-thread-11] Calculator - Selected.
03-14/00:29:07 INFO [pool-2-thread-11] Calculator - Selecting sub account
03-14/00:29:07 INFO [pool-2-thread-11] Calculator - Selected.
03-14/00:29:07 INFO [pool-2-thread-11] Calculator - Setting balance for super..
03-14/00:29:07 INFO [pool-2-thread-11] Calculator - Selected.
03-14/00:29:07 INFO [pool-2-thread-11] Calculator - Task finished time=2922 ms.
03-14/00:40:04 INFO [Thread-6] TaskExecuter - Starting periodic task ID: 8 ru.bitel.bgbilling.modules.npay.server.task.DebetStatusManageLocker
03-14/00:40:04 INFO [pool-2-thread-12] Calculator - Memory total: 51 380 224; max: 238 616 576; free: 9 406 816
Memory pools:
Non-heap memory[Code Cache]: max: 50 331 648; used: 3 400 640; peek: 3 419 520
Heap memory[PS Eden Space]: max: 88 408 064; used: 8 593 360; peek: 27 066 368
Heap memory[PS Survivor Space]: max: 524 288; used: 98 304; peek: 3 112 960
Heap memory[PS Old Gen]: max: 178 978 816; used: 33 281 744; peek: 42 121 104
Non-heap memory[PS Perm Gen]: max: 85 983 232; used: 26 832 784; peek: 26 832 784
Thread count: 31
03-14/00:40:05 INFO [pool-2-thread-12] Calculator - Item count 1000
03-14/00:40:05 INFO [pool-2-thread-12] Calculator - Task finished time=1596 ms.
03-14/00:40:05 INFO [pool-2-thread-12] DebetStatusManageLocker - Task finished time=1719 ms.
03-14/04:00:04 INFO [Thread-6] TaskExecuter - Starting periodic task ID: 2 ru.bitel.bgbilling.kernel.task.server.Validator
03-14/04:00:08 INFO [pool-2-thread-13] Validator - Task finished time=3972 ms.

Запуск задачи происходит, ошибок не выдает. Договоры по балансу не закрываются.
debet.npay.status.manage=1 есть в конфигурации NPAY, в конфигурации задачи стоит mid=<код модуля npay>.

Автор:  stark [ 14 мар 2012, 19:49 ]
Заголовок сообщения:  Re: Не меняется статус договора по балансу

Andr-232 писал(а):
Логика работы понятна, скорее всего я чего-то напутал, НО договор с балансом -20 рублей, лимит 0, дебетовый, задача "закрытие статуса NPAY договоров" должна его закрыть, когда бы она не запускалась (ночью через планировщик, или днем по ручному запуску). Я правильно понимаю? Запускал и днем и ночью - ничего не изменяется. Да, ранее эта задача выполнялась на сервере около 10 секунд, сейчас - не более секунды. Создается впечатление, что она вообще ничего не делает!...

.


Она ничего не делает если абонплаты уже начислена за этот день..Или месяц (в зависимости от режима) .

Автор:  Andr-232 [ 15 мар 2012, 15:04 ]
Заголовок сообщения:  Re: Не меняется статус договора по балансу

Вот оно как!...
Тогда подскажите, как быть со статусом дебетового договора, когда добавляется расход, делающий его баланс ниже лимита? Или вся логика работы привязана к тому, снималась абонентка за этот день или нет? Если да - ничего не делаем, если нет - смотрим исх.остаток - абонентка за день < лимита - блокируем; >= оставляем статус активным?...

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