Начисление бонусов на счет при платежах определенного типа
Материал из BiTel WiKi
(Различия между версиями)
Admin (Обсуждение | вклад) |
Admin (Обсуждение | вклад) |
||
Строка 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 ); }