BiTel

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

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




Начать новую тему Ответить на тему  [ Сообщений: 48 ]  На страницу 1, 2  След.
Автор Сообщение
 Заголовок сообщения: Рассылка по приходу
СообщениеДобавлено: 19 мар 2014, 07:14 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 27 мар 2012, 11:59
Сообщения: 2676
Карма: 72
Подскажите возможность сделать условия рассылки по приходу платежа, понял что надо установить параметр в рассылке "Отправка по событию" но теперь вопрос скрипт поведения как должен выглядеть? может кто нить уже такое внедрил


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Рассылка по приходу
СообщениеДобавлено: 19 мар 2014, 07:43 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 03 авг 2009, 18:42
Сообщения: 7166
Откуда: Благовещенск
Карма: 241
http://wiki.bitel.ru/index.php/SMS_%D1% ... %D0%B2_5.2

но это на просто событие поступление ДС

_________________
Код:
  Клиент: вер. 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: Рассылка по приходу
СообщениеДобавлено: 31 мар 2014, 10:15 
Не в сети
Аватара пользователя

Зарегистрирован: 27 янв 2010, 16:12
Сообщения: 941
Откуда: Уфа
Карма: 124
Актуален ли вопрос? могу описать полную схему с примером кода.

_________________
С уважением, Гареев Артур. Вежливый разработчик ООО "Бител".


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Рассылка по приходу
СообщениеДобавлено: 31 мар 2014, 13:34 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 27 мар 2012, 11:59
Сообщения: 2676
Карма: 72
Да:) актуален. Был бы очень признателен


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Рассылка по приходу
СообщениеДобавлено: 31 мар 2014, 14:24 
Не в сети
Аватара пользователя

Зарегистрирован: 27 янв 2010, 16:12
Сообщения: 941
Откуда: Уфа
Карма: 124
Необходимо сделать следующее (на примере события занесения расхода на договор):
1) Создать рассылку для оповещения о занесении расхода, в настройках рассылки поставить галочку Не помечать отправленными, в условиях отправки поставить галочку Отправка по событию.
2) Создать скрипт поведения на событие занесения расхода в виде дин. кода. В моем случае класс называется ru.reflexive.DispatchCharge. Назовите и поместите его в пакет по своему усмотрению. Не забудьте при этом поменять соответственно название класса и пакет коде, который я привожу далее.
3) Скопировать содержимое файла DispatchCharge.java в созданный скрипт поведения
4) В созданном скрипте нужно подправить значение переменной dispatchId на код рассылки, созданной в п.1 (код рассылки можно посмотреть так: выделить в таблице с рассылками созданную в п.1 рассылку и нажать на клавиатуре Ctrl+i)
5) Перейти в Сервис->Автоматизация->Управление динамическим кодом и создать класс с содержимым из файла DispatchChargeMessage.java (в моем случае полное имя класса ru.reflexive.DispatchChargeMessage). При необходимости исправить имя класса и пакета, а также содержимое по своему усмотрению.
6) В рассылке из п.1 создать новое сообщение. В теле сообщения прописать $${class:<полное имя класса из п.5>}
7) Создать подписку на рассылку на договоре(-ах)
8) Не забыть добавить скрипт поведения на договоре

Если что то непонятно, то пишите.

PS. В примере тело сообщения сводится к такому шаблону: "Расход N руб. с CONTRACT_TITLE за CHARGE_TITLE, остаток на счете М руб.".
PSS. Если вдруг что то не то получится и сообщения не буду уходить, то обратите внимание на вот такую тему http://forum.bitel.ru/viewtopic.php?f=54&t=8996


Вложения:
Комментарий к файлу: Файл с телом сообщения
DispatchChargeMessage.txt [1.61 КБ]
Скачиваний: 550
Комментарий к файлу: Файл скрипта поведения
DispatchCharge.txt [1.26 КБ]
Скачиваний: 558

_________________
С уважением, Гареев Артур. Вежливый разработчик ООО "Бител".
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Рассылка по приходу
СообщениеДобавлено: 26 май 2014, 10:45 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 27 мар 2012, 11:59
Сообщения: 2676
Карма: 72
У меня вопрос:
Artur писал(а):
Создать скрипт поведения на событие занесения расхода

Я делаю на занесение прихода, в коде приведенных скриптов что нужно поменять что бы был не расход а приход?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Рассылка по приходу
СообщениеДобавлено: 26 май 2014, 13:56 
Не в сети
Аватара пользователя

Зарегистрирован: 27 янв 2010, 16:12
Сообщения: 941
Откуда: Уфа
Карма: 124
zavndw писал(а):
У меня вопрос:
Artur писал(а):
Создать скрипт поведения на событие занесения расхода

Я делаю на занесение прихода, в коде приведенных скриптов что нужно поменять что бы был не расход а приход?


Нужно заменить значение переменной dispatchId на то значение, которое соответствует рассылке на приход платежа.

_________________
С уважением, Гареев Артур. Вежливый разработчик ООО "Бител".


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Рассылка по приходу
СообщениеДобавлено: 27 май 2014, 12:53 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 27 мар 2012, 11:59
Сообщения: 2676
Карма: 72
Вот что в лог падает, не отправляет, сделал все по рекомендациям

Код:
05-27/18:50:03 ERROR [Thread-3] LoggingPrintStream - java.lang.ClassNotFoundException: bitel.billing.server.mail.UserDispatchSender
05-27/18:50:03 ERROR [Thread-3] LoggingPrintStream -    at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
05-27/18:50:03 ERROR [Thread-3] LoggingPrintStream -    at java.security.AccessController.doPrivileged(Native Method)
05-27/18:50:03 ERROR [Thread-3] LoggingPrintStream -    at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
05-27/18:50:03 ERROR [Thread-3] LoggingPrintStream -    at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
05-27/18:50:03 ERROR [Thread-3] LoggingPrintStream -    at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
05-27/18:50:03 ERROR [Thread-3] LoggingPrintStream -    at java.lang.Class.forName0(Native Method)
05-27/18:50:03 ERROR [Thread-3] LoggingPrintStream -    at java.lang.Class.forName(Class.java:171)
05-27/18:50:03 ERROR [Thread-3] LoggingPrintStream -    at ru.bitel.bgbilling.kernel.task.server.TaskData.initTask(TaskData.java:66)
05-27/18:50:03 ERROR [Thread-3] LoggingPrintStream -    at bitel.billing.server.TaskExecuter.run(TaskExecuter.java:209)
05-27/18:50:03  INFO [Thread-3] TaskExecuter - Starting periodic task #32: bitel.billing.server.mail.UserDispatchSender
05-27/18:50:03 ERROR [Thread-3] TaskExecuter -
java.lang.NullPointerException
   at java.util.concurrent.ThreadPoolExecutor.execute(ThreadPoolExecutor.java:649)
   at bitel.billing.server.TaskExecuter.run(TaskExecuter.java:213)
05-27/18:50:03  INFO [Thread-3] PaymentLoader - Loaded 1 file types.
05-27/18:50:03  INFO [Thread-3] TaskExecuter - Starting periodic task #11: bitel.billing.server.admin.integration.PaymentLoader
05-27/18:50:03  INFO [Thread-3] PaymentLoader - Loaded 1 file types.
05-27/18:50:03  INFO [Thread-3] TaskExecuter - Starting periodic task #24: bitel.billing.server.admin.integration.PaymentLoader
05-27/18:50:03  INFO [Thread-3] TaskExecuter - Starting periodic task #29: ru.bitel.bgbilling.plugins.dispatch.server.DispatchWorker
05-27/18:50:03  INFO [pool-2-thread-2] PaymentLoader - Task finished time=12 ms.
05-27/18:50:03  INFO [pool-2-thread-3] PaymentLoader - Task finished time=8 ms.
05-27/18:50:03 ERROR [pool-2-thread-4] MessageProcessor - Не удалось отправить сообщение пользовательского класса ru.reflexive.DispatchChargeMessage для подписки с id=10
java.lang.ArrayIndexOutOfBoundsException: -1
   at java.util.ArrayList.get(ArrayList.java:324)
   at ru.reflexive.DispatchChargeMessage.getMessageBody(DispatchChargeMessage.java:33)
   at ru.bitel.bgbilling.plugins.dispatch.server.bean.MessageProcessor.processMacro(MessageProcessor.java:156)
   at ru.bitel.bgbilling.plugins.dispatch.server.bean.MessageProcessor.send(MessageProcessor.java:232)
   at ru.bitel.bgbilling.plugins.dispatch.server.DispatchWorker.executeTask(DispatchWorker.java:101)
   at ru.bitel.bgbilling.kernel.task.server.TaskBase.run(TaskBase.java:74)
   at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:895)
   at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918)
   at java.lang.Thread.run(Thread.java:662)
05-27/18:50:05  INFO [pool-2-thread-4] DispatchWorker - Task finished time=1331 ms.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Рассылка по приходу
СообщениеДобавлено: 27 май 2014, 13:11 
Не в сети
Разработчик

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

[code]05-27/18:50:03 ERROR [Thread-3] LoggingPrintStream - java.lang.ClassNotFoundException: bitel.billing.server.mail.UserDispatchSender
05


Откуда такой класс? это какую задачу вы добавили ?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Рассылка по приходу
СообщениеДобавлено: 27 май 2014, 13:23 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 27 мар 2012, 11:59
Сообщения: 2676
Карма: 72
такого класса не использую, я рассылки только недавно поставил, пользовательские рассылки могут такую ошибку давать?
отключил пользовательские рассылки ошибка ушла, убрал из тела сообщения класс смс пришло


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Рассылка по приходу
СообщениеДобавлено: 27 май 2014, 13:35 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 27 мар 2012, 11:59
Сообщения: 2676
Карма: 72
Код:
05-27/19:29:03  INFO [Thread-3] TaskExecuter - Starting periodic task #29: ru.bitel.bgbilling.plugins.dispatch.server.DispatchWorker
05-27/19:29:03  INFO [pool-2-thread-2] DispatchWorker - Task finished time=20 ms.
05-27/19:30:03  INFO [Thread-3] PaymentLoader - Loaded 1 file types.
05-27/19:30:03  INFO [Thread-3] TaskExecuter - Starting periodic task #24: bitel.billing.server.admin.integration.PaymentLoader
05-27/19:30:03  INFO [Thread-3] TaskExecuter - Starting periodic task #29: ru.bitel.bgbilling.plugins.dispatch.server.DispatchWorker
05-27/19:30:03  INFO [pool-2-thread-3] PaymentLoader - Task finished time=4 ms.
05-27/19:30:03 ERROR [pool-2-thread-4] MessageProcessor - Не удалось отправить сообщение пользовательского класса ru.reflexive.DispatchChargeMessage для подписки с id=10
java.lang.ArrayIndexOutOfBoundsException: -1
   at java.util.ArrayList.get(ArrayList.java:324)
   at ru.reflexive.DispatchChargeMessage.getMessageBody(DispatchChargeMessage.java:33)
   at ru.bitel.bgbilling.plugins.dispatch.server.bean.MessageProcessor.processMacro(MessageProcessor.java:156)
   at ru.bitel.bgbilling.plugins.dispatch.server.bean.MessageProcessor.send(MessageProcessor.java:232)
   at ru.bitel.bgbilling.plugins.dispatch.server.DispatchWorker.executeTask(DispatchWorker.java:101)
   at ru.bitel.bgbilling.kernel.task.server.TaskBase.run(TaskBase.java:74)
   at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:895)
   at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918)
   at java.lang.Thread.run(Thread.java:662)
05-27/19:30:05  INFO [pool-2-thread-4] DispatchWorker - Task finished time=1299 ms.
05-27/19:31:03  INFO [Thread-3] TaskExecuter - Starting periodic task #29: ru.bitel.bgbilling.plugins.dispatch.server.DispatchWorker
05-27/19:31:03  INFO [pool-2-thread-5] DispatchWorker - Task finished time=19 ms.
05-27/19:32:03  INFO [Thread-3] TaskExecuter - Starting periodic task #29: ru.bitel.bgbilling.plugins.dispatch.server.DispatchWorker
05-27/19:32:03  INFO [pool-2-thread-6] DispatchWorker - Task finished time=20 ms.
05-27/19:33:03  INFO [Thread-3] TaskExecuter - Starting periodic task #29: ru.bitel.bgbilling.plugins.dispatch.server.DispatchWorker
05-27/19:33:03  INFO [pool-2-thread-7] DispatchWorker - Task finished time=20 ms.

теперь так


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Рассылка по приходу
СообщениеДобавлено: 28 май 2014, 19:23 
Не в сети

Зарегистрирован: 15 фев 2011, 14:35
Сообщения: 172
Откуда: STAVROPOL
Карма: 5
Код:
package ru.skyb.scripts.behavior;

import org.apache.log4j.Logger;

//import java.sql.Connection;
import java.util.List;

import ru.bitel.bgbilling.kernel.event.Event;
import ru.bitel.bgbilling.kernel.script.server.dev.EventScriptBase;
import ru.bitel.bgbilling.server.util.Setup;
import ru.bitel.common.sql.ConnectionSet;

import ru.bitel.bgbilling.plugins.dispatch.common.bean.Contact;
import ru.bitel.bgbilling.plugins.dispatch.server.dao.ContactDao;

import com.logica.smpp.Connection;
import com.logica.smpp.Data;
import com.logica.smpp.pdu.BindRequest;
import com.logica.smpp.pdu.Response;
import com.logica.smpp.pdu.SubmitSM;
import com.logica.smpp.TCPIPConnection;
import com.logica.smpp.Session;
import com.logica.smpp.pdu.BindTransmitter;
import com.logica.smpp.util.ByteBuffer;

import ru.bitel.bgbilling.kernel.contract.balance.server.event.PaymentEvent;

public class SmsGetPayment extends EventScriptBase<PaymentEvent>
{
   private static final Logger logger = Logger.getLogger( SmsGetPayment.class );
   
   @Override
   public void onEvent( PaymentEvent event1, Setup setup2, ConnectionSet connectionSet )
      throws Exception
   {
      java.sql.Connection con = connectionSet.getConnection();

      logger.info( "SMS_PAYMENT_ALERT:Начало" );

      int SmsPort = ;
      String SmsServer = "92.";
      String SmsUser = "";
      String SmsPass = "";
      String OperatorName = "OOOTELEKOM";

      String messPayments = "Поступил платеж на сумму(руб.): ";

      ru.bitel.bgbilling.kernel.contract.balance.common.bean.Payment payment = event1.getPayment();
      //Получаем id договора
      int cid = payment.getContractId();
      //Получаем сумму платежа
      messPayments += payment.getSumma().toString();
            
      logger.info( "SMS_PAYMENT_ALERT:" + messPayments  );      
      logger.info( "SMS_PAYMENT_ALERT:Контракт " + cid  );   
   
      ContactDao cd = new ContactDao(con);
      List<Contact> nymber = cd.getContactsForContract(cid, 1);
      for( Contact c : nymber ){

      //OperatorName = c.getValue();

      Connection conn = new TCPIPConnection( SmsServer , SmsPort );
      conn.setReceiveTimeout(1000 * 60);
      Session session = new Session(conn);
      BindRequest breq = new BindTransmitter();
      Response resp = null;
      try {
         breq.setSystemId(SmsUser);
         breq.setPassword(SmsPass);
         resp = session.bind(breq);
 
         if (resp.getCommandStatus() == Data.ESME_ROK) {
            String message = messPayments;
            
            SubmitSM msg = new SubmitSM();
            ByteBuffer byteMessage = new ByteBuffer();
            byteMessage.appendString(message, "UTF-16BE");
            msg.setDataCoding((byte) 8);
            msg.setSourceAddr((byte) 0, (byte) 5, OperatorName );
            msg.setDestAddr((byte) 1, (byte) 1, c.getValue());
            msg.assignSequenceNumber(true);
            msg.setRegisteredDelivery((byte) 1);
            msg.setMessagePayload(byteMessage);

            logger.info( "SMS_PAYMENT_ALERT:Контакт " + c.getValue()  );   
 
            resp = session.submit(msg);
            session.unbind();
 
            if (resp.getCommandStatus() == Data.ESME_ROK) {
               System.out.println("Message submitted. Status="
                     + resp.getCommandStatus());
            } else {
               System.out.println("Message submission failed. Status="
                     + resp.getCommandStatus());
            }
         } else {
            System.out.println("Couldn't bind. Status="
                  + resp.getCommandStatus());
         }
      } catch (Exception e) {
         e.printStackTrace();
      }


      }


   }

}


У нас так


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Рассылка по приходу
СообщениеДобавлено: 30 май 2014, 13:02 
Не в сети
Аватара пользователя

Зарегистрирован: 27 янв 2010, 16:12
Сообщения: 941
Откуда: Уфа
Карма: 124
zavndw писал(а):
Код:
05-27/19:29:03  INFO [Thread-3] TaskExecuter - Starting periodic task #29: ru.bitel.bgbilling.plugins.dispatch.server.DispatchWorker
05-27/19:29:03  INFO [pool-2-thread-2] DispatchWorker - Task finished time=20 ms.
05-27/19:30:03  INFO [Thread-3] PaymentLoader - Loaded 1 file types.
05-27/19:30:03  INFO [Thread-3] TaskExecuter - Starting periodic task #24: bitel.billing.server.admin.integration.PaymentLoader
05-27/19:30:03  INFO [Thread-3] TaskExecuter - Starting periodic task #29: ru.bitel.bgbilling.plugins.dispatch.server.DispatchWorker
05-27/19:30:03  INFO [pool-2-thread-3] PaymentLoader - Task finished time=4 ms.
05-27/19:30:03 ERROR [pool-2-thread-4] MessageProcessor - Не удалось отправить сообщение пользовательского класса ru.reflexive.DispatchChargeMessage для подписки с id=10
java.lang.ArrayIndexOutOfBoundsException: -1
   at java.util.ArrayList.get(ArrayList.java:324)
   at ru.reflexive.DispatchChargeMessage.getMessageBody(DispatchChargeMessage.java:33)
   at ru.bitel.bgbilling.plugins.dispatch.server.bean.MessageProcessor.processMacro(MessageProcessor.java:156)
   at ru.bitel.bgbilling.plugins.dispatch.server.bean.MessageProcessor.send(MessageProcessor.java:232)
   at ru.bitel.bgbilling.plugins.dispatch.server.DispatchWorker.executeTask(DispatchWorker.java:101)
   at ru.bitel.bgbilling.kernel.task.server.TaskBase.run(TaskBase.java:74)
   at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:895)
   at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918)
   at java.lang.Thread.run(Thread.java:662)
05-27/19:30:05  INFO [pool-2-thread-4] DispatchWorker - Task finished time=1299 ms.
05-27/19:31:03  INFO [Thread-3] TaskExecuter - Starting periodic task #29: ru.bitel.bgbilling.plugins.dispatch.server.DispatchWorker
05-27/19:31:03  INFO [pool-2-thread-5] DispatchWorker - Task finished time=19 ms.
05-27/19:32:03  INFO [Thread-3] TaskExecuter - Starting periodic task #29: ru.bitel.bgbilling.plugins.dispatch.server.DispatchWorker
05-27/19:32:03  INFO [pool-2-thread-6] DispatchWorker - Task finished time=20 ms.
05-27/19:33:03  INFO [Thread-3] TaskExecuter - Starting periodic task #29: ru.bitel.bgbilling.plugins.dispatch.server.DispatchWorker
05-27/19:33:03  INFO [pool-2-thread-7] DispatchWorker - Task finished time=20 ms.

теперь так


Ругается на строку, где берется последний занесенный в БД расход (на который и произошло событие). Как будто не был добавлен расход на договор. Проверьте, добавился ли расход?

_________________
С уважением, Гареев Артур. Вежливый разработчик ООО "Бител".


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Рассылка по приходу (CRM)
СообщениеДобавлено: 02 июн 2014, 09:06 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 27 мар 2012, 11:59
Сообщения: 2676
Карма: 72
все понял, как передать на занесение прихода? с расходом работает, а у меня задача на поступление


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Рассылка по приходу (CRM)
СообщениеДобавлено: 02 июн 2014, 09:15 
Не в сети
Аватара пользователя

Зарегистрирован: 27 янв 2010, 16:12
Сообщения: 941
Откуда: Уфа
Карма: 124
zavndw писал(а):
все понял, как передать на занесение прихода? с расходом работает, а у меня задача на поступление


Сделайте по тому алгоритму, который я приводил ранее, но замените Charge на Payment и слово расход на приход. Там, в принципе, получится то же самое лишь с небольшой разницей.

_________________
С уважением, Гареев Артур. Вежливый разработчик ООО "Бител".


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Рассылка по приходу (CRM)
СообщениеДобавлено: 02 июн 2014, 12:38 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 27 мар 2012, 11:59
Сообщения: 2676
Карма: 72
Код:
package ru.reflexive;

import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.Date;
import java.util.List;

import ru.bitel.bgbilling.plugins.dispatch.server.bean.message.CustomDispatchMessage;
import ru.bitel.common.Utils;
import bitel.billing.server.contract.bean.BalanceUtils;
import bitel.billing.server.contract.bean.Payment;
import bitel.billing.server.contract.bean.PaymentManager;
import bitel.billing.server.contract.bean.Contract;


public class DispatchPaymentMessage extends CustomDispatchMessage
{
   @Override
   public String getMessageBody()
   {
      StringBuilder result = new StringBuilder( "Расход " );
      Contract contract = contractManager.getContractById( contractId );
      List<Payment> PaymentList = null;
      try
      {
         PaymentList = new PaymentManager( con ).getPaymentList( contractId );
      }
      catch( SQLException e )
      {
         e.printStackTrace();
      }
      Payment lastPayment = PaymentList.get( PaymentList.size() - 1 );
      result.append( Utils.formatBigDecimalSumm( lastPayment.getSumma() ) );
      result.append( " руб. с " + contract.getTitle() + " за " );
      try
      {
         String query = "select title from contract_Payment_types where id=" + lastPayment.getTypeId();
         PreparedStatement ps = con.prepareStatement( query );
         ResultSet rs = ps.executeQuery();
         if( rs.next() )
         {
            result.append( rs.getString( "title" ) );
         }
      }
      catch( SQLException e )
      {
         e.printStackTrace();
      }
      result.append( ", остаток на счете " + Utils.formatBigDecimalSumm( new BalanceUtils( con ).getBalance( new Date(), contract ) ) + " руб." );
      return result.toString();
   }
}

ругается на строки


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Рассылка по приходу (CRM)
СообщениеДобавлено: 02 июн 2014, 13:22 
Не в сети
Аватара пользователя

Зарегистрирован: 27 янв 2010, 16:12
Сообщения: 941
Откуда: Уфа
Карма: 124
Уточните, на что конкретно ругается.

_________________
С уважением, Гареев Артур. Вежливый разработчик ООО "Бител".


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Рассылка по приходу (CRM)
СообщениеДобавлено: 03 июн 2014, 05:49 
Не в сети
Клиент
Аватара пользователя

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

непонятно что ли, на строки :-D

_________________
Код:
  Клиент: вер. 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: Рассылка по приходу (CRM)
СообщениеДобавлено: 04 июн 2014, 18:06 
Не в сети
Аватара пользователя

Зарегистрирован: 27 янв 2010, 16:12
Сообщения: 941
Откуда: Уфа
Карма: 124
Получилось ли справится с задачей?

_________________
С уважением, Гареев Артур. Вежливый разработчик ООО "Бител".


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Рассылка по приходу (CRM)
СообщениеДобавлено: 04 июн 2014, 18:45 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 03 авг 2009, 18:42
Сообщения: 7166
Откуда: Благовещенск
Карма: 241
Artur писал(а):
Получилось ли справится с задачей?

За меня бы так волновались ))))

_________________
Код:
  Клиент: вер. 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: Рассылка по приходу (CRM)
СообщениеДобавлено: 06 июн 2014, 16:35 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 27 мар 2012, 11:59
Сообщения: 2676
Карма: 72
Artur писал(а):
Получилось ли справится с задачей?

нет, нашел где имя класса закосячил теперь не ругается но не приходит смс, в лог падает что что то делает но результат 0


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Рассылка по приходу (CRM)
СообщениеДобавлено: 09 июн 2014, 12:10 
Не в сети
Аватара пользователя

Зарегистрирован: 27 янв 2010, 16:12
Сообщения: 941
Откуда: Уфа
Карма: 124
Хотя бы этот лог приведите....

_________________
С уважением, Гареев Артур. Вежливый разработчик ООО "Бител".


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Рассылка по приходу (CRM)
СообщениеДобавлено: 09 июн 2014, 14:27 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 27 мар 2012, 11:59
Сообщения: 2676
Карма: 72
scheduler.log
Код:
06-09/20:22:01  INFO [Thread-3] TaskExecuter - Starting periodic task #29: ru.bitel.bgbilling.plugins.dispatch.server.DispatchWorker
06-09/20:22:03  INFO [pool-2-thread-2] DispatchWorker - Task finished time=2248 ms.

это после нажатия приход, в других логах чисто, но я не рестартил планировщик щас попробую
вот какой код получился
Код:
import java.util.List;

import ru.bitel.bgbilling.kernel.container.managed.ServerContext;
import ru.bitel.bgbilling.kernel.event.Event;
import ru.bitel.bgbilling.kernel.module.common.bean.User;
import ru.bitel.bgbilling.kernel.script.server.dev.EventScriptBase;
import ru.bitel.bgbilling.plugins.dispatch.common.DispatchService;
import ru.bitel.bgbilling.plugins.dispatch.common.bean.Subscription;
import ru.bitel.bgbilling.plugins.dispatch.common.bean.condition.DispatchEventCondition;
import ru.bitel.bgbilling.server.util.Setup;
import ru.bitel.common.sql.ConnectionSet;

public class DispatchCharge
   extends EventScriptBase
{
   @Override
   public void onEvent( Event event1, Setup setup2, ConnectionSet connectionSet3 )
      throws Exception
   {
      int dispatchId = 5;
      int contractId = event1.getContractId();
      ServerContext context = new ServerContext( setup2, connectionSet3, -1, User.USER_SERVER );
      DispatchService service = context.newService( DispatchService.class, -1 );
      List<Subscription> subscriptions = service.getSubscriptions( dispatchId, contractId );
      for( Subscription subscription : subscriptions )
      {
         subscription.getPreferences().set( DispatchEventCondition.EVENT_OCCURED_FLAG, "1" );
         service.updateSubscriptions( subscription );
      }
   }

}

смс то же не пришло


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Рассылка по приходу (CRM)
СообщениеДобавлено: 09 июн 2014, 16:22 
Не в сети
Аватара пользователя

Зарегистрирован: 27 янв 2010, 16:12
Сообщения: 941
Откуда: Уфа
Карма: 124
а через что смс отправляете? приходят ли смс через данную рассылку по другим условиям отправки? (например, по балансу)

_________________
С уважением, Гареев Артур. Вежливый разработчик ООО "Бител".


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Рассылка по приходу (CRM)
СообщениеДобавлено: 09 июн 2014, 16:59 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 27 мар 2012, 11:59
Сообщения: 2676
Карма: 72
через смсаиро заказывали доработку, да приходят, с таким кодом через некоторое время приходит смс но там старый текст (написанно расход) стоит сумма последнего расхода, что то я не доделал в коде, еще и второй скрипт не кинул
Код:
package ru.reflexive;

import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.Date;
import java.util.List;

import ru.bitel.bgbilling.plugins.dispatch.server.bean.message.CustomDispatchMessage;
import ru.bitel.common.Utils;
import bitel.billing.server.contract.bean.BalanceUtils;
import bitel.billing.server.contract.bean.Payment;
import bitel.billing.server.contract.bean.PaymentManager;
import bitel.billing.server.contract.bean.Contract;


public class DispatchChargeMessage extends CustomDispatchMessage
{
   @Override
   public String getMessageBody()
   {
      StringBuilder result = new StringBuilder( "Приход " );
      Contract contract = contractManager.getContractById( contractId );
      List<Payment> PaymentList = null;
      try
      {
         PaymentList = new PaymentManager( con ).getPaymentList( contractId );
      }
      catch( SQLException e )
      {
         e.printStackTrace();
      }
      Payment lastPayment = PaymentList.get( PaymentList.size() - 1 );
      result.append( Utils.formatBigDecimalSumm( lastPayment.getSumma() ) );
      result.append( " руб. с " + contract.getTitle() + " за " );
      try
      {
         String query = "select title from contract_Payment_types where id=" + lastPayment.getTypeId();
         PreparedStatement ps = con.prepareStatement( query );
         ResultSet rs = ps.executeQuery();
         if( rs.next() )
         {
            result.append( rs.getString( "title" ) );
         }
      }
      catch( SQLException e )
      {
         e.printStackTrace();
      }
      result.append( ", остаток на счете " + Utils.formatBigDecimalSumm( new BalanceUtils( con ).getBalance( new Date(), contract ) ) + " руб." );
      return result.toString();
   }
}

может приложение сервера перегрузить?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Рассылка по приходу (CRM)
СообщениеДобавлено: 09 июн 2014, 17:12 
Не в сети
Аватара пользователя

Зарегистрирован: 27 янв 2010, 16:12
Сообщения: 941
Откуда: Уфа
Карма: 124
Сходу ошибок не вижу. попробуйте выводить в лог ход формирования сообщения. Начните с того, что проверьте, заходит ли в метод send()

_________________
С уважением, Гареев Артур. Вежливый разработчик ООО "Бител".


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Рассылка по приходу (CRM)
СообщениеДобавлено: 24 мар 2015, 15:31 
Не в сети

Зарегистрирован: 31 янв 2013, 12:36
Сообщения: 157
Карма: 0
При занесении платежа в логах выполнения скрипта следующее:
Код:
GENERATE_TIME: 24.03.15 16:28:56
EXECUTION_STOP_TIME: 24.03.15 16:28:56
PROCESS_TIME: 12

OUT:


EXCEPTIONS:
Sourced file: Function [id:4; title:ru.reflexive.DispatchCharge] Token Parsing Error: Lexical error at line 18, column 10.  Encountered: "O" (79), after : "@": <at unknown location>

java.util.concurrent.ExecutionException: Sourced file: Function [id:4; title:ru.reflexive.DispatchCharge] Token Parsing Error: Lexical error at line 18, column 10.  Encountered: "O" (79), after : "@": <at unknown location>

   at java.util.concurrent.FutureTask.report(FutureTask.java:122)
   at java.util.concurrent.FutureTask.get(FutureTask.java:202)
   at ru.bitel.bgbilling.kernel.script.server.ScriptEventListener$ThreadedScriptEventListener.runScript(ScriptEventListener.java:466)
   at ru.bitel.bgbilling.kernel.script.server.ScriptEventListener.runScript(ScriptEventListener.java:310)
   at ru.bitel.bgbilling.kernel.script.server.ScriptEventListener.notify(ScriptEventListener.java:277)
   at ru.bitel.bgbilling.kernel.event.AbstractConsumer.notify(AbstractConsumer.java:345)
   at ru.bitel.bgbilling.kernel.event.Consumer.notify(Consumer.java:1)
   at ru.bitel.bgbilling.kernel.event.Consumer.onMessage0(Consumer.java:112)
   at ru.bitel.bgbilling.kernel.event.Consumer$EventListenerRunnable.runImpl(Consumer.java:51)
   at ru.bitel.common.worker.WorkerTask.run(WorkerTask.java:86)
   at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
   at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
   at java.lang.Thread.run(Thread.java:745)
   at ru.bitel.common.worker.WorkerThread.run(WorkerThread.java:46)
Caused by: Sourced file: Function [id:4; title:ru.reflexive.DispatchCharge] Token Parsing Error: Lexical error at line 18, column 10.  Encountered: "O" (79), after : "@": <at unknown location>

   at bsh.Interpreter.eval(Interpreter.java:707)
   at ru.bitel.bgbilling.kernel.script.server.bean.ScriptInstance.eval(ScriptInstance.java:323)
   at ru.bitel.bgbilling.kernel.script.server.ScriptEventListener$Worker.runScriptImpl(ScriptEventListener.java:99)
   at ru.bitel.bgbilling.kernel.script.server.ScriptEventListener.runScript(ScriptEventListener.java:353)
   at ru.bitel.bgbilling.kernel.script.server.ScriptEventListener$ThreadedScriptEventListener.access$0(ScriptEventListener.java:1)
   at ru.bitel.bgbilling.kernel.script.server.ScriptEventListener$ThreadedScriptEventListener$1.call(ScriptEventListener.java:454)
   at java.util.concurrent.FutureTask.run(FutureTask.java:262)
   ... 4 more



ругается на @Override


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Рассылка по приходу (CRM)
СообщениеДобавлено: 24 мар 2015, 15:34 
Не в сети
Аватара пользователя

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

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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Рассылка по приходу (CRM)
СообщениеДобавлено: 24 мар 2015, 15:37 
Не в сети
Аватара пользователя

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

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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Рассылка по приходу (CRM)
СообщениеДобавлено: 24 мар 2015, 15:56 
Не в сети

Зарегистрирован: 31 янв 2013, 12:36
Сообщения: 157
Карма: 0
Да на приход, чет не понял тогда что я не так сделал


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 48 ]  На страницу 1, 2  След.

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


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

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


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

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