BiTel

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

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




Начать новую тему Ответить на тему  [ Сообщений: 70 ]  На страницу Пред.  1, 2, 3
Автор Сообщение
 Заголовок сообщения:
СообщениеДобавлено: 22 июн 2009, 15:30 
Не в сети

Зарегистрирован: 21 июн 2009, 16:01
Сообщения: 13
Карма: 0
Amir писал(а):
А сейчас ругается точно не на contract_status == KernelConst.CONTRACT_STATUS_SUSPENDED ?

вот лог работы скрипта.
Код:
ID события: bgbs.contract.script.error
Время регистрации события: 22.06.2009 14:29:17

Contract z051
GENERATE_TIME: 22.06.09 14:29:17
EXECUTION_STOP_TIME: 22.06.09 14:29:17
PROCESS_TIME: 15

OUT:


ERROR:


EXCEPTIONS:
Sourced file: Function [id:1; title:2222] : Invalid types in binary operator : at Line: 40 : in file: Function [id:1; title:2222] : ) && ( contract_status == KernelConst .CONTRACT_STATUS_ACTIVE ) ) {

java.util.concurrent.ExecutionException: Sourced file: Function [id:1; title:2222] : Invalid types in binary operator : at Line: 40 : in file: Function [id:1; title:2222] : ) && ( contract_status == KernelConst .CONTRACT_STATUS_ACTIVE ) ) {

at java.util.concurrent.FutureTask$Sync.innerGet(Unknown Source)
at java.util.concurrent.FutureTask.get(Unknown Source)
at bitel.billing.server.script.bean.ScriptMachine$ThreadedScriptMachine.runScriptImpl(ScriptMachine.java:336)
at bitel.billing.server.script.bean.ScriptMachine.runScript(ScriptMachine.java:124)
at bitel.billing.server.script.bean.event.EventProcessor.processEvent(EventProcessor.java:238)
at bitel.billing.server.contract.action.ActionUpdateContractPayment.doAction(ActionUpdateContractPayment.java:173)
at bitel.billing.server.Executer.doModule(Executer.java:740)
at bitel.billing.server.Executer.doPost(Executer.java:190)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at bitel.billing.server.filters.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:37)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:568)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:845)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
at java.lang.Thread.run(Unknown Source)
Caused by: Sourced file: Function [id:1; title:2222] : Invalid types in binary operator : at Line: 40 : in file: Function [id:1; title:2222] : ) && ( contract_status == KernelConst .CONTRACT_STATUS_ACTIVE ) ) {

at bsh.UtilEvalError.toEvalError(Unknown Source)
at bsh.UtilEvalError.toEvalError(Unknown Source)
at bsh.BSHBinaryExpression.eval(Unknown Source)
at bsh.BSHPrimaryExpression.eval(Unknown Source)
at bsh.BSHPrimaryExpression.eval(Unknown Source)
at bsh.BSHBinaryExpression.eval(Unknown Source)
at bsh.BSHIfStatement.evaluateCondition(Unknown Source)
at bsh.BSHIfStatement.eval(Unknown Source)
at bsh.Interpreter.eval(Unknown Source)
at ru.bitel.bgbilling.kernel.script.server.bean.ScriptInstance.eval(ScriptInstance.java:310)
at bitel.billing.server.script.bean.ScriptMachine$SimpleScriptRunner.runScript(ScriptMachine.java:65)
at bitel.billing.server.script.bean.ScriptMachine.runScriptImpl(ScriptMachine.java:185)
at bitel.billing.server.script.bean.ScriptMachine$ThreadedScriptMachine.access$0(ScriptMachine.java:1)
at bitel.billing.server.script.bean.ScriptMachine$ThreadedScriptMachine$1.call(ScriptMachine.java:328)
at bitel.billing.server.script.bean.ScriptMachine$ThreadedScriptMachine$1.call(ScriptMachine.java:1)
at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source)
at java.util.concurrent.FutureTask.run(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
... 1 more


WARNINGS:


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 29 июн 2009, 22:44 
Не в сети

Зарегистрирован: 21 июн 2009, 16:01
Сообщения: 13
Карма: 0
ну кто нибуть мне подскажет в чем тут беда ?
пробывал по разному ставить условие . если в условии ставить числа то никаких ошибок нету как только ставишь чтото кроме цифр сразу ошибка (

ужи и билинг пробывал обновить и яву переустановил. ниче не помогло.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 30 июн 2009, 13:40 
Не в сети
Разработчик
Аватара пользователя

Зарегистрирован: 19 дек 2006, 21:04
Сообщения: 5970
Карма: 256
Попробуйте до
if (status != null)
{contract_status = status.getStatus();}

прописать
int contract_status;
или
contract_status = -1;


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 03 июл 2009, 02:06 
Не в сети

Зарегистрирован: 21 июн 2009, 16:01
Сообщения: 13
Карма: 0
Amir писал(а):
Попробуйте до
if (status != null)
{contract_status = status.getStatus();}

прописать
int contract_status;
или
contract_status = -1;

попробывал .... реакция таже (
даже попробывал из скрипта убрать все кроме получения баланса и лимита потом print и следом условие.
значения и баланса и лимита выводит .
следом же условие и опять стопор (
Код:
 Invalid types in binary operator :

причем если в условии поставить == то ано почему то выполняется....


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 03 июл 2009, 13:56 
Не в сети

Зарегистрирован: 16 апр 2009, 00:12
Сообщения: 62
Карма: 0
Скорее всего проблема здесь
Код:
if ((contract_balance < contract_limit) .....

Я как-то ковырялся с этим, принтил переменные. Новые getBalanceLimit() выдает значение 0.0, а balance.getBalance выдает 100.00 Как я понял - первая типа float, вторая double. Пытался их превести к одниму виду, не получалось. В итоге убрал временно проверку лимита, для моей задачи это было не особо критично. Давайте вместе думать, как эти две переменные подружить.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 03 июл 2009, 21:30 
Не в сети

Зарегистрирован: 21 июн 2009, 16:01
Сообщения: 13
Карма: 0
Chaos писал(а):
Скорее всего проблема здесь
Код:
if ((contract_balance < contract_limit) .....

Я как-то ковырялся с этим, принтил переменные. Новые getBalanceLimit() выдает значение 0.0, а balance.getBalance выдает 100.00 Как я понял - первая типа float, вторая double. Пытался их превести к одниму виду, не получалось. В итоге убрал временно проверку лимита, для моей задачи это было не особо критично. Давайте вместе думать, как эти две переменные подружить.

я только за.
просто у меня как раз и нужно сделать проверку поэтому и мучиюсь с этим ((

было бы еще неплохо если бы господа разработчики подкинули какую нибуть умную идею по этому поводу.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 03 июл 2009, 22:10 
Не в сети
Разработчик

Зарегистрирован: 07 апр 2007, 23:51
Сообщения: 4489
Откуда: Уфа, Россия
Карма: 186
contract.getBalanceLimit().floatValue() > balanceUtils.getBalance( Date time, int cid ).floatValue()


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 03 июл 2009, 23:51 
Не в сети

Зарегистрирован: 21 июн 2009, 16:01
Сообщения: 13
Карма: 0
skn писал(а):
contract.getBalanceLimit().floatValue() > balanceUtils.getBalance( Date time, int cid ).floatValue()

спасибо за ответ.
прям до вашего мообщения сделал сам =) но немного подругому
Код:
if (contract_balance.floatValue() > contract_limit.floatValue() )


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 21 июл 2009, 01:18 
Не в сети

Зарегистрирован: 20 окт 2008, 12:14
Сообщения: 121
Карма: 3
Давненько не заходил, в 4.6 разработчики наконец исправили много глюков, и то что делалось раньше через одно место сейчас работает
Код:
import bitel.billing.server.call.bean.Login;
import bitel.billing.server.radius.*;
import bitel.billing.server.contract.bean.*;
import bitel.billing.server.script.event.*;
import bitel.billing.common.KernelConst;
import java.util.*;

//ID абонента CID
cid = event.getContractID();
date = event.getGenerateTime().clone();

contract = new ContractManager(con).getContractByID(cid);
if (contract == null)
   {return;}
//Лимит абонента
contract_limit = contract.getBalanceLimit().floatValue();
//Баланс абонента
balance = new BalanceUtils( con );
contract_balance = balance.getBalance ( date.getTime(), cid ).floatValue();
//Статус абонента
ContractStatusManager statusManager  = new ContractStatusManager( con );
status = statusManager.getStatus( cid, date );
if (status != null)
   {contract_status = status.getStatus();}
else
   {
      ContractStatus status = new ContractStatus();
      status.setContractId( cid );
      status.setDate1( date );
      status.setDate2( null );
      status.setStatus( KernelConst.CONTRACT_STATUS_ACTIVE );
      status.setComment( "Смена статуса сервером" );
      statusManager.changeStatus( status, 0 );
      contract_status = status.getStatus();
   };
if (contract_balance < contract_limit && contract_status == KernelConst.CONTRACT_STATUS_ACTIVE)
   {
      ContractStatus status = new ContractStatus();
      status.setContractId( cid );
      status.setDate1( date );
      status.setDate2( null );
      status.setStatus( KernelConst.CONTRACT_STATUS_SUSPENDED );
      status.setComment( "Смена статуса сервером - приостановка" );
      statusManager.changeStatus( status, 0 );
   };
if (contract_balance > contract_limit && contract_status == KernelConst.CONTRACT_STATUS_SUSPENDED)
   {
      ContractStatus status = new ContractStatus();
      status.setContractId( cid );
      status.setDate1( date );
      status.setStatus( KernelConst.CONTRACT_STATUS_ACTIVE );
      status.setComment( "Смена статуса сервером - активен" );
      statusManager.changeStatus( status, 0 );
   };
if ( statusManager.getStatus(cid, date).getStatus() == KernelConst.CONTRACT_STATUS_ACTIVE )
   {
      status.setContractId( cid );
      status.setStatus( KernelConst.CONTRACT_STATUS_ACTIVE );
      statusManager.setContractStatus ( status );
   };
if ( statusManager.getStatus(cid, date).getStatus() == KernelConst.CONTRACT_STATUS_SUSPENDED )
   {
      status.setContractId( cid );
      status.setStatus( KernelConst.CONTRACT_STATUS_ACTIVE );
      statusManager.setContractStatus ( status );
   };

Осталось придумать как день лишний не захватывать )))


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 21 июл 2009, 03:12 
Не в сети
Аватара пользователя

Зарегистрирован: 23 мар 2009, 23:16
Сообщения: 780
Откуда: St.Petersburg
Карма: 0
О каком дне идет речь?


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

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


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

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


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

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