forum.bitel.ru http://forum.bitel.ru/ |
|
как реализовать скрипт (понижение лимита)? http://forum.bitel.ru/viewtopic.php?f=22&t=3829 |
Страница 1 из 1 |
Автор: | Alkazar [ 08 апр 2010, 19:14 ] |
Заголовок сообщения: | как реализовать скрипт (понижение лимита)? |
Пытаюсь написать скрипт понижения лимита на 10 дней и последующего восстановления. Сам в программировании не силен. Написал по мотивам Снижение лимита при внесении расхода вот это: Код: import bitel.billing.server.contract.bean.*; import java.util.*; import bitel.billing.server.util.*; import bitel.billing.common.TimeUtils; import bitel.billing.server.script.bean.event.EventProcessor; import bitel.billing.server.script.bean.event.PaymentEvent; import java.math.BigDecimal; if( event.getFlag() != 1 ) { return; }; int cid = event.getContractID(); cm = new ContractManager( con ); c = cm.getContractByID( cid ); int cid = c.getID(); limit = 1000; period = 10; LimitManager limitManager = new LimitManager(con); //меняем лимит: limitManager.updateContractLimit(0, limit, cid, "понижение лимита", String.valueOf(period)); //добавляем задание на возвращение лимита: Calendar dt = new GregorianCalendar(); dt.add(6, period); task = new LimitChangeTask(); task.setContractId(cid); task.setDate(dt); task.setUserId(uid); task.setSubSumm(limit); limitManager.addMoveTask(task); Выполняется с ошибкой Код: GENERATE_TIME: 08.04.10 16:53:01 EXECUTION_STOP_TIME: 08.04.10 16:53:01 PROCESS_TIME: 24 OUT: ERROR: EXCEPTIONS: Sourced file: Function [id:5; title:Понижение лимита на 10 дней] : Error in method invocation: Method updateContractLimit( int, int, int, java.lang.String, java.lang.String ) not found in class'bitel.billing.server.contract.bean.LimitManager' : at Line: 30 : in file: Function [id:5; title:Понижение лимита на 10 дней] : limitManager .updateContractLimit ( 0 , limit , cid , "понижение лимита" , String .valueOf ( period ) ) java.util.concurrent.ExecutionException: Sourced file: Function [id:5; title:Понижение лимита на 10 дней] : Error in method invocation: Method updateContractLimit( int, int, int, java.lang.String, java.lang.String ) not found in class'bitel.billing.server.contract.bean.LimitManager' : at Line: 30 : in file: Function [id:5; title:Понижение лимита на 10 дней] : limitManager .updateContractLimit ( 0 , limit , cid , "понижение лимита" , String .valueOf ( period ) ) at java.util.concurrent.FutureTask$Sync.innerGet(FutureTask.java:232) at java.util.concurrent.FutureTask.get(FutureTask.java:91) at bitel.billing.server.script.bean.ScriptMachine$ThreadedScriptMachine.runScriptImpl(ScriptMachine.java:359) at bitel.billing.server.script.bean.ScriptMachine.runScript(ScriptMachine.java:128) at bitel.billing.server.script.bean.event.EventProcessor.processEvent(EventProcessor.java:239) at bitel.billing.server.script.bean.event.EventProcessor.processEvent(EventProcessor.java:182) at bitel.billing.server.script.bean.event.EventProcessor.run(EventProcessor.java:140) Caused by: Sourced file: Function [id:5; title:Понижение лимита на 10 дней] : Error in method invocation: Method updateContractLimit( int, int, int, java.lang.String, java.lang.String ) not found in class'bitel.billing.server.contract.bean.LimitManager' : at Line: 30 : in file: Function [id:5; title:Понижение лимита на 10 дней] : limitManager .updateContractLimit ( 0 , limit , cid , "понижение лимита" , String .valueOf ( period ) ) at bsh.BSHMethodInvocation.eval(Unknown Source) at bsh.BSHPrimaryExpression.eval(Unknown Source) at bsh.BSHPrimaryExpression.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:69) at bitel.billing.server.script.bean.ScriptMachine.runScriptImpl(ScriptMachine.java:189) 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:349) at bitel.billing.server.script.bean.ScriptMachine$ThreadedScriptMachine$1.call(ScriptMachine.java:1) at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303) at java.util.concurrent.FutureTask.run(FutureTask.java:138) at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) at java.lang.Thread.run(Thread.java:619) WARNINGS: Не могу понять почему не найден метод updateContractLimit в классе bitel.billing.server.contract.bean.LimitManager ? |
Автор: | dimOn [ 08 апр 2010, 19:39 ] |
Заголовок сообщения: | Re: как реализовать скрипт (понижение лимита)? |
Потмоу что внимательнее гляньте в JavaDoc, там и нет такого метода |
Автор: | dimOn [ 08 апр 2010, 19:41 ] |
Заголовок сообщения: | Re: как реализовать скрипт (понижение лимита)? |
Там есть метод Код: public void updateContractLimit( int uid, BigDecimal newValue, int cid, String comment, String days ) и limit должен быть не целым, а BigDecimal попробуйте так Код: limitManager.updateContractLimit(0, new BigDecimal( limit ), cid, "понижение лимита", String.valueOf(period));
|
Страница 1 из 1 | Часовой пояс: UTC + 5 часов [ Летнее время ] |
Powered by phpBB® Forum Software © phpBB Group http://www.phpbb.com/ |