Class BonusDao
java.lang.Object
ru.bitel.bgbilling.kernel.base.server.logger.BGLogger
ru.bitel.bgbilling.common.dao.AbstractDaoConstant
ru.bitel.bgbilling.plugins.bonus.server.dao.BonusDao
public class BonusDao
extends ru.bitel.bgbilling.common.dao.AbstractDaoConstant
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final booleanФлаг определяющий, можно ли уводить в минус.static intFields inherited from class ru.bitel.bgbilling.common.dao.AbstractDaoConstant
con, ERROR, fields, moduleId, SQL_ALL, SQL_AND, SQL_DELETE, SQL_DISTINCT, SQL_EQ, SQL_EQCS, SQL_FROM, SQL_GROUP, SQL_IN, SQL_INSERT, SQL_JOIN, SQL_LEFT_JOIN, SQL_LIMIT, SQL_NOT_IN, SQL_ON, SQL_ON_DUPLICATE_KEY_UPDATE, SQL_ORDER, SQL_SELECT, SQL_SET, SQL_UPDATE, SQL_VALUES, SQL_WHERE, tableName -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidaddCharge(int userId, int contractId, BonusCharge charge) Добавление расходаvoidaddDetailsItem(int chargeId, int paymentId, BigDecimal sum) Добавит детали расхода, какую сумму какой расход списал с конкретного платежа.booleancheckContractOnProgramType(int contractId, int programType, Date date) booleancheckProgramPeriodOnCrossing(BonusProgram program) Проверка на пересечения нового периода бонусной программы с периодом программы у договоров.voiddeleteCharge(int chargeId) Удаление расхода.voiddeleteChargeAccordingToContractChargeId(int contractChargeId) Удаление расхода по ид расхода договора.voiddeleteDeatails(int id) Удаление деталей расхода по его ид.voiddeleteForContractId(int contractId) voiddeletePayment(int paymentId) Удаление приходаvoiddeletePaymentType(int paymentId) voiddeleteProgram(int programId) Удаление бонусной программы.getBalance(int contractId, Date date) getBalance(int contractId, Date date, Integer chargeId, boolean withFutureCharge) getCharge(int contractChargeId) Вернет бонусный расход который был повешан на конкретный расход договора.getChargeDetailsList(int paymentId) Deprecated.getChargeList(int contractId, Date dateFrom, Date dateTo) getChargesAll(int contractId) Вернет все расходыgetChargesLinkedPayments(int contractId, List<BonusPayment> paymentList, Date date) getContractsOfThisProgram(int idProgram, Date date) getDataProgramOfContract(int programId, int contractId) Получение мапа с данными для договора по выбранной программе.getDetailsChargeList(int paymentId) getNotActiveBalanceStill(int contractId, Date date) getPaymentDetailsList(int chargeId) getPaymentList(int contractId, Date dateFrom, Date dateTo) getPaymentsActiveAndPositive(int contractId, Date date, HashMap<Integer, BigDecimal> residueSumMap) getPaymentsActiveToDate(int contractId, Date date, HashMap<Integer, BigDecimal> residueSumMap) getPaymentsAll(int contractId) Вернет все платежи для данного договораgetPaymentsToActiveInFuture(int contractId, Date date) getPaymentTypeList(boolean usedOnly) getProgram(int id) getProgramAction(BonusProgram bonusProgram) Получение программы действий для бонусной программы.getProgramCotractList(int contractId) getProgramCotractList(int contractId, int programTypeId, Date date) getProgramList(Date date, int programTypeId) Возврощает заведенные бонусные программы.getProgramSpecificationForDynamicProgram(String className) Вернет спецификацию для динамической программы по ее полному имени.booleanisUseChargeType(int chargeId) booleanisUsePaymentsInDetailsTable(int paymentId) booleanisUsePaymentType(int paymentId) booleanpluginInclude(int contractId) programInContractList(int idProgram, Date date) Deprecated.voidupdateDataProgramOfContract(int programId, int contractId, Map<String, String> map) Сохранение/обновлене данных для договора по выбранной программе.voidupdateDetailsCharge(int id, int paymentId, BigDecimal sum) Обновление записи bonus_details_charge.voidupdatePayment(int userId, int contractId, BonusPayment payment) Создание платежа.voidupdatePaymentType(BonusPaymentType paymentType) voidupdatePluginInclude(int contractId, boolean include) Включение/выкл. плагина у договора.voidupdateProgram(BonusProgram program) Обновление или создание бонусной программы.voidupdateProgramContract(BonusContractProgram contractProgram) Обновление или добовление бонусной программы для договора.Methods inherited from class ru.bitel.bgbilling.common.dao.AbstractDaoConstant
getPeriod, getPlaceholders, getSQLOrder, getSQLOrderFields, getTableName, psSetDate, psSetDateOrNull, psSetInt, psSetIntOrNull, psSetPeriod, psSetString, psSetStringOrNull, psSetTimestampOrNull, queryAndIn, setStatementParam, sqlDelete, sqlDeleteBatch, sqlInsert, sqlInsertBatch, sqlInsertGetId, sqlInsertOnDuplicateKeyUpdate, sqlInsertUpdateById, sqlUpdate, sqlUpdateBatchMethods inherited from class ru.bitel.bgbilling.kernel.base.server.logger.BGLogger
error, error, error, getLogger, logError, logError, warn
-
Field Details
-
pluginTurnOn
public static int pluginTurnOn -
flagBalanceCanBeNegative
public static final boolean flagBalanceCanBeNegativeФлаг определяющий, можно ли уводить в минус.
-
-
Constructor Details
-
BonusDao
-
-
Method Details
-
getPaymentTypeList
- Parameters:
usedOnly-- Returns:
- - если usedOnly==true,то вернет только используемые
- Throws:
Exception
-
getChargesLinkedPayments
public List<BonusCharge> getChargesLinkedPayments(int contractId, List<BonusPayment> paymentList, Date date) throws Exception - Parameters:
paymentList-- Returns:
- - вернет список расходов которые были повешаны на дынные приходы на конкретную дату.
- Throws:
ru.bitel.bgbilling.common.BGExceptionException
-
updatePaymentType
- Throws:
SQLException
-
deletePaymentType
- Throws:
SQLException
-
isUsePaymentType
- Parameters:
paymentId-- Returns:
- - true если есть платежи с таким типом
- Throws:
ru.bitel.bgbilling.common.BGExceptionSQLException
-
isUseChargeType
- Parameters:
chargeId-- Returns:
- - true если есть расходы с таким типом
- Throws:
ru.bitel.bgbilling.common.BGExceptionSQLException
-
getPaymentList
public List<BonusPayment> getPaymentList(int contractId, Date dateFrom, Date dateTo) throws SQLException - Parameters:
contractId- - номер договораdateFrom- - от датыdateTo- - до даты- Returns:
- вернет платежи в промежутке данных дат, есл и
- Throws:
ru.bitel.bgbilling.common.BGExceptionSQLException
-
getPaymentsAll
Вернет все платежи для данного договора- Parameters:
contractId-- Throws:
SQLException
-
getPaymentsActiveAndPositive
public List<BonusPayment> getPaymentsActiveAndPositive(int contractId, Date date, HashMap<Integer, BigDecimal> residueSumMap) throws ru.bitel.bgbilling.common.BGException- Parameters:
date- - на какой моментresidueSumMap- - мап c остатками средств у платежей, можно передать null,если эти данные не нужны(ключ - id платежа, значение - остаток средсв у платежа).cid- - номер договора- Returns:
- вернет активные(то есть dateFrominvalid input: '<'dateinvalid input: '<'dateTo) платежи на данное время и у которых еще положительный баланс.
- Throws:
ru.bitel.bgbilling.common.BGException
-
getPaymentsActiveToDate
public List<BonusPayment> getPaymentsActiveToDate(int contractId, Date date, HashMap<Integer, BigDecimal> residueSumMap) throws ru.bitel.bgbilling.common.BGException- Parameters:
date-residueSumMap- - мап c остатками средств у платежей, можно передать null,если эти данные не нужны(ключ - id платежа, значение - остаток средсв у платежа).cid- - номер договора- Returns:
- - список платежей активные на дату - date
- Throws:
ru.bitel.bgbilling.common.BGException
-
getPaymentsToActiveInFuture
public List<BonusPayment> getPaymentsToActiveInFuture(int contractId, Date date) throws ru.bitel.bgbilling.common.BGException - Parameters:
contractId- - номер договораdate- - на дату(обычно текущее)- Returns:
- - список платежей еще не активных на дынный момент
- Throws:
ru.bitel.bgbilling.common.BGException
-
getCharge
Вернет бонусный расход который был повешан на конкретный расход договора.- Parameters:
contractChargeId- - ид расхода договора- Returns:
- если результат успешный то BonusChargee, иначе null.
- Throws:
ru.bitel.bgbilling.common.BGException
-
getChargeList
public List<BonusCharge> getChargeList(int contractId, Date dateFrom, Date dateTo) throws SQLException - Parameters:
contractId- - номер договораdateFrom- - от датыdateTo- - до даты- Returns:
- вернет список расходов в промежутке dateFrom и dateTo(с точностью до дня), если одна из дат == null, то вернет все
- Throws:
ru.bitel.bgbilling.common.BGExceptionSQLException
-
getChargesAll
Вернет все расходы- Parameters:
contractId-- Returns:
- Throws:
ru.bitel.bgbilling.common.BGExceptionSQLException
-
updatePayment
Создание платежа. После совершения платежа, в платеже будет реальный его id.
Либо, если id > 0, обновление даты завершения платежа.- Parameters:
userId- - пользователь совершивpayment- - бонусный платежcid- - код договора- Throws:
ru.bitel.bgbilling.common.BGExceptionSQLException
-
addCharge
Добавление расхода- Parameters:
userId-charge- - расход. После добаления, id будет присвоено значение.cid- - номер договора- Throws:
ru.bitel.bgbilling.common.BGExceptionSQLException
-
deletePayment
Удаление прихода- Parameters:
paymentId- - ид прихода- Throws:
ru.bitel.bgbilling.common.BGExceptionSQLException
-
deleteCharge
Удаление расхода.- Parameters:
chargeId- - ид расхода- Throws:
ru.bitel.bgbilling.common.BGExceptionSQLException
-
deleteChargeAccordingToContractChargeId
Удаление расхода по ид расхода договора.- Parameters:
chargeId- - ид расхода- Throws:
ru.bitel.bgbilling.common.BGExceptionSQLException
-
getPaymentDetailsList
- Parameters:
chargeId- - ид расхода- Returns:
- вернет список платежей у которых данный расход списывал средства, в поле сумма у приходов будет сумма которую данный расход списал, а не сумма всего прихода.
- Throws:
SQLException
-
getChargeDetailsList
Deprecated.- Throws:
SQLException
-
getDetailsChargeList
- Parameters:
paymentId- - ид бонусного платежа- Returns:
- вернет список расходов которые списывали средства с данного прихода, поле суммы у расхода будет занесенно сумма расхода конкретно для этого прихода, а не та сумма которую списал данный расход.
- Throws:
SQLException
-
deleteDeatails
Удаление деталей расхода по его ид.- Parameters:
id- - ид детали расхода.- Throws:
SQLException
-
isUsePaymentsInDetailsTable
- Parameters:
paymentId- - ид платежа- Throws:
SQLException
-
addDetailsItem
Добавит детали расхода, какую сумму какой расход списал с конкретного платежа.- Parameters:
chargeId- - ид расхода.paymentId- - ид прихода.sum- - сумма списание с данного расхода.- Throws:
ru.bitel.bgbilling.common.BGExceptionSQLException
-
updateDetailsCharge
Обновление записи bonus_details_charge.- Parameters:
id- - код bonus_details_charge. Не путать с bonus_contract_charge.paymentId- - код платежа с которого списывает данная часть расхода.sum- - сумма.- Throws:
SQLException
-
getBalance
- Parameters:
date- - на какую датуcid- - номер договора- Returns:
- вернет баланс на конкретную дату
- Throws:
ru.bitel.bgbilling.common.BGExceptionSQLException
-
getBalance
public BigDecimal getBalance(int contractId, Date date, Integer chargeId, boolean withFutureCharge) throws SQLException - Parameters:
date- - на какую датуchargeId- - если не null, ид бонусного расхода который не будет учитываться.withFutureCharge- - если = true, то вернет баланс с учетом будущих расходов у приходов которые были активны на тот момент. Если баланс берется на текущий момент, то разницы не должно быть.cid- - номер договора- Returns:
- вернет баланс на конкретную дату
- Throws:
ru.bitel.bgbilling.common.BGExceptionSQLException
-
getNotActiveBalanceStill
public BigDecimal getNotActiveBalanceStill(int contractId, Date date) throws ru.bitel.bgbilling.common.BGException - Parameters:
date- - на какую датуcid- - номер договора- Returns:
- - сумму еще не активных платежей, которые будут доступны в будущем
- Throws:
ru.bitel.bgbilling.common.BGException
-
pluginInclude
public boolean pluginInclude(int contractId) throws ru.bitel.bgbilling.common.BGException - Parameters:
cid- - номер договора- Returns:
- вернет true- если плагин включен у данного договора
- Throws:
ru.bitel.bgbilling.common.BGException
-
updatePluginInclude
Включение/выкл. плагина у договора.- Parameters:
contractId- - номер договора.include- - если true то вкл. плагина у договора.- Throws:
ru.bitel.bgbilling.common.BGExceptionSQLException
-
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:
Exception
-
getProgramList
Возврощает заведенные бонусные программы.- Parameters:
date- - вернет активные программы на эту дату, если = null, то вернет все програамы вне зависемости от активности.programTypeId- - вернет программы только данного типа, если = 0, то вернет все программы вне зависемости от типа.- Returns:
- - список бонусных программ.
- Throws:
ru.bitel.bgbilling.common.BGExceptionException
-
getProgramCotractList
- Parameters:
contractId- - номер договора.- Returns:
- список бонусных програма у данного договора.
- Throws:
Exception
-
getProgramCotractList
public List<BonusContractProgram> getProgramCotractList(int contractId, int programTypeId, Date date) throws Exception - Parameters:
contractId- - номер договора.programTypeId- - тип программы. Если invalid input: '<' 1, то вернет все программы. На момент создание метода существует только 2 типа программ: операционный=1 и динамический=2.date- - активную на дату, если передать null, то вернет за все время.- Returns:
- список бонусных программ у данного договора.
- Throws:
Exception
-
updateProgramContract
public void updateProgramContract(BonusContractProgram contractProgram) throws ru.bitel.bgbilling.common.BGException Обновление или добовление бонусной программы для договора.- Parameters:
contractProgram- - бонусная программа для договора.- Throws:
ru.bitel.bgbilling.common.BGException
-
programInContractList
@Deprecated public List<Integer> programInContractList(int idProgram, Date date) throws ru.bitel.bgbilling.common.BGException Deprecated.- Throws:
ru.bitel.bgbilling.common.BGException
-
getContractsOfThisProgram
public List<Integer> getContractsOfThisProgram(int idProgram, 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 contractId, int programType, Date date) throws ru.bitel.bgbilling.common.BGException - Parameters:
contractId- - номер договораprogramType- - тип программы(пока статик поля в BonusProgram)date- на какую дату проверку- Returns:
- если у договора есть активные программы с данным типом бонусной программы то true
- Throws:
ru.bitel.bgbilling.common.BGException
-
deleteProgram
Удаление бонусной программы.- Parameters:
programId- - ID бонусной программы.- Throws:
SQLException
-
getProgramAction
Получение программы действий для бонусной программы.- Returns:
- соответствующий класс конкретной программы.
- Throws:
Exception
-
getProgramSpecificationForDynamicProgram
public BonusProgramSpecification getProgramSpecificationForDynamicProgram(String className) throws Exception Вернет спецификацию для динамической программы по ее полному имени.- Returns:
- в случае успеха BonusProgramSpecification, иначе null.
- Throws:
Exception
-
updateDataProgramOfContract
public void updateDataProgramOfContract(int programId, int contractId, Map<String, String> map) throws SQLExceptionСохранение/обновлене данных для договора по выбранной программе.- Parameters:
programId- - код программы.contractId- - код договора.map- - непосредственно сами данные которые нужно сохранить.- Throws:
SQLException
-
deleteForContractId
- Throws:
SQLException
-
getDataProgramOfContract
public Map<String,String> getDataProgramOfContract(int programId, int contractId) throws ru.bitel.bgbilling.common.BGException Получение мапа с данными для договора по выбранной программе.- Parameters:
contractId- - код договора.programid- - код программы.- Returns:
- map с данными, всегда не null.
- Throws:
SQLExceptionru.bitel.bgbilling.common.BGException
-