BiTel

Форум BiTel
bgbilling.ru     docs.bitel.ru     wiki.bitel.ru     dbinfo.bitel.ru     bgcrm.ru     billing.bitel.ru     bitel.ru    
Текущее время: 04 июн 2024, 05:01

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




Начать новую тему Ответить на тему  [ Сообщений: 10 ] 
Автор Сообщение
 Заголовок сообщения: [6.0] Вопрос по рассылке
СообщениеДобавлено: 13 авг 2013, 18:57 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 29 мар 2010, 23:11
Сообщения: 5854
Карма: 472
Можно ли через этот плагин реализовать следующую рассылку по балансу.
Есть тарифы "Авансом за месяц" (100 рублей авансом за месяц), "Плати каждый день" (100 рублей за месяц. Подневное списание).
Абоненты подключают одну единственную рассылку по балансу.

Есть 1ый абонент с тарифом "Авансом за месяц". У него на счету остаток 93 рубля. За этот месяц уже все списалось. В конце месяца должна придти смска в которой сообщается примерно следующее.
"Уважаемый Абонент. Во избежание блокирования Вашего счета необходимо пополнить баланс по счету 1111111 на сумму 7 рублей до 01.09.2013г."

Есть 2ой абонент с тарифом "Плати каждый день".
Ему смска должна отправляться каждый раз когда биллинг видит, что через пару дней у абонента не будет хватать денег.
Если я укажу жестко условие по балансу 0-99, то ему будет отправляться смска каждый раз как его баланс станет меньше 99 рублей.
Укажу меньше - вполне возможно, что когда абонент перейдет на другой тариф в котором будет сниматься 100 рублей за 1 день - это условие тупо не отработает. Абонента заблокирует до отправки смс.

При этом второй абонент может перейти на тариф "Авансом за месяц". Ну и наоборот.
Как быть с такой рассылкой?

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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: [6.0] Вопрос по рассылке
СообщениеДобавлено: 13 авг 2013, 19:24 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 03 авг 2009, 18:42
Сообщения: 7166
Откуда: Благовещенск
Карма: 241
Код:
import java.math.BigDecimal;
import java.sql.*;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.*;
import bitel.billing.server.tariff.*;
import bitel.billing.common.TimeUtils;
import bitel.billing.server.util.*;
import ru.bitel.bgbilling.server.util.DefaultServerSetup;
import ru.bitel.bgbilling.server.util.ServerUtils;
import bitel.billing.common.KernelConst;
import bitel.billing.server.contract.bean.*;
import com.logica.smpp.Data;
import com.logica.smpp.Session;
import com.logica.smpp.TCPIPConnection;
import com.logica.smpp.pdu.BindRequest;
import com.logica.smpp.pdu.BindTransmitter;
import com.logica.smpp.pdu.Response;
import com.logica.smpp.pdu.SubmitSM;


public void main( setup, con, conSlave )
{
   String query = "SELECT c.id,c.title,c.comment, sum(REPLACE(data,'type&1%cost&','')) AS abon, (b.summa1+b.summa2-b.summa3-b.summa4) as bal, cpt.val" +
               " FROM contract c" +
               " LEFT JOIN contract_balance b on c.id=b.cid" +
               " LEFT JOIN contract_tariff AS t ON c.id=t.cid AND t.date2 IS NULL" +
               " LEFT JOIN tariff_plan AS p ON t.tpid=p.id" +
               " LEFT JOIN tariff_tree_link ON tariff_tree_link.tpid=p.id" +
               " LEFT JOIN module_tariff_tree ON module_tariff_tree.tree_id=tariff_tree_link.tree_id" +
               " LEFT JOIN mtree_node ON mtree_node.mtree_id=module_tariff_tree.id" +
               " LEFT JOIN contract_parameter_type_1 AS cpt ON c.id=cpt.cid" +
               " WHERE b.yy=YEAR(NOW()) AND b.mm=MONTH(NOW()) AND mtree_node.type='month_cost' AND cpt.pid=21 AND c.date2 IS NULL"+
               " GROUP by c.id";
   PreparedStatement contractPs = con.prepareStatement( query );
   ResultSet contractRs = contractPs.executeQuery();
   int id;
   String title;
   int sum;
   double bal;
   String val;
   int i = 0;
   String message;
    while ( contractRs.next() )
    {
      id = contractRs.getInt( 1 );
      title = contractRs.getString(2);
      sum = contractRs.getInt(4);
      bal = contractRs.getDouble(5);
      val = contractRs.getString(6);
      int diff = sum - bal;
      diff++;
      String message = "Необходимо пополнить баланс л/с " + title + "  на сумму "+diff + " р. до 1-го числа.";
   if (sum > bal)
   {
//отпровляй тут кому что нужно ;)
   }
         i++;
   }
    print("кол-во " +i );
    contractRs.close();
    contractPs.close();   
}

_________________
Код:
  Клиент: вер. 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: [6.0] Вопрос по рассылке
СообщениеДобавлено: 13 авг 2013, 19:26 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 29 мар 2010, 23:11
Сообщения: 5854
Карма: 472
Цитата:
Список форумов » BGBilling (компоненты системы) » Плагин Dispatch

Я хочу чтобы абоненты сами подписывались если хотят.

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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: [6.0] Вопрос по рассылке
СообщениеДобавлено: 13 авг 2013, 19:34 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 03 авг 2009, 18:42
Сообщения: 7166
Откуда: Благовещенск
Карма: 241
Код:
String nymber = contact1.getValue();

А так получать номер когда абоненты подпишутся
Тоесть что я предлагаю, абонент подписывается сам, номер у тебя есть, ты на этот номер уже шлешь чего нада

_________________
Код:
  Клиент: вер. 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: [6.0] Вопрос по рассылке
СообщениеДобавлено: 13 авг 2013, 19:51 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 29 мар 2010, 23:11
Сообщения: 5854
Карма: 472
Ну вот это чего надо и реализуется плагином :)
Ты можешь через плагин в договоре подсадить абонента на определенную рассылку. Можешь не подсаживать.
Абонент указал номер 79031111111. И подписал себе рассылку новостей, баланса, анекдотов, ЖЖ админа биллинга и еще хрен знает что. Все будешь реализовывать через глобальные скрипты? ) И он хочет чтобы баланс приходил когда положено, а новости когда он сидит в туалете, а ЖЖшечку читать в маршрутке.
Выставишь скрипт на выполнение каждую минуту? )
Т.е. у тебя плагин рассылок по факту не будет делать рассылки а будет только собирать информацию о них.

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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: [6.0] Вопрос по рассылке
СообщениеДобавлено: 13 авг 2013, 20:15 
Не в сети
Разработчик

Зарегистрирован: 07 апр 2007, 23:51
Сообщения: 4489
Откуда: Уфа, Россия
Карма: 186
что тоя не понял, что нужно...
нужно новое условие для отправки?
или умная рассылка", которая от того какой у клиента тариф, использовала разные условия определения когда и что слать?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: [6.0] Вопрос по рассылке
СообщениеДобавлено: 13 авг 2013, 20:16 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 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: [6.0] Вопрос по рассылке
СообщениеДобавлено: 13 авг 2013, 20:19 
Не в сети
Разработчик

Зарегистрирован: 07 апр 2007, 23:51
Сообщения: 4489
Откуда: Уфа, Россия
Карма: 186
есть персональные расслки и есть режим отправки "по событию"
делаете скрипт который раз в сутки выбирает клиентов у которых есть подписка типа "Уведовлять о нехватке средств" проверяете у них тариф и баланс и если нужно кидаете событие отправить сообщение...


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: [6.0] Вопрос по рассылке
СообщениеДобавлено: 25 ноя 2013, 10:51 
Не в сети

Зарегистрирован: 06 май 2009, 05:25
Сообщения: 102
Откуда: г. Амурск
Карма: 10
skn писал(а):
и если нужно кидаете событие отправить сообщение...

А подробнее можно?
Как в скрипте можно инициировать отправку сообщения?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: [6.0] Вопрос по рассылке
СообщениеДобавлено: 25 ноя 2013, 14:21 
Не в сети
Разработчик

Зарегистрирован: 07 апр 2007, 23:51
Сообщения: 4489
Откуда: Уфа, Россия
Карма: 186
Yagoda писал(а):
skn писал(а):
и если нужно кидаете событие отправить сообщение...

А подробнее можно?
Как в скрипте можно инициировать отправку сообщения?


а доки для кого? http://bgbilling.ru/v6.0/doc/ch39s03s07s01.html


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

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


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

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


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

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