Class BonusProgramDynamicBase
java.lang.Object
ru.bitel.bgbilling.kernel.script.server.dev.EventScriptBase<ru.bitel.bgbilling.kernel.event.common.Event>
ru.bitel.bgbilling.plugins.bonus.common.bean.BonusProgramDynamicBase
- All Implemented Interfaces:
EventScript<ru.bitel.bgbilling.kernel.event.common.Event>
,BonusProgramSpecification
public abstract class BonusProgramDynamicBase extends EventScriptBase<ru.bitel.bgbilling.kernel.event.common.Event> implements BonusProgramSpecification
Базовый класс для дин. классов реализующих бонусную программу.
Содержит наиболее нужные методы для работы с бонусами и дин.программами.
Для возможности использования методов в потомках(то есть вашей дин.программе/классе), необходимо вызвать в методе onEvent(если будете использовать) соответствующий метод потомка(то есть этого класса) - super.onEvent........
Содержит наиболее нужные методы для работы с бонусами и дин.программами.
Для возможности использования методов в потомках(то есть вашей дин.программе/классе), необходимо вызвать в методе onEvent(если будете использовать) соответствующий метод потомка(то есть этого класса) - super.onEvent........
-
Field Summary
Fields Modifier and Type Field Description BonusDao
bonusDao
java.sql.Connection
con
int
contractId
java.util.Map<java.lang.String,java.lang.String>
map
Fields inherited from class ru.bitel.bgbilling.kernel.script.server.dev.EventScriptBase
err, out
-
Constructor Summary
Constructors Constructor Description BonusProgramDynamicBase()
-
Method Summary
Modifier and Type Method Description void
accrualOfBonus(java.sql.Connection con, BonusProgram program)
Начисление бонусов.abstract void
accrualOfBonusImpl(java.sql.Connection con, BonusProgram program)
Тут реализуется начисление бонусов, ну или еще чего, что нужно будет сделать программе по планировщику для динамических программ.java.util.List<BonusContractProgram>
getContractPrograms(java.lang.Class<? extends BonusProgramDynamicBase> clazz, java.util.Date date)
Получить все программы данной дин. программы для выбранного договора.java.lang.String
getParam(java.lang.String param, int programId)
Получить параметр программы.Period
getPeriodForBonusPayment(BonusProgram program)
BonusContractProgram
getProgramContract(int programId, java.util.Date date)
Получить программу договора по ид программы.abstract java.util.List<java.lang.String>
getWebBonusStrings(java.sql.Connection con, BonusContractProgram program)
Каждая дин. программа может вернут список строк которые будут отображаться в ЛК.void
onEvent(ru.bitel.bgbilling.kernel.event.common.Event event, Setup setup, ConnectionSet set)
int
updatePayment(java.math.BigDecimal sum, BonusProgram program)
Совершение платежа, данный метод сам учтет период активности бонусного платежа.int
updatePaymnent(java.math.BigDecimal sum, BonusProgram program)
void
updateProgramData(int programId)
void
updateProgramData(int programId, int contractId, java.util.Map<java.lang.String,java.lang.String> mapL)
Сохранение/обновлене данных для договора по выбранной программе.Methods inherited from class ru.bitel.bgbilling.kernel.script.server.dev.EventScriptBase
doExternalScript, error, print, setErrorStream, setOutputStream
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface ru.bitel.bgbilling.plugins.bonus.common.bean.BonusProgramSpecification
getTitle
-
Field Details
-
map
public java.util.Map<java.lang.String,java.lang.String> map -
bonusDao
-
con
public java.sql.Connection con -
contractId
public int contractId
-
-
Constructor Details
-
BonusProgramDynamicBase
public BonusProgramDynamicBase()
-
-
Method Details
-
onEvent
public void onEvent(ru.bitel.bgbilling.kernel.event.common.Event event, Setup setup, ConnectionSet set) throws java.lang.Exception- Specified by:
onEvent
in interfaceEventScript<ru.bitel.bgbilling.kernel.event.common.Event>
- Throws:
java.lang.Exception
-
accrualOfBonus
public void accrualOfBonus(java.sql.Connection con, BonusProgram program) throws java.sql.SQLException, ru.bitel.bgbilling.common.BGExceptionDescription copied from interface:BonusProgramSpecification
Начисление бонусов. Каждая программа берет на себя начисление бонусов для всех договоров и защищается от возможного двойного начисления( для этого есть таблица bonus_program_log ). Запуск производится планировщиком задач.- Specified by:
accrualOfBonus
in interfaceBonusProgramSpecification
program
- бонус. программа в которой содержатся параметры программы и т.д.- Throws:
java.sql.SQLException
ru.bitel.bgbilling.common.BGException
-
accrualOfBonusImpl
public abstract void accrualOfBonusImpl(java.sql.Connection con, BonusProgram program) throws java.sql.SQLException, ru.bitel.bgbilling.common.BGExceptionТут реализуется начисление бонусов, ну или еще чего, что нужно будет сделать программе по планировщику для динамических программ.- Parameters:
con
-program
- - бонус. программа в которой содержатся параметры программы и т.д.- Throws:
java.sql.SQLException
ru.bitel.bgbilling.common.BGException
-
getWebBonusStrings
public abstract java.util.List<java.lang.String> getWebBonusStrings(java.sql.Connection con, BonusContractProgram program)Каждая дин. программа может вернут список строк которые будут отображаться в ЛК.- Parameters:
con
-program
- - бонус. программаж договора в которой содержатся сама программа, период для программы и contractId.- Returns:
- список или null, если ни чего не собираетесь отображать.
-
getContractPrograms
public java.util.List<BonusContractProgram> getContractPrograms(java.lang.Class<? extends BonusProgramDynamicBase> clazz, java.util.Date date) throws ru.bitel.bgbilling.common.BGExceptionПолучить все программы данной дин. программы для выбранного договора.- Parameters:
clazz
- - класс дин. программы.bonusDao
-date
- - активную на дату, если передать null, то вернет за все время.- Returns:
- список программ для данного договора.
- Throws:
ru.bitel.bgbilling.common.BGException
-
getProgramContract
public BonusContractProgram getProgramContract(int programId, java.util.Date date) throws ru.bitel.bgbilling.common.BGExceptionПолучить программу договора по ид программы. Отличие от обычной программы только в том что в программе договора содержаться период для договора. Внимание! Если метод используется при вызове планировщика( то есть методом accrualOfBonus), то не забудьте установить contracrId, перед вызовом.- Parameters:
programId
- - код программы.date
- - активную на дату, если передать null, то вернет за все время.- Returns:
- - если contractId не установлен, то вернет null.
- Throws:
ru.bitel.bgbilling.common.BGException
-
getPeriodForBonusPayment
- Parameters:
program
- - бонусная программа.- Returns:
- активый период для бонусного платежа.
-
updatePaymnent
public int updatePaymnent(java.math.BigDecimal sum, BonusProgram program) throws ru.bitel.bgbilling.common.BGException- Throws:
ru.bitel.bgbilling.common.BGException
-
updatePayment
public int updatePayment(java.math.BigDecimal sum, BonusProgram program) throws ru.bitel.bgbilling.common.BGExceptionСовершение платежа, данный метод сам учтет период активности бонусного платежа. Дата платежа будет выставлена текущей.- Parameters:
bonusDao
-sum
- - сумма платежа в бонусах.program
- - бонусная программа.- Returns:
- - код(id) платежа.
- Throws:
ru.bitel.bgbilling.common.BGException
-
getParam
public java.lang.String getParam(java.lang.String param, int programId) throws ru.bitel.bgbilling.common.BGExceptionПолучить параметр программы. Внимаение, мап вытаскивается только один раз, при первом обращение, соответственно если вы обновили некоторый параметр , то это изменение не будет отражено в данном методе( только если вы не воспользовались тем же мапом, что и советую ).- Parameters:
param
- - код запрашиваемого параметра.programId
- - код программы.- Returns:
- параметр или null если его нет.
- Throws:
java.sql.SQLException
ru.bitel.bgbilling.common.BGException
-
updateProgramData
public void updateProgramData(int programId, int contractId, java.util.Map<java.lang.String,java.lang.String> mapL) throws java.sql.SQLExceptionСохранение/обновлене данных для договора по выбранной программе.- Parameters:
programId
- - код программы.contractId
- - код договора.mapL
- - непосредственно сами данные которые нужно сохранить.- Throws:
java.sql.SQLException
-
updateProgramData
public void updateProgramData(int programId) throws java.sql.SQLException- Throws:
java.sql.SQLException
-