forum.bitel.ru http://forum.bitel.ru/ |
|
Тарифная опция - аренда оборудования http://forum.bitel.ru/viewtopic.php?f=22&t=9055 |
Страница 1 из 1 |
Автор: | blizzard [ 19 мар 2014, 01:31 ] |
Заголовок сообщения: | Тарифная опция - аренда оборудования |
Здравствуйте, подскажите как добавлять определенному абоненту снятие за аренду оборудования? не у всех есть эта услуга... при этом чтобы он сам отменить эту опцию не смог. а также как сделать 7 дней бесплатного теста? чтобы абон плата не снималась 7 дней после подключения, по истечению 7 дней - снималась абон плата (если деньги есть), а если нет - то отключать абонента |
Автор: | skyb [ 19 мар 2014, 04:23 ] |
Заголовок сообщения: | Re: Тарифная опция - аренда оборудования |
это переодическая, разовая услуга? |
Автор: | blizzard [ 19 мар 2014, 10:52 ] |
Заголовок сообщения: | Re: Тарифная опция - аренда оборудования |
7 дней теста - разовая, подключение - разовая(уже сделал), а вот абон плата за железо она каждый месяц... + по тарифу тоже каждый месяц |
Автор: | skyb [ 19 мар 2014, 11:46 ] |
Заголовок сообщения: | Re: Тарифная опция - аренда оборудования |
Тоесть 7 дней абонент может пользоваться услугой и не должен за нее платить? ну так ставть статут "Для теста" и в абонках настройте чтоб в этом статусе ничего не списывалось |
Автор: | blizzard [ 19 мар 2014, 19:47 ] |
Заголовок сообщения: | Re: Тарифная опция - аренда оборудования |
Создал статус: Код: #------------------------------------- # Статусы договора #------------------------------------- # Статусы договора, коды и обозначения contract.status.list=0:Активен;1:В отключении;2:Отключен;3:Закрыт;4:Приостановлен;5:В подключении;6:Тестовый период # Статусы договора, запрещённые к ручной установке contract.status.no.manual.set=1,5 # Не используемые статусы договора (не будут отображаться в списках, но останутся в логах изменений) contract.status.deprected= # При смене статуса договора смена статусов его независимых субдоговоров, 1 - включение independ.subcontract.status.change=0 # и Код: # Статусы договора, в которых не начисляется абонентская плата contract.status.suspend.codes=3,4,6 # В шаблоне поставил при создании договора ставить "тестовый период".. а как автоматом переводить на Активен после 7 дней? p.s.: лимит стоит 0, но при создании сразу же снимается абон плата. почему? должен переводить в "отключен" |
Автор: | blizzard [ 19 мар 2014, 19:52 ] |
Заголовок сообщения: | Re: Тарифная опция - аренда оборудования |
а абон.плата за оборудование должна начисляться всегда, даже если у абонента 0, то делать -300 |
Автор: | blizzard [ 19 мар 2014, 20:27 ] |
Заголовок сообщения: | Re: Тарифная опция - аренда оборудования |
Запутался окончательно! 1. Подключился абонент и выбрал опцию аренда оборудования: со счета абонента снимается 500р (за подключение) и 7 дней он использует интернет бесплатно, по истечению 7 дней ему начисляется 300р (абон плата за оборудование) и 1000р (по тарифу). 2. Подключился абонент и выкупил оборудование: со счета абонента снимется 500р + 3200р (за оборудование) и 7 дней бесплатного теста, по истечению 7 дней начисляется 1000р (по тарифу) Если после 7 дней на счете 0р - отключать его. + если выбрана опция аренды оборудования то загонять в -300р вот что мне нужно... |
Автор: | blizzard [ 20 мар 2014, 03:39 ] |
Заголовок сообщения: | Re: Тарифная опция - аренда оборудования |
Насчет тестового периода, разве не должна быть логика следующая?: при подключении ставить тариф "тестовый", по истечению 7 дней переводить на тариф выбранный в договоре? |
Автор: | skyb [ 20 мар 2014, 04:58 ] |
Заголовок сообщения: | Re: Тарифная опция - аренда оборудования |
ну с тарифами я бы лично не стал делать, запутаться можно. Я бы сделал как описал, что не снимается в статусе "Тестовый период", скрипт бы проверял сколько стоит статус, если 7 дней, то переводить в статус активен, и заносить расход в сумме равной, какая вам нужна, это если автоматом, ну или руками делать расход какой нужно и когда нужно, это я про аренду. А так же есть модуль RSCM для этих целей |
Автор: | blizzard [ 20 мар 2014, 11:28 ] |
Заголовок сообщения: | Re: Тарифная опция - аренда оборудования |
Насчет RSCM - думаю бредово ради одной абон платы за оборудование покупать модуль этот. Проще создать 4 тарифа, два с арендой, два без... насчет тестового периода, нашел скрипт, правда яву я не понимаю, вот viewtopic.php?f=16&t=8371 |
Автор: | Phricker [ 20 мар 2014, 11:40 ] |
Заголовок сообщения: | Re: Тарифная опция - аренда оборудования |
Насчет тестового. Просто при подключении одной тарифной опции (которая бесплатная), активировать скриптом вторую. Но вторая стартует через 7 дней. Всего ничего. |
Автор: | blizzard [ 20 мар 2014, 12:01 ] |
Заголовок сообщения: | Re: Тарифная опция - аренда оборудования |
Phricker писал(а): Насчет тестового. Просто при подключении одной тарифной опции (которая бесплатная), активировать скриптом вторую. Но вторая стартует через 7 дней. Всего ничего. ну и пользователь сможет деактивировать... p.s. идея с двумя тарифами с абон платой и без - круто, но загонять в - абонента не будет, увы не подходит |
Автор: | blizzard [ 20 мар 2014, 22:20 ] |
Заголовок сообщения: | Re: Тарифная опция - аренда оборудования |
Я уже всё перепробовал, не знаю как реализовать( с inet не стал разбираться, с бд с помощью пхп забираю какой юзер отключен, и на микротике в ядре добавляю в адрес лист - и юзер блокируется. это готово, теперь надо сделать чтобы биллинг включал/выключал абонента, в зависимости от его баланса |
Автор: | blizzard [ 21 мар 2014, 20:39 ] |
Заголовок сообщения: | Re: Тарифная опция - аренда оборудования |
помогите ![]() |
Автор: | skyb [ 22 мар 2014, 07:44 ] |
Заголовок сообщения: | Re: Тарифная опция - аренда оборудования |
blizzard писал(а): помогите ![]() Чем не подходит описаная мною схема то? |
Автор: | blizzard [ 22 мар 2014, 12:41 ] |
Заголовок сообщения: | Re: Тарифная опция - аренда оборудования |
skyb писал(а): blizzard писал(а): помогите ![]() Чем не подходит описаная мною схема то? скрипт нужен:) я на java ниразу не писал, только си,пхп,перл и тому подобные а RSCM - лишнии затрты, разве иначе никак нельзя? |
Автор: | blizzard [ 22 мар 2014, 12:54 ] |
Заголовок сообщения: | Re: Тарифная опция - аренда оборудования |
Нашел вот скрипт - viewtopic.php?f=16&t=8371 , помогите отредактировать его... |
Автор: | skyb [ 22 мар 2014, 13:56 ] |
Заголовок сообщения: | Re: Тарифная опция - аренда оборудования |
Код: package ru.skyb.scripts.behavior; import java.sql.Connection; import java.util.Calendar; import java.util.Date; import bitel.billing.server.contract.bean.ContractStatus; import bitel.billing.server.contract.bean.ContractStatusManager; import ru.bitel.bgbilling.kernel.event.events.ContractStatusChangedEvent; //import ru.bitel.bgbilling.kernel.event.events.ContractStatusChangingEvent; import ru.bitel.bgbilling.kernel.script.server.dev.EventScriptBase; import ru.bitel.bgbilling.server.util.Setup; import ru.bitel.common.sql.ConnectionSet; public class ChangeStatusRestructuring extends EventScriptBase<ContractStatusChangedEvent> { @Override public void onEvent( ContractStatusChangedEvent event1, Setup setup2, ConnectionSet connectionSet3 ) throws Exception { Connection con = connectionSet3.getConnection(); int cid = event1.getContractId(); ContractStatus status = event1.getStatus(); Calendar c = Calendar.getInstance(); ContractStatusManager csm = new ContractStatusManager(con); Date dt = status.getDateFrom(); c.setTime(dt); c.add( Calendar.DAY_OF_MONTH, +3 ); int contract_status = status.getStatus(); print("Текущий статус " + contract_status); if (contract_status == 6) { //Изменение статуса с будущей даты ContractStatus statusR = new ContractStatus(); statusR.setContractId(cid); statusR.setDateFrom(c.getTime()); statusR.setDateTo(null); statusR.setStatus( 0 ); statusR.setComment("Автоматическое изменение статуса скриптом на Активен"); csm.changeStatus( statusR, 0, false ); print("Был статус Переоформление " + contract_status + " Изменили на Активен"); } } } Рабочий скрипт на смену статуса когда нужно |
Автор: | blizzard [ 22 мар 2014, 16:39 ] |
Заголовок сообщения: | Re: Тарифная опция - аренда оборудования |
14 > 15 > public class ChangeStatusRestructuring extends EventScriptBase<ContractStatusChangedEvent> 16 > { class ChangeStatusRestructuring is public, should be declared in a file named ChangeStatusRestructuring.java /usr/local/bgbilling/server/dyn/script1.java 15 8 |
Автор: | skyb [ 22 мар 2014, 16:41 ] |
Заголовок сообщения: | Re: Тарифная опция - аренда оборудования |
у класса должно быть название ru.skyb.scripts.behavior.ChangeStatusRestructuring |
Автор: | blizzard [ 22 мар 2014, 16:52 ] |
Заголовок сообщения: | Re: Тарифная опция - аренда оборудования |
skyb писал(а): у класса должно быть название ru.skyb.scripts.behavior.ChangeStatusRestructuring load class ru.skyb.scripts.behavior.ChangeStatusRestructuring need a method "execute(Setup,ConnectionSet)" or "static main(String[])" to run |
Автор: | skyb [ 22 мар 2014, 17:24 ] |
Заголовок сообщения: | Re: Тарифная опция - аренда оборудования |
http://bgbilling.ru/v6.0/doc/ch02s03.html |
Страница 1 из 1 | Часовой пояс: UTC + 5 часов [ Летнее время ] |
Powered by phpBB® Forum Software © phpBB Group http://www.phpbb.com/ |