forum.bitel.ru http://forum.bitel.ru/ |
|
Скрипт работает но шлет ошибки. http://forum.bitel.ru/viewtopic.php?f=5&t=2190 |
Страница 1 из 1 |
Автор: | supp [ 15 апр 2009, 11:39 ] |
Заголовок сообщения: | Скрипт работает но шлет ошибки. |
Код скрипта: import bitel.billing.server.contract.bean.*; import bitel.billing.server.util.*; import java.util.*; import java.math.*; VPN_MID = 1; CHARGE_TYPE = 6; bu = new BalanceUtils( con ) ; cm = new ContractManager( con ); chm = new ChargeManager( con ); ctm = new ContractTariffManager( con ); event.setProcessed( true ); if( event.getRequestDate() == null ) { error( "event.requestDate() == null" ); return; } cid = event.getContractID(); contract = cm.getContractByID( cid ); if( contract == null ) { error( "Contract with ID " + cid + " was not found!" ); return; } date_clndr = (Calendar)event.getRequestDate(); date = date_clndr.getTime(); currentTariff = ctm.getContractTariff( cid, date_clndr ); if( currentTariff == null ) { error( "Current tariff was not found!" ); return; } PAY = 0; tpid = currentTariff.getTariffPlanID(); if( tpid == 7 ) { PAY = 100; } else if ( tpid == 13 ) { PAY = 150; } else if ( tpid == 8 ) { PAY = 200; } else if ( tpid == 34 ) { PAY = 400; } else if ( tpid == 35 ) { PAY = 500; } else if ( tpid == 29 ) { PAY = 700; } else if ( tpid == 28 ) { PAY = 900; } else if ( tpid == 30 ) { PAY = 1300; } else if ( tpid == 31 ) { PAY = 1500; } else if ( tpid == 32 ) { PAY = 250; } else if ( tpid == 33 ) { PAY = 350; } else { error( "Incorrect current tariff!" ); return; } balance = bu.getBalance( date, cid ); if( balance.intValue() < PAY ) { error( "Not enough money to open a period!!" ); return; } charge = new Charge(); charge.setContractID( cid ); charge.setDate( date_clndr ); charge.setChargeTypeID( CHARGE_TYPE ); charge.setComment( "по тарифу за текущий месяц." ); charge.setSumma( PAY ); chm.updateCharge( "new", charge ); bu.updateBalance( date, cid ); date_start = new GregorianCalendar(); date_start.setTime( date ); date_end = (Calendar)date_start.clone(); date_end.set(Calendar.DATE, date_end.getActualMaximum(Calendar.DATE) ); event.setPeriodStart( date_start ); event.setPeriodEnd( date_end ); print( "PAY = " + PAY ); А вот ошибки: Contract K010667 GENERATE_TIME: 14.04.09 21:00:46 EXECUTION_STOP_TIME: 14.04.09 21:00:46 PROCESS_TIME: 30 OUT: PAY = 500 ERROR: EXCEPTIONS: WARNINGS: Function [id:19; title:начисление]: using deprecated function [public void bitel.billing.server.contract.bean.Charge.setSumma(float)] Function [id:19; title:начисление]: using deprecated function [public void bitel.billing.server.contract.bean.Charge.setDate(java.util.Calendar)] Как лечить? |
Автор: | Администратор [ 15 апр 2009, 11:49 ] |
Заголовок сообщения: | |
http://www.bgbilling.ru/v4.5/javadoc/bi ... harge.html Поменяйте функции на не Deprecated аналоги. |
Автор: | supp [ 15 апр 2009, 12:29 ] |
Заголовок сообщения: | |
Как? функции вроде те. |
Автор: | skn [ 15 апр 2009, 14:52 ] |
Заголовок сообщения: | |
setDate( Calendar ) на setChargeDate( Date date ) setSumma(float) на setChargeSumma( BigDecimal summa ) |
Автор: | supp [ 15 апр 2009, 19:10 ] |
Заголовок сообщения: | |
А где вы видите setDate( Calendar ) и setSumma(float)??? |
Автор: | Amir [ 15 апр 2009, 20:06 ] |
Заголовок сообщения: | |
Это не ошибка, а предупреждение. API биллинга постоянно меняется и устаревшие методы помечаются как deprecated. Т.к. они устарели и могут быть когда-то в будущем удалены совсем - рекомендуется изменять скрипт под новые методы. Поэтому выдается предупреждение. Цитата: Код: charge = new Charge(); charge.setContractID( cid ); charge.setDate( date_clndr ); charge.setChargeTypeID( CHARGE_TYPE ); charge.setComment( "по тарифу за текущий месяц." ); charge.setSumma( PAY ); Код: charge = new Charge();
charge.setContractID( cid ); charge.setChargeDate( date ); charge.setChargeTypeID( CHARGE_TYPE ); charge.setComment( "по тарифу за текущий месяц." ); charge.setChargeSumma( new BigDecimal( PAY ) ); |
Автор: | supp [ 15 апр 2009, 20:13 ] |
Заголовок сообщения: | |
А может АПИ менять ненужно... за изменениями нереально следить. Тем более описаний нет никаких. Вы позиционируете как оч. гибкая и настраиваемая система. А как настраивать и что ??? простите но такое ощущение что вы Биллинг для себя пишете. (больше описаний, больше). |
Автор: | supp [ 15 апр 2009, 20:22 ] |
Заголовок сообщения: | |
теперь вообще: Contract K000009 GENERATE_TIME: 15.04.09 18:19:08 EXECUTION_STOP_TIME: 15.04.09 18:19:15 PROCESS_TIME: 18 OUT: ERROR: EXCEPTIONS: Sourced file: inline evaluation of: ``import bitel.billing.server.contract.bean.*; import bitel.billing.server.util.* . . . '' : Error in method invocation: Method setChargeSumma( java.math.BigDecimal ) not found in class'bitel.billing.server.contract.bean.Charge'Sourced file: inline evaluation of: ``import bitel.billing.server.contract.bean.*; import bitel.billing.server.util.* . . . '' : Error in method invocation: Method setChargeSumma( java.math.BigDecimal ) not found in class'bitel.billing.server.contract.bean.Charge' : at Line: 89 : in file: inline evaluation of: ``import bitel.billing.server.contract.bean.*; import bitel.billing.server.util.* . . . '' : charge .setChargeSumma ( new BigDecimal ( PAY ) ) 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 bsh.Interpreter.eval(Unknown Source) at bsh.Interpreter.eval(Unknown Source) at bitel.billing.server.script.bean.ScriptMachine.runScript(ScriptMachine.java:158) at bitel.billing.server.script.bean.event.EventProcessor.processEvent(EventProcessor.java:248) at bitel.billing.server.processor.dialup.DialUpSessionRealtime.setCalculatePeriod(DialUpSessionRealtime.java:1381) at bitel.billing.server.processor.dialup.DialUpProcessor.connectModule(DialUpProcessor.java:185) at bitel.billing.server.processor.DefaultProcessor.connect(DefaultProcessor.java:591) at bitel.billing.server.processor.dialup.DialUpProcessor.authentification(DialUpProcessor.java:819) at bitel.billing.server.processor.DefaultProcessor.standartAuth(DefaultProcessor.java:153) at bitel.billing.server.processor.dialup.DialUpProcessor.authenticationProcess(DialUpProcessor.java:106) at bitel.billing.server.radius.RadiusRequestThread.processRequest(RadiusRequestThread.java:120) at bitel.billing.server.radius.RadiusRequestThread.run(RadiusRequestThread.java:48) at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source) at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) at java.lang.Thread.run(Unknown Source) WARNINGS: ..... |
Автор: | Amir [ 16 апр 2009, 16:06 ] |
Заголовок сообщения: | |
supp писал(а): А может АПИ менять ненужно... за изменениями нереально следить.
Поэтому методы и не удаляются, а лишь помечаются как устаревшие. Не правильно написал: не charge.setChargeSumma( new BigDecimal( PAY ) ); а charge.setSumma( new BigDecimal( PAY ) ); |
Автор: | supp [ 16 апр 2009, 22:51 ] |
Заголовок сообщения: | |
Спасибо. Помогло. Работает. |
Страница 1 из 1 | Часовой пояс: UTC + 5 часов [ Летнее время ] |
Powered by phpBB® Forum Software © phpBB Group http://www.phpbb.com/ |