Изменение подписки карты через web (cerbercrypt)

Материал из BiTel WiKi

(Различия между версиями)
Перейти к: навигация, поиск
(Новая: Пример изменения подписки карты через web по заданию пользователя. Скрипт срабатывает по событию "изм...)
Строка 1: Строка 1:
Пример изменения подписки карты через web по заданию пользователя.  
Пример изменения подписки карты через web по заданию пользователя.  
Скрипт срабатывает по событию "изменение подписки карты". И снимает за смену пакета 20 рублей.
Скрипт срабатывает по событию "изменение подписки карты". И снимает за смену пакета 20 рублей.
-
 
-
import bitel.billing.server.contract.bean.*;
 
-
import bitel.billing.server.tariff.bean.*;
 
-
import bitel.billing.server.script.event.*;
 
-
import bitel.billing.common.*;
 
-
import java.util.*;
 
-
import java.math.*;
 
-
import bitel.billing.server.cerbercrypt.bean.event.CerbercryptEventNumbers;
 
-
import bitel.billing.server.cerbercrypt.bean.event.SubscriptionChangedEvent;
 
-
 
-
CHARGE_TYPE = 18; //тип расхода - "Смена пакета"
 
-
 
-
cm = new ContractManager( con );
 
-
bu = new BalanceUtils( con );
 
-
chm = new ChargeManager( con );
 
-
 
-
 
-
 
-
cid = event.getContractID();
 
-
contract = cm.getContractByID( cid );
 
-
print(event.getChangeMode()); //анализ типа события (2 - закрытие периода подписки)
 
-
 
-
if(event.getChangeMode() == 2)
 
-
  {
 
-
print("Подписка закрыта");
 
-
return;
 
-
  }
 
-
 
-
if( contract == null ) {
 
-
    error( "Contract with ID " + cid + " was not found!" );
 
-
    return;
 
-
}
 
-
 
-
date = new Date();
 
-
 
-
// цена смены
 
-
changeCost = new BigDecimal(20);
 
-
 
-
// текущий баланс
 
-
balance = bu.getBalance( date, cid );
 
-
 
-
if( balance.compareTo( changeCost ) < 0 )
 
-
{
 
-
  // установка флага обработанности скриптом прервет стандартную смену пакета
 
-
  event.setProcessed( true );
 
-
  event.setError( "Недостаточно средств для смены пакета!" );
 
-
  return;
 
-
}
 
-
 
-
 
-
// заносим расход
 
-
charge = new Charge();
 
-
charge.setContractID( cid );
 
-
 
-
charge.setChargeDate( date );
 
-
 
-
charge.setChargeTypeID( CHARGE_TYPE );
 
-
charge.setComment( "Смена пакета через Web" );
 
-
charge.setSumma( changeCost );
 
-
 
-
chm.updateCharge( charge );
 
-
 
-
bu.updateBalance( date, cid );
 

Версия 06:09, 3 сентября 2009

Пример изменения подписки карты через web по заданию пользователя. Скрипт срабатывает по событию "изменение подписки карты". И снимает за смену пакета 20 рублей.

Личные инструменты