BiTel

Форум BiTel
bgbilling.ru     docs.bitel.ru     wiki.bitel.ru     dbinfo.bitel.ru     bgcrm.ru     billing.bitel.ru     bitel.ru    
Текущее время: 28 апр 2024, 16:20

Часовой пояс: UTC + 5 часов [ Летнее время ]




Начать новую тему Ответить на тему  [ Сообщений: 23 ] 
Автор Сообщение
 Заголовок сообщения: Управление статусом из ЛК
СообщениеДобавлено: 27 янв 2015, 18:04 
Не в сети

Зарегистрирован: 23 янв 2015, 19:11
Сообщения: 189
Карма: 5
В bgbilling довольно хорошо реализовано управление лимитом. Можно для разных групп договоров настроить различное количество разрешенных дней, порог лимита, стоймость и т.п. А вот как конфигурировать управление статусом я не нашел вообще. Возможно ли реализовать сложные условия для разных групп договоров, не залезая при этом в код? Например такие:
1 группа:
- возможность приостановки обслуживания минимум на 7 суток, максимум на 3 месяца не чаще раза в месяц; в дальнейшем снимается ежесуточная плата в размере 10% от тарифа
2 группа:
- возможность приостановки обслуживания минимум на месяц, максимум на 3 месяца со снятием ежемесячной абонентской платы 50% от тарифа

_________________
Сервер: вер. 7.0.1409 / 03.09.2018 20:20:58
os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_45


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Управление статусом из ЛК
СообщениеДобавлено: 02 фев 2015, 15:47 
Не в сети

Зарегистрирован: 23 янв 2015, 19:11
Сообщения: 189
Карма: 5
Anyone?

_________________
Сервер: вер. 7.0.1409 / 03.09.2018 20:20:58
os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_45


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Управление статусом из ЛК
СообщениеДобавлено: 02 фев 2015, 15:53 
Не в сети
Разработчик

Зарегистрирован: 08 ноя 2007, 01:05
Сообщения: 8343
Откуда: Уфа
Карма: 238
PavelGloba писал(а):
В bgbilling довольно хорошо реализовано управление лимитом. Можно для разных групп договоров настроить различное количество разрешенных дней, порог лимита, стоймость и т.п. А вот как конфигурировать управление статусом я не нашел вообще. Возможно ли реализовать сложные условия для разных групп договоров, не залезая при этом в код? Например такие:
1 группа:
- возможность приостановки обслуживания минимум на 7 суток, максимум на 3 месяца не чаще раза в месяц; в дальнейшем снимается ежесуточная плата в размере 10% от тарифа
2 группа:
- возможность приостановки обслуживания минимум на месяц, максимум на 3 месяца со снятием ежемесячной абонентской платы 50% от тарифа



Штаного решения нет, можно заложить некоторую логику смены статуса в обработчике события смены статуса . Не давать там менять и т.п .


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Управление статусом из ЛК
СообщениеДобавлено: 02 фев 2015, 15:55 
Не в сети
Разработчик

Зарегистрирован: 08 ноя 2007, 01:05
Сообщения: 8343
Откуда: Уфа
Карма: 238
Есть еще событие "получение списка дат при смене статуса договора".


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Управление статусом из ЛК
СообщениеДобавлено: 02 фев 2015, 21:59 
Не в сети

Зарегистрирован: 08 апр 2014, 11:00
Сообщения: 248
Карма: 0
Тоже очень интересен подобный функционал. А именно ограничение времени приостановки. Скажем, минимум на 7 суток.

_________________
Код:
Сервер: вер. 6.1.1182 / 21.11.2016 20:23:39
    os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.7.0_71

  bill: вер. 6.1.267 / 08.11.2016 10:26:59
  card: вер. 6.1.211 / 31.05.2016 16:01:28
  inet: вер. 6.1.737 / 25.11.2016 16:32:09
  mps: вер. 6.1.225 / 22.09.2016 12:54:08
  npay: вер. 6.1.202 / 05.10.2016 14:06:01
  phone: вер. 6.1.263 / 13.09.2016 18:00:05
  reports: вер. 6.1.206 / 05.10.2016 14:06:03
  ru.bitel.bgbilling.plugins.dispatch: вер. 6.1.91 / 25.11.2016 16:32:11
  ru.bitel.bgbilling.plugins.documents: вер. 6.1.215 / 29.02.2016 17:50:59
  voiceip: вер. 6.1.190 / 29.02.2016 17:51:17


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Управление статусом из ЛК
СообщениеДобавлено: 02 фев 2015, 22:35 
Не в сети
Аватара пользователя

Зарегистрирован: 30 май 2008, 15:51
Сообщения: 6055
Карма: 244
Всё решается событиями вышеперечисленными.

_________________
I'm clever. I've got a computer.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Управление статусом из ЛК
СообщениеДобавлено: 03 фев 2015, 13:04 
Не в сети

Зарегистрирован: 23 янв 2015, 19:11
Сообщения: 189
Карма: 5
Как по мне, должно быть штатное решение. Подобный функционал есть в биллинге у большенства операторов связи. Можно расчитывать на подобный функционал в ближайшем будущем?

_________________
Сервер: вер. 7.0.1409 / 03.09.2018 20:20:58
os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_45


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Управление статусом из ЛК
СообщениеДобавлено: 03 фев 2015, 13:17 
Не в сети
Разработчик

Зарегистрирован: 08 ноя 2007, 01:05
Сообщения: 8343
Откуда: Уфа
Карма: 238
PavelGloba писал(а):
Как по мне, должно быть штатное решение. Подобный функционал есть в биллинге у большенства операторов связи. Можно расчитывать на подобный функционал в ближайшем будущем?



Какой функционал именно штатный ?
1.
Цитата:
- возможность приостановки обслуживания минимум на 7 суток, максимум на 3 месяца не чаще раза в месяц; в дальнейшем снимается ежесуточная плата в размере 10% от тарифа

2
Цитата:
- возможность приостановки обслуживания минимум на месяц, максимум на 3 месяца со снятием ежемесячной абонентской платы 50% от тарифа


3. Возможность запретить приостановку статуса всем проживающим по улице Красноводсткая чаще чем один раз в 5 месяцев.

4. При приостановке статуса снимать 37% от абонплаты.

5. Не давать приостанавливать статус тем кто у кого средний остаток на счете за последний год меньше 100 рублей .

И можно придумать еще много условий . Мы можем нагородить какие-то настройки, но зачем , если это можно решить скриптом . Всегда найдется кто-то, кто придумает какие-то еще условия, о которых мы понятия не имели . Если сами не можете решить проблему с помощью скрипта, то обратись к нам или кому-то(тут на форуме некторые предлагают свои услуги) кто сможет помочь.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Управление статусом из ЛК
СообщениеДобавлено: 03 фев 2015, 13:22 
Не в сети
Аватара пользователя

Зарегистрирован: 30 май 2008, 15:51
Сообщения: 6055
Карма: 244
Цитата:
Подобный функционал есть в биллинге у большенства операторов связи.
А скриптами у них можно?
PavelGloba писал(а):
Можно расчитывать на подобный функционал в ближайшем будущем?
Нет

_________________
I'm clever. I've got a computer.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Управление статусом из ЛК
СообщениеДобавлено: 03 фев 2015, 13:39 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 29 мар 2010, 23:11
Сообщения: 5854
Карма: 472
stark писал(а):
1.
Цитата:
- возможность приостановки обслуживания минимум на 7 суток, максимум на 3 месяца не чаще раза в месяц; в дальнейшем снимается ежесуточная плата в размере 10% от тарифа


Мне на 14 дней надо и максимум на 2 месяца.
Спасибо. Пожалуйста.

_________________
Цитаты великих людей :umnik:
Напишите в helpdesk © stark
повторяю: => хелпдеск => доработка => профит © dimOn
свершилось... © skn
Мой код изящен, лёгок, оригинален, краток. Как прохладный весенний ветерок, как звонкий ручей! © dimOn
Вежливый разработчик © Artur
Эти баги тоже исправлены, как и те, которые еще не написаны © Artur
ну т.е. существует воркэраунд, ок © dimOn


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Управление статусом из ЛК
СообщениеДобавлено: 03 фев 2015, 13:44 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 03 авг 2009, 18:42
Сообщения: 7166
Откуда: Благовещенск
Карма: 241
а я экшен переписал =)

_________________
Код:
  Клиент: вер. 6.2.714 / 25.05.2015 17:27:15
    os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_45
  Сервер: вер. 6.2.881 / 22.05.2015 17:56:55
    os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_45
Помощь по администрированию bgbilling в jabber конференции или Группа в telegram
Стиль программирования - пьяный мастерстер
Разработка мобильных приложений


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Управление статусом из ЛК
СообщениеДобавлено: 03 фев 2015, 13:47 
Не в сети
Аватара пользователя

Зарегистрирован: 30 май 2008, 15:51
Сообщения: 6055
Карма: 244
Phricker писал(а):
stark писал(а):
1.
Цитата:
- возможность приостановки обслуживания минимум на 7 суток, максимум на 3 месяца не чаще раза в месяц; в дальнейшем снимается ежесуточная плата в размере 10% от тарифа


Мне на 14 дней надо и максимум на 2 месяца.
Спасибо. Пожалуйста.

нет нет, а это уже не штатное решение :umnik:

_________________
I'm clever. I've got a computer.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Управление статусом из ЛК
СообщениеДобавлено: 03 фев 2015, 14:10 
Не в сети

Зарегистрирован: 23 янв 2015, 19:11
Сообщения: 189
Карма: 5
Такие же возможности, как в управлении лимитом.

_________________
Сервер: вер. 7.0.1409 / 03.09.2018 20:20:58
os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_45


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Управление статусом из ЛК
СообщениеДобавлено: 03 фев 2015, 14:34 
Не в сети
Аватара пользователя

Зарегистрирован: 30 май 2008, 15:51
Сообщения: 6055
Карма: 244
И как вы собираетесь внести в настройки аналогичной куцести свои пожелания вида:
Цитата:
- возможность приостановки обслуживания минимум на 7 суток, максимум на 3 месяца не чаще раза в месяц; в дальнейшем снимается ежесуточная плата в размере 10% от тарифа
Цитата:
- возможность приостановки обслуживания минимум на месяц, максимум на 3 месяца со снятием ежемесячной абонентской платы 50% от тарифа
да ещё и остальные
Цитата:
сложные условия для разных групп договоров
и чего-то там ещё.
1. какой в этом смысл?
2. вы понимаете, что настройки, позволяющие задать подобное, будут много сложнее, чем 10 строк кода скрипта?

_________________
I'm clever. I've got a computer.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Управление статусом из ЛК
СообщениеДобавлено: 03 фев 2015, 14:47 
Не в сети

Зарегистрирован: 23 янв 2015, 19:11
Сообщения: 189
Карма: 5
Достаточно min-maxdays и группы. Остальное всё действительно слишком индивидуально, не надо к этому, пожалуйста, больше цепляться. Разбивка по разным группам должна быть априори, ИМХО.

_________________
Сервер: вер. 7.0.1409 / 03.09.2018 20:20:58
os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_45


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Управление статусом из ЛК
СообщениеДобавлено: 03 фев 2015, 18:05 
Не в сети

Зарегистрирован: 08 апр 2014, 11:00
Сообщения: 248
Карма: 0
skyb писал(а):
а я экшен переписал =)

Может быть в вики пример решения выложить, если написали его?

_________________
Код:
Сервер: вер. 6.1.1182 / 21.11.2016 20:23:39
    os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.7.0_71

  bill: вер. 6.1.267 / 08.11.2016 10:26:59
  card: вер. 6.1.211 / 31.05.2016 16:01:28
  inet: вер. 6.1.737 / 25.11.2016 16:32:09
  mps: вер. 6.1.225 / 22.09.2016 12:54:08
  npay: вер. 6.1.202 / 05.10.2016 14:06:01
  phone: вер. 6.1.263 / 13.09.2016 18:00:05
  reports: вер. 6.1.206 / 05.10.2016 14:06:03
  ru.bitel.bgbilling.plugins.dispatch: вер. 6.1.91 / 25.11.2016 16:32:11
  ru.bitel.bgbilling.plugins.documents: вер. 6.1.215 / 29.02.2016 17:50:59
  voiceip: вер. 6.1.190 / 29.02.2016 17:51:17


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Управление статусом из ЛК
СообщениеДобавлено: 04 фев 2015, 12:43 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 03 авг 2009, 18:42
Сообщения: 7166
Откуда: Благовещенск
Карма: 241
Dima_M писал(а):
skyb писал(а):
а я экшен переписал =)

Может быть в вики пример решения выложить, если написали его?

да я и не против, но вот времени чет нет пока на это, там просто не только переписка, там настройка, смена самой веб морды, кнопки

_________________
Код:
  Клиент: вер. 6.2.714 / 25.05.2015 17:27:15
    os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_45
  Сервер: вер. 6.2.881 / 22.05.2015 17:56:55
    os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_45
Помощь по администрированию bgbilling в jabber конференции или Группа в telegram
Стиль программирования - пьяный мастерстер
Разработка мобильных приложений


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Управление статусом из ЛК
СообщениеДобавлено: 06 фев 2015, 08:32 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 03 авг 2009, 18:42
Сообщения: 7166
Откуда: Благовещенск
Карма: 241
Статус чет найти не могу, но вот с лимитом как я поиграл
Код:
      String action = request.getParameter("act");
      request.setAttribute( "contentType", ActionResultContentType.jsp );
      java.util.Date currentDate = new java.util.Date();
      //BigDecimal summ = getBigDecimalParameter( "summ", BigDecimal.ZERO );
      BigDecimal summ = new BigDecimal(1000);
      LimitManager lm = new LimitManager( con );
      ContractManager cm = new ContractManager( con );
        Contract contract = cm.getContractById( cid );
      BalanceUtils bu = new BalanceUtils (con);
      String query = " SELECT date1 FROM contract WHERE id = " + cid;
      PreparedStatement contractPs = con.prepareStatement( query );
      ResultSet contractRs = contractPs.executeQuery();

/*      else if( contract.getBalanceLimit().subtract( summ ).compareTo( clp.minLimit ) < 0 )
         {
            throw new BGMessageException( "Понижение лимита ниже " + Utils.formatBigDecimalSumm( clp.minLimit ) + " невозможно." );
         }
*/
      reloadClp( lm, contract );
      //if( clp != null && summ.compareTo( BigDecimal.ZERO ) > 0 && contract.getBalanceMode() == Contract.DEBET_BALANCE_MODE )
      if( clp != null && "Взять платеж".equals(action) && contract.getBalanceMode() == Contract.DEBET_BALANCE_MODE )
         {
         while ( contractRs.next() )
            {
               Date date = contractRs.getDate( 1 );
               
                 int mounth = TimeUtils.monthsDelta(date, currentDate);
/*
*Больше месяца - день
*Больше трех - три
*Больше пол года - пять
*/
               if (bu.getBalance(currentDate, cid).compareTo(  new BigDecimal(0) ) >= 0)
               {
                if (mounth == 0)
                  {
                   
                   System.out.println("While sql " + date + " mounth " + mounth + " currentDate " + currentDate);
                  throw new BGMessageException( "Обещанный платеж можно брать только через месяц" );
                                    
                  }
                 if (mounth >= 1 && mounth < 3)
                    {
                        lm.lowLimit( cid, summ, 1 );

                          contract = cm.getContractById( cid );
                         
                          context.publishAfterCommit( new ContractLimitUserLow( userID, cid, summ, 1 ) );
                          context.publishAfterCommit( new SystemLimitChangedEvent( cid, contract.getBalanceLimit()) );
                          context.publishAfterCommit( new LimitChangedEvent( cid, contract.getBalanceLimit()) );
                         
                          reloadClp( lm, contract );
                          System.out.println("While sql " + date + " mounth " + mounth + " currentDate " + currentDate);
                    }
                 if (mounth >= 3 && mounth < 6)
                    {
                        lm.lowLimit( cid, summ, 3 );

                          contract = cm.getContractById( cid );
                         
                          context.publishAfterCommit( new ContractLimitUserLow( userID, cid, summ, 3 ) );
                          context.publishAfterCommit( new SystemLimitChangedEvent( cid, contract.getBalanceLimit()) );
                          context.publishAfterCommit( new LimitChangedEvent( cid, contract.getBalanceLimit()) );
                         
                          reloadClp( lm, contract );
                          System.out.println("While sql " + date + " mounth " + mounth + " currentDate " + currentDate);
                    }
                 if (mounth >= 6)
                    {
                        lm.lowLimit( cid, summ, 5 );

                          contract = cm.getContractById( cid );
                         
                          context.publishAfterCommit( new ContractLimitUserLow( userID, cid, summ, 5 ) );
                          context.publishAfterCommit( new SystemLimitChangedEvent( cid, contract.getBalanceLimit()) );
                          context.publishAfterCommit( new LimitChangedEvent( cid, contract.getBalanceLimit()) );
                         
                          reloadClp( lm, contract );
                          System.out.println("While sql " + date + " mounth " + mounth + " currentDate " + currentDate);
                    }      
               }      
            else
               {
                throw new BGMessageException( "Понижение лимита при отрицательном балансе невозможно." );
               }
            }
         
         contractPs.close();
         contractRs.close();
         
         }

      super.doAction();

   }
   
   private void reloadClp( LimitManager lm, Contract contract )
           throws BGException
       {
          try
          {
             clp = null;
             clp = lm.getContractLimitParameters( setup, contract );
          }
          catch( BGMessageException e )
          {
             setMsg( e.getMessage() );
          }
       }
}

_________________
Код:
  Клиент: вер. 6.2.714 / 25.05.2015 17:27:15
    os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_45
  Сервер: вер. 6.2.881 / 22.05.2015 17:56:55
    os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_45
Помощь по администрированию bgbilling в jabber конференции или Группа в telegram
Стиль программирования - пьяный мастерстер
Разработка мобильных приложений


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Управление статусом из ЛК
СообщениеДобавлено: 06 фев 2015, 11:39 
Не в сети
Разработчик

Зарегистрирован: 08 ноя 2007, 01:05
Сообщения: 8343
Откуда: Уфа
Карма: 238
skyb писал(а):
Статус чет найти не могу, но вот с лимитом как я поиграл


Предлагаю рассмотреть возможность использования "else if" в вашем коде. Так было бы более понятно и исключает ошибку того, что сработает 2 условия сразу.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Управление статусом из ЛК
СообщениеДобавлено: 06 фев 2015, 12:01 
Не в сети
Аватара пользователя

Зарегистрирован: 30 май 2008, 15:51
Сообщения: 6055
Карма: 244
Если речь про if (mounth >= 1 && mounth < 3) итд, то я в таком случае заведомо неперекрывающихся условий тоже не стал бы else ставить для как раз логичности и наглядности

_________________
I'm clever. I've got a computer.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Управление статусом из ЛК
СообщениеДобавлено: 30 янв 2017, 19:34 
Не в сети

Зарегистрирован: 29 июл 2008, 13:57
Сообщения: 94
Карма: 0
Коллеги, а ничего по управлению статусом не допилили?

Например - разрешить блокироваться только один раз в месяц?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Управление статусом из ЛК
СообщениеДобавлено: 30 янв 2017, 23:05 
Не в сети
Аватара пользователя

Зарегистрирован: 30 май 2008, 15:51
Сообщения: 6055
Карма: 244
а чего тут допиливать? всё делается скриптами

_________________
I'm clever. I've got a computer.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Управление статусом из ЛК
СообщениеДобавлено: 31 янв 2017, 12:11 
Не в сети

Зарегистрирован: 23 июл 2007, 11:30
Сообщения: 26
Карма: 5
Fate писал(а):
Коллеги, а ничего по управлению статусом не допилили?

Например - разрешить блокироваться только один раз в месяц?


Если нужны скрипты - пишите в личку.

_________________
Выпускник 10 года по факультету закалки через страдания ОАО "Уфанет" по специальности администрирование, скриптописание и разработка java-расширений для BGBilling 4.1-6.1, опыт Java EE, team-lead & project management по BGBilling и проектирования+разработки его интеграций с различным оборудованием и информационными системами. Контакты на Wiki


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 23 ] 

Часовой пояс: UTC + 5 часов [ Летнее время ]


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
POWERED_BY
Русская поддержка phpBB
[ Time : 0.097s | 66 Queries | GZIP : On ]