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

Максимальный лимит который может установить оператор
http://forum.bitel.ru/viewtopic.php?f=22&t=12850
Страница 1 из 1

Автор:  mhollow [ 03 апр 2018, 18:18 ]
Заголовок сообщения:  Максимальный лимит который может установить оператор

Добрый день.
Можно ли установить (в конфигурации*?) максимальную сумму лимита которую может установить оператор для договора?
Если да, то как, где?
Спасибо.

Автор:  Phricker [ 03 апр 2018, 18:45 ]
Заголовок сообщения:  Re: Максимальный лимит который может установить оператор

Расширить класс bitel.billing.server.contract.action.ActionUpdateContractLimit

Автор:  mhollow [ 03 апр 2018, 19:05 ]
Заголовок сообщения:  Re: Максимальный лимит который может установить оператор

Речь про скрипты поведения?

Автор:  Phricker [ 03 апр 2018, 19:21 ]
Заголовок сообщения:  Re: Максимальный лимит который может установить оператор

Йес

Автор:  mhollow [ 03 апр 2018, 19:28 ]
Заголовок сообщения:  Re: Максимальный лимит который может установить оператор

Спасибо.
А вообще, конечно, бы не мешало бы такую опцию добавить в конфиг. Если она есть для клиентов, что мешает ей быть для операторов?
Уважаемые разработчики???!!!! Если будет совсем нечего делать - нижайше просим такой костыль!
А то операторы всякие попадаются, пускают в минус на 100500... Потом поди уследи..

Автор:  mhollow [ 03 апр 2018, 20:00 ]
Заголовок сообщения:  Re: Максимальный лимит который может установить оператор

А зачем расширять класс ActionUpdateContractLimit?
Я так понимаю, нужно ловить LimitChangedEvent, получать новый лимит через getNewLimit() , что-то там проверять и если что -то не так, лезть в базу и исправлять лимит.
Нельзя же никак повлиять на лимита до записи в базу? Событие приходит уже после установки нового лимита?
Кстати, если "вручную" из скрипта изменить лимит в базе, не повлечет ли это проблем связанных с восстановлением лимита? И что, в журналах будет одна сумма, а на деле другая?

Автор:  Phricker [ 03 апр 2018, 20:05 ]
Заголовок сообщения:  Re: Максимальный лимит который может установить оператор

Затем чтобы не возникало вопросов и оператор снова и снова не менял лимит пытаясь выставить тот что нужен.
А просто выдавать ему ошибку "Алло ты не своими деньгами распоряжаешься"

Автор:  mhollow [ 03 апр 2018, 20:09 ]
Заголовок сообщения:  Re: Максимальный лимит который может установить оператор

Так а как расширение класса ActionUpdateContractLimit привязать к скриптам поведения я не догоню?
Класс скрипта поведения должен реализовать ru.bitel.bgbilling.kernel.script.server.dev.EventScript и в нем будет отрабатывать onEvent(). И как бы все...

Автор:  Phricker [ 03 апр 2018, 20:12 ]
Заголовок сообщения:  Re: Максимальный лимит который может установить оператор

http://wiki.bitel.ru/index.php/Примеры_динамического_кода_акшена_и_веб-сервисов
Там кстати и ваш пример есть.
Правда для пустого комментария.

Автор:  mhollow [ 03 апр 2018, 20:20 ]
Заголовок сообщения:  Re: Максимальный лимит который может установить оператор

Ну так это совсем не скрипты поведения как бы... Сбили меня с панталыку )
Можно в двух словах как с ними работать?
Я расширяю класс, кладу его куда-то в dyn и в конфиге прописываю : dynaction:contract.ActionUpdateContractLimit=ru.xxx.ActionUpdateContractLimit
И все? Он его подхватит?

Автор:  Phricker [ 03 апр 2018, 20:24 ]
Заголовок сообщения:  Re: Максимальный лимит который может установить оператор

Йес.
Только свой путь надо будет написать.
И помоему это не пашет для временных лимитов только для постоянных.
Временные через ContractLimitService делаются, но это не точно.

Автор:  mhollow [ 03 апр 2018, 20:28 ]
Заголовок сообщения:  Re: Максимальный лимит который может установить оператор

То есть никаких скриптов поведения не надо? Только это?
И где посмотреть список всех доступных параметров экшена? Мне нужен собственно лимит и договор например.

Автор:  Phricker [ 03 апр 2018, 20:36 ]
Заголовок сообщения:  Re: Максимальный лимит который может установить оператор

ID договора:
Код:
cid;
this.cid;
super.cid;


Сумма:
Код:
BigDecimal summa = Utils.parseBigDecimal(getParameter("value", ""),BigDecimal.ZERO);

Автор:  Phricker [ 03 апр 2018, 20:37 ]
Заголовок сообщения:  Re: Максимальный лимит который может установить оператор

Смотреть через дебаг лог клиента.
Проще всего.

Автор:  mhollow [ 03 апр 2018, 20:40 ]
Заголовок сообщения:  Re: Максимальный лимит который может установить оператор

Спасибо.
Так и что с временными лимитами? Будет работать или как?) Просто не хочется делать потом второе решение для временных.

Автор:  Phricker [ 03 апр 2018, 20:46 ]
Заголовок сообщения:  Re: Максимальный лимит который может установить оператор

Дебаг лог клиента
Код:
{http://service.common.limit.contract.kernel.bgbilling.bitel.ru/}ContractLimitService:updateContractLimitPeriod
<S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/"><S:Body><ns5:updateContractLimitPeriod xmlns:ns5="http://service.common.limit.contract.kernel.bgbilling.bitel.ru/" xmlns:common="http://common.bitel.ru" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><contractId>315587</contractId><limit>-1.0</limit><period>1</period><comment>Temporary</comment></ns5:updateContractLimitPeriod></S:Body></S:Envelope>

Код:
/bgbilling/executer?&module=contract&action=UpdateContractLimit&comment=Permanent&value=-100.0&cid=315587&

Автор:  mhollow [ 03 апр 2018, 20:52 ]
Заголовок сообщения:  Re: Максимальный лимит который может установить оператор

и что это означает?)

Автор:  Phricker [ 03 апр 2018, 20:54 ]
Заголовок сообщения:  Re: Максимальный лимит который может установить оператор

Что механизм установки временных лимитов другой.
И для них другое решение через динамический вебсервис.
Там же по ссылке примеры

Автор:  mhollow [ 03 апр 2018, 20:56 ]
Заголовок сообщения:  Re: Максимальный лимит который может установить оператор

Т.е для временных этот экшен просто не вызовется?
И какой класс надо расширять для временных?

Чет мне кажется уже проще вернуться вернуться к старому доброму скрипту поведения в моем случае. Он по крайней мере единый для этого события.

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