Начисление бонусов на счет при платежах определенного типа

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

(Различия между версиями)
Перейти к: навигация, поиск
 
Строка 1: Строка 1:
При поступлении на счет договора платежей типов 390 и 391 дополнительно начисляется платеж-бонус с типом 529 и суммой,
При поступлении на счет договора платежей типов 390 и 391 дополнительно начисляется платеж-бонус с типом 529 и суммой,
-
равной 5% от основного платежа.  
+
равной 5% от основного платежа. Обрабатывается событие "Приход платежа".
 +
 
 +
Для 4.6 версии:
 +
 
 +
<source lang="java">
 +
import bitel.billing.server.contract.bean.*;
 +
import bitel.billing.server.util.*;
 +
import java.math.*;
 +
 +
payment = event.getPayment();
 +
cid = payment.getContractID();
 +
date = payment.getDate();
 +
 +
bu = new BalanceUtils( con );
 +
pm = new PaymentManager( con );
 +
 +
PAYMENT_TYPE_ICB_1 = 1;
 +
PAYMENT_TYPE_ICB_2 = 2;
 +
PAYMENT_TYPE_ICB_BONUS = 5;
 +
 +
// бонус за ИКБ платежи
 +
if( payment.getPaymentTypeID() == PAYMENT_TYPE_ICB_1 ||
 +
payment.getPaymentTypeID() == PAYMENT_TYPE_ICB_2 ) {
 +
    print( "Add ICB bonus payment.." );
 +
 +
    bonus = new Payment();
 +
    bonus.setPaymentTypeID( PAYMENT_TYPE_ICB_BONUS );
 +
    bonus.setDate( date );
 +
    bonus.setContractID( payment.getContractID() );
 +
    bonus.setSumma( payment.getSumma().multiply( new BigDecimal( "0.05" ) ) );
 +
    bonus.setComment( "Бонус за платеж через ИКБ ИБ" );
 +
    bonus.setUserID( 0 );
 +
 +
    pm.updatePayment( "new", bonus );
 +
    bu.updateBalance( date,  cid );
 +
}
 +
</source>
 +
 
 +
Для 4.5 версии и ранее:
<source lang="java">
<source lang="java">

Текущая версия на 04:37, 15 мая 2009

При поступлении на счет договора платежей типов 390 и 391 дополнительно начисляется платеж-бонус с типом 529 и суммой, равной 5% от основного платежа. Обрабатывается событие "Приход платежа".

Для 4.6 версии:

import bitel.billing.server.contract.bean.*;
import bitel.billing.server.util.*;
import java.math.*;
 
payment = event.getPayment();
cid = payment.getContractID();
date = payment.getDate();
 
bu = new BalanceUtils( con );
pm = new PaymentManager( con );
 
PAYMENT_TYPE_ICB_1 = 1;
PAYMENT_TYPE_ICB_2 = 2;
PAYMENT_TYPE_ICB_BONUS = 5;
 
// бонус за ИКБ платежи
if( payment.getPaymentTypeID() == PAYMENT_TYPE_ICB_1 ||
	payment.getPaymentTypeID() == PAYMENT_TYPE_ICB_2 ) {
    print( "Add ICB bonus payment.." );
 
     bonus = new Payment();
     bonus.setPaymentTypeID( PAYMENT_TYPE_ICB_BONUS );
     bonus.setDate( date );
     bonus.setContractID( payment.getContractID() );
     bonus.setSumma( payment.getSumma().multiply( new BigDecimal( "0.05" ) ) );
     bonus.setComment( "Бонус за платеж через ИКБ ИБ" );
     bonus.setUserID( 0 );
 
     pm.updatePayment( "new", bonus );
     bu.updateBalance( date,  cid );
}

Для 4.5 версии и ранее:

import bitel.billing.server.contract.bean.*;
import bitel.billing.server.util.*;
 
payment = event.getPayment();
cid = payment.getContractID();
date = payment.getDate();
 
bu = new BalanceUtils( con );
pm = new PaymentManager( con );
 
PAYMENT_TYPE_ICB_1 = 390;
PAYMENT_TYPE_ICB_2 = 392;
PAYMENT_TYPE_ICB_BONUS = 529;
 
// бонус за ИКБ платежи
if( payment.getPaymentTypeID() == PAYMENT_TYPE_ICB_1 ||
	payment.getPaymentTypeID() == PAYMENT_TYPE_ICB_2 ) {
    print( "Add ICB bonus payment.." );
 
     bonus = new Payment();
     bonus.setPaymentTypeID( PAYMENT_TYPE_ICB_BONUS );
     bonus.setDate( date );
     bonus.setContractID( payment.getContractID() );
     bonus.setSumma( (float)(payment.getSumma() * 0.05) );
     bonus.setComment( "Бонус за платеж через ИКБ ИБ" );
     bonus.setUserID( 0 );
 
     pm.updatePayment( "new", bonus );
     bu.updateBalance( date,  cid );
}
Личные инструменты