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:09 ]
Заголовок сообщения:  Re: Тарифная опция - аренда оборудования

Т.е. вот так надо на каждый тариф я понимаю? и если опция эта у абонента включена то делается -300р всегда?

Вложения:
1395238119-clip-12kb.png
1395238119-clip-12kb.png [ 11.9 КБ | Просмотров: 9415 ]

Автор:  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/