BiTel

Форум BiTel
bgbilling.ru     docs.bitel.ru     wiki.bitel.ru     dbinfo.bitel.ru     bgcrm.ru     billing.bitel.ru     bitel.ru    
Текущее время: 23 июн 2025, 12:48

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




Начать новую тему Ответить на тему  [ Сообщений: 3 ] 
Автор Сообщение
 Заголовок сообщения: Варнинг в скрипте на мыло
СообщениеДобавлено: 29 мар 2012, 23:05 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 08 мар 2007, 20:44
Сообщения: 1570
Откуда: Челябинск
Карма: 18
Добрый день подскажите плиз кто шарит в яве, имеется вот такой скрипт:
Код:
import java.util.*;
import java.lang.*;
import java.text.*;
import java.util.regex.*;
import java.util.regex.*;
import bitel.billing.server.script.bean.*;
import bitel.billing.server.util.telnet.*;
import bitel.billing.server.phone.bean.*;
import bitel.billing.server.contract.bean.*;

import com.stalker.CGPro.*;
String ats_addr="xx.xx.xx.xx";
int ats_port=106;
String ats_login="xxxxxxxxxx";
String ats_password="xxxxxxxxxx";
CGProCLI cli;

Hashtable num_acc_table= new Hashtable();

public class NumNotFoundEx extends Exception{
   NumNotFoundEx(String message){
   super(message);
   }
}

public void setAccount(String phone,boolean state){
        cli=new CGProCLI(ats_addr,ats_port,ats_login,ats_password);
        String account=FindAccount(phone);
        String[ ] parts=account.split("@");
        String domain=parts[parts.length-1];

        //Create settings hashtable
        SimpleDateFormat formatter = new SimpleDateFormat("[dd/MM/yyyy HH:mm]");
        String date = formatter.format(new Date());
        Hashtable settings = new Hashtable(1);
        if (state)
           settings.put("Status","OPEN "+date + " by billing");
        else
          settings.put("Status","CLOSED "+date+ " by billing");

        //find groups
        String group = "group."+account;
        try {
           Hashtable GroupTable = cli.getGroup(group);
           Vector members=(Vector)GroupTable.get("Members");
           for(Enumeration e = members.elements(); e.hasMoreElements();) {
              String key=(String)e.nextElement();
              cli.updateAccountSettings(key+"@"+domain, settings);
              print("group: "+key+"@"+domain + settings);
           }
           if (state) {
              String account_wo_domain = account.replaceAll("@.*","");
              cli.sendCommand("updateAccountSignalRule "+account+" DELETE _CLOSED");
              print("updateAccountSignalRule "+account+" DELETE _CLOSED");
           }else {
              cli.sendCommand("updateAccountSignalRule "+account+" (100010,\"_CLOSED\",(),((\"Redirect to\",\"#block_play\")))");
              print("updateAccountSignalRule "+account+" (100010,\"_CLOSED\",(),((\"Redirect to\",\"#block_play\")))");
           }
         }catch(CGProException e) {
           cli.updateAccountSettings(account, settings);
           print(account + settings);
           if (state) {
              cli.sendCommand("updateAccountSignalRule "+account+" DELETE _CLOSED");
              print("updateAccountSignalRule "+account+" DELETE _CLOSED");
           } else {
              cli.sendCommand("updateAccountSignalRule "+account+" (100010,\"_CLOSED\",(),((\"Redirect to\",\"#block_play\")))");
              print("updateAccountSignalRule "+account+" (100010,\"_CLOSED\",(),((\"Redirect to\",\"#block_play\")))");

           }
        }

        cli.logout();
}

public FindAllAccount(){
   cli=new CGProCLI(ats_addr,ats_port,ats_login,ats_password);
   String target_accout= "null";
   String tel="";
   Vector domains=cli.listDomains();
   for(Iterator e = domains.iterator(); e.hasNext();) {
        String domain=(String)e.next();
        Hashtable accounts=cli.listAccounts(domain);
        Enumeration k = accounts.keys();
        while (k.hasMoreElements()) {
           String key = (String) k.nextElement();
           Vector telnums =cli.getAccountTelnums(key + "@" + domain);
           for(Iterator t = telnums.iterator(); t.hasNext();) {
               tel=(String)t.next();
               target_accout = key + "@" + domain;
               num_acc_table.put(tel,key + "@" + domain);
            }
        }
    }
   cli.logout();
}

public String FindAccount(String phonenumber){
   String target_accout= "null";
   Enumeration k = num_acc_table.keys();
   while (k.hasMoreElements()) {
      String tel=(String) k.nextElement();
      Pattern myPattern = Pattern.compile(phonenumber);
      Matcher myMatcher = myPattern.matcher(tel);
      if (myMatcher.find()) {
          target_accout = num_acc_table.get(tel);
          return target_accout;
      }
   }
    throw(new NumNotFoundEx("Phone numer not found: "+phonenumber));
}

public void onEvent(event,setup,con,conSlave){
 try {
   int cid=event.getContractID();
   int status=event.getStatus().getStatus();
   FindAllAccount();
   ClientItemManager clim = new ClientItemManager(con,14);
   List points = clim.getItemList(cid);
   for(Iterator it=points.iterator(); it.hasNext();){
     ClientItem point=it.next();
     List numbers=point.getClientNumbers();
     Calendar currentDate=Calendar.getInstance();
     Calendar beforeDate=point.getDate1();
     Calendar afterDate=point.getDate2();
     if (((beforeDate == null) || (currentDate.compareTo(beforeDate)>=0)) &&
         ((afterDate == null) || (currentDate.compareTo(afterDate)<=0))){
         num_it=numbers.iterator();
         while(num_it.hasNext()){
            try{
               if(status == 0)
                  setAccount(num_it.next(),true);
               else
                  setAccount(num_it.next(),false);

            }catch(NumNotFoundEx x){
               if(cli!=null)
                  cli.logout();
               error(x.getMessage());
            }
         }
     }
   }
 }catch(Exception x) {
    if(cli!=null)
       cli.logout();
    error(x.getMessage());
 }

   return;
}

И вот после пеерезда с 5.0 на 5.1 в почту стало валиться вот такие письма
Код:
ID события: bgbs.contract.script.error
Время регистрации события: 27.03.2012 12:21:06

Contract ТФ-11-0008-С
GENERATE_TIME: 27.03.12 12:20:31
EXECUTION_STOP_TIME: 27.03.12 12:21:06
PROCESS_TIME: 35326

OUT:
2220104@xxxxxxxxxx{Status=OPEN [27/03/2012 12:21] by billing}
updateAccountSignalRule 2220104@xxxxxxxxxx DELETE _CLOSED
2220108@xxxxxxxxxx{Status=OPEN [27/03/2012 12:21] by billing}
updateAccountSignalRule 2220108@xxxxxxxxxx DELETE _CLOSED


WARNINGS:
Function [id:14; title:Communigate]: using deprecated method [public int bitel.billing.server.script.bean.event.Event.getContractID()]

Собственно подскажите плиз как убрать варнинг?
Заранее спасибо.

_________________
Интернет и телефония оптом со склада, или в розницу


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Варнинг в скрипте на мыло
СообщениеДобавлено: 29 мар 2012, 23:49 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 29 мар 2010, 23:11
Сообщения: 5854
Карма: 472
Код:
getContractId()

Маленькое d

и сразу причислился к шарящим в яве 8)

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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Варнинг в скрипте на мыло
СообщениеДобавлено: 30 мар 2012, 13:59 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 08 мар 2007, 20:44
Сообщения: 1570
Откуда: Челябинск
Карма: 18
Спасибо, понял попробую...

_________________
Интернет и телефония оптом со склада, или в розницу


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

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


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

Сейчас этот форум просматривают: Google [Bot] и гости: 1


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

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