forum.bitel.ru http://forum.bitel.ru/ |
|
Приостановление договоров http://forum.bitel.ru/viewtopic.php?f=22&t=3958 |
Страница 1 из 1 |
Автор: | logicall [ 28 апр 2010, 14:46 ] |
Заголовок сообщения: | Приостановление договоров |
Всем добрый день. Пытаюсь написать скрипт приостановки договоров по достижению баланса равного 0. За основу взял готовый скрипт http://wiki.bgbilling.ru/index.php/Скрипт_проверки_баланса_и_отключения_договора. Но в нём не хватает одной проверки в моём случаи - проверки на временное понижение лимита. Цитата: .... BigDecimal limit = contract.getBalanceLimit(); print("лимит: "+limit); // может, надо поставить новый лимит? limit = limit.min(LIMITVALUE); print("значение по которому проверяем: "+limit); // соравниваем с лимитом if( contract_balance.compareTo( limit ) >= 0 ) { print("баланс хороший"); } else { print("баланс плохой"); // суспендим договор ContractStatus status = new ContractStatus(); status.setContractId( cid ); status.setDate1( DateNow ); status.setDate2( null ); status.setStatus( KernelConst.CONTRACT_STATUS_SUSPENDED ); status.setComment( "Недостаточно средств" ); contract_status_manager.changeStatus( status, 0 ); .... Я бы хотле ввести дополнительное условие на проверку временного монижения лимита рядом с сравнением лимита. Но что-то ума не приложу как получить данне о временном понижении... А точнее как увязать это с датами... Т.е. у человека баланс стал равен "0" 20 апреля 2010 года. Этот клиент через Web понизил себе лимит временно до -250 рублей на 3 дня. Т.е. он если не внесёт на счёт денег до 24 апреля, то будет отключен. Скрипт выполняется скажем 21 числа и получает, что у клиента баланс меньше "0", и переводит клиента в статус приостановлен. Так вот как ввести проверку этого в скрипт, чтобы он не отключил клиента до 24 апреля? Может кто-то уже делал такое и может подсказать? |
Автор: | logicall [ 05 май 2010, 10:13 ] |
Заголовок сообщения: | Re: Приостановление договоров |
Никто не сталкивался с таким вопросом? А? ![]() |
Автор: | SafeAndSound [ 05 май 2010, 11:31 ] |
Заголовок сообщения: | Re: Приостановление договоров |
Видимо, надо смотреть в сторону класса LimitManager. |
Автор: | logicall [ 05 май 2010, 12:36 ] |
Заголовок сообщения: | Re: Приостановление договоров |
SafeAndSound писал(а): Видимо, надо смотреть в сторону класса LimitManager. Куда смотреть то я понял, я просто не могу сообразить как сделать именно проверку по дням... |
Автор: | snark [ 05 май 2010, 12:53 ] |
Заголовок сообщения: | Re: Приостановление договоров |
может что-то в духе этого? Код: limitChangeTask = new LimitManager(con).getFullTaskList(); if (!limitChangeTask.isEmpty()) { limitChangeTaskDate = limitChangeTask.getDate(); } <сравнить 2 даты>; писано на коленке! |
Автор: | logicall [ 05 май 2010, 13:59 ] |
Заголовок сообщения: | Re: Приостановление договоров |
snark писал(а): может что-то в духе этого? Код: limitChangeTask = new LimitManager(con).getFullTaskList(); if (!limitChangeTask.isEmpty()) { limitChangeTaskDate = limitChangeTask.getDate(); } <сравнить 2 даты>; писано на коленке! спасибо. попробую |
Страница 1 из 1 | Часовой пояс: UTC + 5 часов [ Летнее время ] |
Powered by phpBB® Forum Software © phpBB Group http://www.phpbb.com/ |