Class BonusDao
java.lang.Object
ru.bitel.bgbilling.plugins.bonus.server.dao.BonusDao
public class BonusDao
extends java.lang.Object
-
Field Summary
Fields Modifier and Type Field Description protected java.sql.Connection
con
static boolean
flagBalanceCanBeNegative
Флаг определяющий, можно ли уводить в минус.static int
pluginTurnOn
-
Constructor Summary
Constructors Constructor Description BonusDao(java.sql.Connection con)
-
Method Summary
Modifier and Type Method Description void
addCharge(int userId, int cid, BonusCharge charge)
Добавление расходаvoid
addDetailsItem(int chargeId, int paymentId, java.math.BigDecimal sum)
Добавит детали расхода, какую сумму какой расход списал с конкретного платежа.boolean
checkContractOnProgramType(int cid, int programType, java.util.Date date)
boolean
checkProgramPeriodOnCrossing(BonusProgram program)
Проверка на пересечения нового периода бонусной программы с периодом программы у договоров.void
deleteCharge(int chargeId)
Удаление расхода.void
deleteChargeAccordingToContractChargeId(int contractChargeId)
Удаление расхода по ид расхода договора.void
deleteDeatails(int id)
Удаление деталей расхода по его ид.void
deletePayment(int paymentId)
Удаление приходаvoid
deletePaymentType(int paymentId)
void
deleteProgram(int programId)
Удаление бонусной программы.java.math.BigDecimal
getBalance(int cid, java.util.Date date)
java.math.BigDecimal
getBalance(int cid, java.util.Date date, java.lang.Integer chargeId, boolean withFutureCharge)
BonusCharge
getCharge(int contractChargeId)
Вернет бонусный расход который был повешан на конкретный расход договора.java.util.List<BonusCharge>
getChargeDetailsList(int paymentId)
Deprecated.java.util.List<BonusCharge>
getChargeList(int cid, java.util.Date dateFrom, java.util.Date dateTo)
java.util.List<BonusCharge>
getChargesAll(int cid)
Вернет все расходыjava.util.List<BonusCharge>
getChargesLinkedPayments(int cid, java.util.List<BonusPayment> paymentList, java.util.Date date)
java.util.List<java.lang.Integer>
getContractsOfThisProgram(int idProgram, java.util.Date date)
java.util.Map<java.lang.String,java.lang.String>
getDataProgramOfContract(int programId, int contractId)
Получение мапа с данными для договора по выбранной программе.java.util.List<BonusDetailCharge>
getDetailsChargeList(int paymentId)
java.math.BigDecimal
getNotActiveBalanceStill(int cid, java.util.Date date)
java.util.List<BonusPayment>
getPaymentDetailsList(int chargeId)
java.util.List<BonusPayment>
getPaymentList(int contractId, java.util.Date dateFrom, java.util.Date dateTo)
java.util.List<BonusPayment>
getPaymentsActiveAndPositive(int cid, java.util.Date date, java.util.HashMap<java.lang.Integer,java.math.BigDecimal> residueSumMap)
java.util.List<BonusPayment>
getPaymentsActiveToDate(int cid, java.util.Date date, java.util.HashMap<java.lang.Integer,java.math.BigDecimal> residueSumMap)
java.util.List<BonusPayment>
getPaymentsAll(int cid)
Вернет все платежи для данного договораjava.util.List<BonusPayment>
getPaymentsToActiveInFuture(int cid, java.util.Date date)
java.util.List<BonusPaymentType>
getPaymentTypeList(boolean usedOnly)
BonusProgram
getProgram(int id)
BonusProgramSpecification
getProgramAction(BonusProgram bonusProgram)
Получение программы действий для бонусной программы.java.util.List<BonusContractProgram>
getProgramCotractList(int cid)
java.util.List<BonusContractProgram>
getProgramCotractList(int cid, int programTypeId, java.util.Date date)
java.util.List<BonusProgram>
getProgramList(java.util.Date date, int programTypeId)
Возврощает заведенные бонусные программы.BonusProgramSpecification
getProgramSpecificationForDynamicProgram(java.lang.String className)
Вернет спецификацию для динамической программы по ее полному имени.boolean
isUseChargeType(int chargeId)
boolean
isUsePaymentsInDetailsTable(int paymentId)
boolean
isUsePaymentType(int paymentId)
boolean
pluginInclude(int cid)
java.util.List<java.lang.Integer>
programInContractList(int idProgram, java.util.Date date)
Deprecated.void
updateDataProgramOfContract(int programId, int contractId, java.util.Map<java.lang.String,java.lang.String> map)
Сохранение/обновлене данных для договора по выбранной программе.void
updateDetailsCharge(int id, int paymentId, java.math.BigDecimal sum)
Обновление записи bonus_details_charge.void
updatePayment(int userId, int cid, BonusPayment payment)
Создание платежа.void
updatePaymentType(BonusPaymentType paymentType)
void
updatePluginInclude(int cid, boolean include)
Включение/выкл. плагина у договора.void
updateProgram(BonusProgram program)
Обновление или создание бонусной программы.void
updateProgramContract(BonusContractProgram contractProgram)
Обновление или добовление бонусной программы для договора.Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Field Details
-
con
protected java.sql.Connection con -
pluginTurnOn
public static int pluginTurnOn -
flagBalanceCanBeNegative
public static final boolean flagBalanceCanBeNegativeФлаг определяющий, можно ли уводить в минус.
-
-
Constructor Details
-
BonusDao
public BonusDao(java.sql.Connection con)
-
-
Method Details
-
getPaymentTypeList
public java.util.List<BonusPaymentType> getPaymentTypeList(boolean usedOnly) throws ru.bitel.bgbilling.common.BGException- Parameters:
usedOnly
-- Returns:
- - если usedOnly==true,то вернет только используемые
- Throws:
ru.bitel.bgbilling.common.BGException
-
getChargesLinkedPayments
public java.util.List<BonusCharge> getChargesLinkedPayments(int cid, java.util.List<BonusPayment> paymentList, java.util.Date date) throws ru.bitel.bgbilling.common.BGException- Parameters:
paymentList
-- Returns:
- - вернет список расходов которые были повешаны на дынные приходы на конкретную дату.
- Throws:
ru.bitel.bgbilling.common.BGException
-
updatePaymentType
public void updatePaymentType(BonusPaymentType paymentType) throws ru.bitel.bgbilling.common.BGException- Throws:
ru.bitel.bgbilling.common.BGException
-
deletePaymentType
public void deletePaymentType(int paymentId) throws ru.bitel.bgbilling.common.BGException- Throws:
ru.bitel.bgbilling.common.BGException
-
isUsePaymentType
public boolean isUsePaymentType(int paymentId) throws ru.bitel.bgbilling.common.BGException- Parameters:
paymentId
-- Returns:
- - true если есть платежи с таким типом
- Throws:
ru.bitel.bgbilling.common.BGException
-
isUseChargeType
public boolean isUseChargeType(int chargeId) throws ru.bitel.bgbilling.common.BGException- Parameters:
chargeId
-- Returns:
- - true если есть расходы с таким типом
- Throws:
ru.bitel.bgbilling.common.BGException
-
getPaymentList
public java.util.List<BonusPayment> getPaymentList(int contractId, java.util.Date dateFrom, java.util.Date dateTo) throws ru.bitel.bgbilling.common.BGException- Parameters:
contractId
- - номер договораdateFrom
- - от датыdateTo
- - до даты- Returns:
- вернет платежи в промежутке данных дат, есл и
- Throws:
ru.bitel.bgbilling.common.BGException
-
getPaymentsAll
public java.util.List<BonusPayment> getPaymentsAll(int cid) throws ru.bitel.bgbilling.common.BGExceptionВернет все платежи для данного договора- Parameters:
cid
-- Throws:
ru.bitel.bgbilling.common.BGException
-
getPaymentsActiveAndPositive
public java.util.List<BonusPayment> getPaymentsActiveAndPositive(int cid, java.util.Date date, java.util.HashMap<java.lang.Integer,java.math.BigDecimal> residueSumMap) throws ru.bitel.bgbilling.common.BGException- Parameters:
date
- - на какой моментcid
- - номер договораresidueSumMap
- - мап c остатками средств у платежей, можно передать null,если эти данные не нужны(ключ - id платежа, значение - остаток средсв у платежа).- Returns:
- вернет активные(то есть dateFrom
- Throws:
ru.bitel.bgbilling.common.BGException
-
getPaymentsActiveToDate
public java.util.List<BonusPayment> getPaymentsActiveToDate(int cid, java.util.Date date, java.util.HashMap<java.lang.Integer,java.math.BigDecimal> residueSumMap) throws ru.bitel.bgbilling.common.BGException- Parameters:
cid
- - номер договораdate
-residueSumMap
- - мап c остатками средств у платежей, можно передать null,если эти данные не нужны(ключ - id платежа, значение - остаток средсв у платежа).- Returns:
- - список платежей активные на дату - date
- Throws:
ru.bitel.bgbilling.common.BGException
-
getPaymentsToActiveInFuture
public java.util.List<BonusPayment> getPaymentsToActiveInFuture(int cid, java.util.Date date) throws ru.bitel.bgbilling.common.BGException- Parameters:
cid
- - номер договораdate
- - на дату(обычно текущее)- Returns:
- - список платежей еще не активных на дынный момент
- Throws:
ru.bitel.bgbilling.common.BGException
-
getCharge
Вернет бонусный расход который был повешан на конкретный расход договора.- Parameters:
contractChargeId
- - ид расхода договора- Returns:
- если результат успешный то BonusChargee, иначе null.
- Throws:
ru.bitel.bgbilling.common.BGException
-
getChargeList
public java.util.List<BonusCharge> getChargeList(int cid, java.util.Date dateFrom, java.util.Date dateTo) throws ru.bitel.bgbilling.common.BGException- Parameters:
cid
- - номер договораdateFrom
- - от датыdateTo
- - до даты- Returns:
- вернет список расходов в промежутке dateFrom и dateTo(с точностью до дня), если одна из дат == null, то вернет все
- Throws:
ru.bitel.bgbilling.common.BGException
-
getChargesAll
public java.util.List<BonusCharge> getChargesAll(int cid) throws ru.bitel.bgbilling.common.BGExceptionВернет все расходы- Parameters:
cid
-- Returns:
- Throws:
ru.bitel.bgbilling.common.BGException
-
updatePayment
public void updatePayment(int userId, int cid, BonusPayment payment) throws ru.bitel.bgbilling.common.BGExceptionСоздание платежа. После совершения платежа, в платеже будет реальный его id.
Либо, если id > 0, обновление даты завершения платежа.- Parameters:
userId
- - пользователь совершивcid
- - код договораpayment
- - бонусный платеж- Throws:
ru.bitel.bgbilling.common.BGException
-
addCharge
public void addCharge(int userId, int cid, BonusCharge charge) throws ru.bitel.bgbilling.common.BGExceptionДобавление расхода- Parameters:
userId
-cid
- - номер договораcharge
- - расход. После добаления, id будет присвоено значение.- Throws:
ru.bitel.bgbilling.common.BGException
-
deletePayment
public void deletePayment(int paymentId) throws ru.bitel.bgbilling.common.BGExceptionУдаление прихода- Parameters:
paymentId
- - ид прихода- Throws:
ru.bitel.bgbilling.common.BGException
-
deleteCharge
public void deleteCharge(int chargeId) throws ru.bitel.bgbilling.common.BGExceptionУдаление расхода.- Parameters:
chargeId
- - ид расхода- Throws:
ru.bitel.bgbilling.common.BGException
-
deleteChargeAccordingToContractChargeId
public void deleteChargeAccordingToContractChargeId(int contractChargeId) throws ru.bitel.bgbilling.common.BGExceptionУдаление расхода по ид расхода договора.- Parameters:
chargeId
- - ид расхода- Throws:
ru.bitel.bgbilling.common.BGException
-
getPaymentDetailsList
public java.util.List<BonusPayment> getPaymentDetailsList(int chargeId) throws ru.bitel.bgbilling.common.BGException- Parameters:
chargeId
- - ид расхода- Returns:
- вернет список платежей у которых данный расход списывал средства, в поле сумма у приходов будет сумма которую данный расход списал, а не сумма всего прихода.
- Throws:
ru.bitel.bgbilling.common.BGException
-
getChargeDetailsList
@Deprecated public java.util.List<BonusCharge> getChargeDetailsList(int paymentId) throws ru.bitel.bgbilling.common.BGExceptionDeprecated.- Throws:
ru.bitel.bgbilling.common.BGException
-
getDetailsChargeList
public java.util.List<BonusDetailCharge> getDetailsChargeList(int paymentId) throws ru.bitel.bgbilling.common.BGException- Parameters:
paymentId
- - ид бонусного платежа- Returns:
- вернет список расходов которые списывали средства с данного прихода, поле суммы у расхода будет занесенно сумма расхода конкретно для этого прихода, а не та сумма которую списал данный расход.
- Throws:
ru.bitel.bgbilling.common.BGException
-
deleteDeatails
public void deleteDeatails(int id) throws ru.bitel.bgbilling.common.BGExceptionУдаление деталей расхода по его ид.- Parameters:
id
- - ид детали расхода.- Throws:
ru.bitel.bgbilling.common.BGException
-
isUsePaymentsInDetailsTable
public boolean isUsePaymentsInDetailsTable(int paymentId)- Parameters:
paymentId
- - ид платежа
-
addDetailsItem
public void addDetailsItem(int chargeId, int paymentId, java.math.BigDecimal sum) throws ru.bitel.bgbilling.common.BGExceptionДобавит детали расхода, какую сумму какой расход списал с конкретного платежа.- Parameters:
chargeId
- - ид расхода.paymentId
- - ид прихода.sum
- - сумма списание с данного расхода.- Throws:
ru.bitel.bgbilling.common.BGException
-
updateDetailsCharge
public void updateDetailsCharge(int id, int paymentId, java.math.BigDecimal sum) throws ru.bitel.bgbilling.common.BGExceptionОбновление записи bonus_details_charge.- Parameters:
id
- - код bonus_details_charge. Не путать с bonus_contract_charge.paymentId
- - код платежа с которого списывает данная часть расхода.sum
- - сумма.- Throws:
ru.bitel.bgbilling.common.BGException
-
getBalance
public java.math.BigDecimal getBalance(int cid, java.util.Date date) throws ru.bitel.bgbilling.common.BGException- Parameters:
cid
- - номер договораdate
- - на какую дату- Returns:
- вернет баланс на конкретную дату
- Throws:
ru.bitel.bgbilling.common.BGException
-
getBalance
public java.math.BigDecimal getBalance(int cid, java.util.Date date, java.lang.Integer chargeId, boolean withFutureCharge) throws ru.bitel.bgbilling.common.BGException- Parameters:
cid
- - номер договораdate
- - на какую датуchargeId
- - если не null, ид бонусного расхода который не будет учитываться.withFutureCharge
- - если = true, то вернет баланс с учетом будущих расходов у приходов которые были активны на тот момент. Если баланс берется на текущий момент, то разницы не должно быть.- Returns:
- вернет баланс на конкретную дату
- Throws:
ru.bitel.bgbilling.common.BGException
-
getNotActiveBalanceStill
public java.math.BigDecimal getNotActiveBalanceStill(int cid, java.util.Date date) throws ru.bitel.bgbilling.common.BGException- Parameters:
cid
- - номер договораdate
- - на какую дату- Returns:
- - сумму еще не активных платежей, которые будут доступны в будущем
- Throws:
ru.bitel.bgbilling.common.BGException
-
pluginInclude
public boolean pluginInclude(int cid) throws ru.bitel.bgbilling.common.BGException- Parameters:
cid
- - номер договора- Returns:
- вернет true- если плагин включен у данного договора
- Throws:
ru.bitel.bgbilling.common.BGException
-
updatePluginInclude
public void updatePluginInclude(int cid, boolean include) throws ru.bitel.bgbilling.common.BGExceptionВключение/выкл. плагина у договора.- Parameters:
cid
- - номер договора.include
- - если true то вкл. плагина у договора.- Throws:
ru.bitel.bgbilling.common.BGException
-
updateProgram
Обновление или создание бонусной программы.- Parameters:
program
- - бонусная программ.- Throws:
ru.bitel.bgbilling.common.BGException
-
checkProgramPeriodOnCrossing
public boolean checkProgramPeriodOnCrossing(BonusProgram program) throws ru.bitel.bgbilling.common.BGExceptionПроверка на пересечения нового периода бонусной программы с периодом программы у договоров.- Parameters:
program
- - бонусная программа у который выставлен проверяемый период.- Returns:
- - true если пересечение имеет место или program==null или период==null или dateFrom==null.
- Throws:
ru.bitel.bgbilling.common.BGException
-
getProgram
- Parameters:
id
- - ид бонусной программы- Returns:
- бонусную программу, если существует, иначе null.
- Throws:
ru.bitel.bgbilling.common.BGException
-
getProgramList
public java.util.List<BonusProgram> getProgramList(java.util.Date date, int programTypeId) throws ru.bitel.bgbilling.common.BGExceptionВозврощает заведенные бонусные программы.- Parameters:
date
- - вернет активные программы на эту дату, если = null, то вернет все програамы вне зависемости от активности.programTypeId
- - вернет программы только данного типа, если = 0, то вернет все программы вне зависемости от типа.- Returns:
- - список бонусных программ.
- Throws:
ru.bitel.bgbilling.common.BGException
-
getProgramCotractList
public java.util.List<BonusContractProgram> getProgramCotractList(int cid) throws ru.bitel.bgbilling.common.BGException- Parameters:
cid
- - номер договора.- Returns:
- список бонусных програма у данного договора.
- Throws:
ru.bitel.bgbilling.common.BGException
-
getProgramCotractList
public java.util.List<BonusContractProgram> getProgramCotractList(int cid, int programTypeId, java.util.Date date) throws ru.bitel.bgbilling.common.BGException- Parameters:
cid
- - номер договора.programTypeId
- - тип программы. Если < 1, то вернет все программы. На момент создание метода существует только 2 типа программ: операционный=1 и динамический=2.date
- - активную на дату, если передать null, то вернет за все время.- Returns:
- список бонусных программ у данного договора.
- Throws:
ru.bitel.bgbilling.common.BGException
-
updateProgramContract
public void updateProgramContract(BonusContractProgram contractProgram) throws ru.bitel.bgbilling.common.BGExceptionОбновление или добовление бонусной программы для договора.- Parameters:
contractProgram
- - бонусная программа для договора.- Throws:
ru.bitel.bgbilling.common.BGException
-
programInContractList
@Deprecated public java.util.List<java.lang.Integer> programInContractList(int idProgram, java.util.Date date) throws ru.bitel.bgbilling.common.BGExceptionDeprecated.- Throws:
ru.bitel.bgbilling.common.BGException
-
getContractsOfThisProgram
public java.util.List<java.lang.Integer> getContractsOfThisProgram(int idProgram, java.util.Date date) throws ru.bitel.bgbilling.common.BGException- Parameters:
idProgram
- - ид программы.date
- - на какое время, если null то вернет за все время.- Returns:
- список ид договоров у которых активна данная бонусная программа на момент date.
- Throws:
ru.bitel.bgbilling.common.BGException
-
checkContractOnProgramType
public boolean checkContractOnProgramType(int cid, int programType, java.util.Date date) throws ru.bitel.bgbilling.common.BGException- Parameters:
cid
- - номер договораprogramType
- - тип программы(пока статик поля в BonusProgram)date
- на какую дату проверку- Returns:
- если у договора есть активные программы с данным типом бонусной программы то true
- Throws:
ru.bitel.bgbilling.common.BGException
-
deleteProgram
public void deleteProgram(int programId) throws ru.bitel.bgbilling.common.BGExceptionУдаление бонусной программы.- Parameters:
programId
- - ID бонусной программы.- Throws:
ru.bitel.bgbilling.common.BGException
-
getProgramAction
Получение программы действий для бонусной программы.- Returns:
- соответствующий класс конкретной программы.
-
getProgramSpecificationForDynamicProgram
public BonusProgramSpecification getProgramSpecificationForDynamicProgram(java.lang.String className)Вернет спецификацию для динамической программы по ее полному имени.- Returns:
- в случае успеха BonusProgramSpecification, иначе null.
-
updateDataProgramOfContract
public void updateDataProgramOfContract(int programId, int contractId, java.util.Map<java.lang.String,java.lang.String> map) throws java.sql.SQLExceptionСохранение/обновлене данных для договора по выбранной программе.- Parameters:
programId
- - код программы.contractId
- - код договора.map
- - непосредственно сами данные которые нужно сохранить.- Throws:
java.sql.SQLException
-
getDataProgramOfContract
public java.util.Map<java.lang.String,java.lang.String> getDataProgramOfContract(int programId, int contractId) throws ru.bitel.bgbilling.common.BGExceptionПолучение мапа с данными для договора по выбранной программе.- Parameters:
programid
- - код программы.contractId
- - код договора.- Returns:
- map с данными, всегда не null.
- Throws:
java.sql.SQLException
ru.bitel.bgbilling.common.BGException
-