Class PaymentQueueManager
java.lang.Object
ru.bitel.bgbilling.plugins.cashcheck.server.bean.PaymentQueueManager
Менеджер очереди, лога, обработки чеков.
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionvoid
_updateFiscalDataForPendingId
(String _table, String pendingId, String fiscalData) общий метод для cashcheck_payment_log/cashcheck_charge_log передаётся _table="payment"/"charge"void
_updateLastErrorForPendingId
(String _table, String pendingId, String lastError) общий метод для cashcheck_payment_log/cashcheck_charge_log передаётся _table="payment"/"charge"getChargeLog
(Set<Integer> cids, int printerId, Boolean erroredType, String posMapping, Period period, Page page, Collection<Integer> logIds) Возвращаем список из лога уже напечатанных чеков возврата.getChargeQueue
(Period period, List<Integer> chatypes, Page page) Список расходов, которые могут быть напечатаны, но ещё не были.getChargesList
(List<Integer> chargeIds) Получаем список расходов/возвратов по списку id.Все маппинги когда-либо используемые в логах, для фильтра, например.getNeedPendingIdLog
(String _table, int printerId, Date fromDate, Date toDate, boolean isError) возвращает список pending_id платежей из лога готовых к опросу статуса - с наличием pending_id и без наличия ответа уже Берутся записи из cashcheck_payment_log только.getPaymentLog
(int printerId, Period period, Page page) getPaymentLog
(Set<Integer> cids, int printerId, Boolean erroredType, String posMapping, Period period, Page page, Collection<Integer> logIds) Возвращаем список прямо из лога уже напечатанных.getPaymentNotLogList
(List<Integer> paymentIds) Получаем список платежей по списку id.getPaymentQueue
(Period period, List<Integer> paytypes, Page page) Список платежей, которые могут быть напечатаны, но ещё не были.void
updateChargeFiscalDataForPendingId
(String pendingId, String fiscalData) void
updateChargeLastErrorForPendingId
(String pendingId, String lastError) void
updateChargeLog
(int chargeId, int posId, String checkData, Check.Type checkType, String posMapping, String errorText, String pendingId, int contractId, String fiscalData, Integer logId) Добавляем расход/возврат (чек возврата) к логу.void
updatePaymentFiscalDataForPendingId
(String pendingId, String fiscalData) void
updatePaymentLastErrorForPendingId
(String pendingId, String lastError) void
updatePaymentLog
(int paymentId, int posId) Deprecated.use updatePaymentLog( int paymentId, int posId, String checkData, int checkType )void
updatePaymentLog
(int paymentId, int posId, String checkData, Check.Type checkType, String posMapping, String errorText, String pendingId, int contractId, String fiscalData, Integer logId) Добавляем платёж к логу (или обновляем текущий).
-
Constructor Details
-
PaymentQueueManager
-
-
Method Details
-
getPaymentQueue
public Result<Payment> getPaymentQueue(Period period, List<Integer> paytypes, Page page) throws ru.bitel.bgbilling.common.BGException Список платежей, которые могут быть напечатаны, но ещё не были. Технически — все платежи указанных типов, которые отсутствуют в логе распечатанных. Проверяет внутри параметр конфига "fiscal.start" и если есть - ограничивает снизу по нему очередь. Используется конечно таблица contract_payment.- Parameters:
period
- период фильтр (берутся включительно, обрезаются по "fiscal.start").paytypes
- список типов платежей (берётся, например, от конкретного регистратора). должен быть непустой, иначе и вернётся пустое.page
- пагинация- Returns:
- резулт со списком платежей и пагинацией.
- Throws:
ru.bitel.bgbilling.common.BGException
-
getChargeQueue
public Result<Payment> getChargeQueue(Period period, List<Integer> chatypes, Page page) throws ru.bitel.bgbilling.common.BGException Список расходов, которые могут быть напечатаны, но ещё не были. Технически - все расходы указанных типов, которые отсутствуют в логе распечатанных. Проверяет внутри параметр конфига "fiscal.start" и если есть - ограничивает снизу по нему очередь. Используется конечно таблица contract_charge.- Parameters:
period
- период фильтр (берутся включительно, обрезаются по "fiscal.start").chatypes
- список типов расходов (берётся, например, от конкретного регистратора). должен быть непустой, иначе и вернётся пустое.page
- пагинация- Returns:
- резулт со списком cashcheck.Payment и пагинацией.
- Throws:
ru.bitel.bgbilling.common.BGException
-
getPaymentNotLogList
public List<Payment> getPaymentNotLogList(List<Integer> paymentIds) throws ru.bitel.bgbilling.common.BGException Получаем список платежей по списку id. Берутся платежи из contract_payment. Заберёт платежи и если в логах их нет (параметры относящиеся к логу будут пустые)- Parameters:
paymentIds
- ид платежей.- Returns:
- список платежей, без заполненных частей от лога.
- Throws:
ru.bitel.bgbilling.common.BGException
-
getChargesList
public List<Payment> getChargesList(List<Integer> chargeIds) throws ru.bitel.bgbilling.common.BGException Получаем список расходов/возвратов по списку id. Берутся из contract_charge. Дополняются другими данными. Аналог #getPaymentNotLogList Если данные из cashcheck_charge_log - getQueueDate итд не заполнены, значит в логе нет, заполнилось только ядерная инфа- Parameters:
chargeIds
- ид платежей.- Returns:
- список расходов/возвратов, возможно без заполненных частей от лога (модельки Payment).
- Throws:
ru.bitel.bgbilling.common.BGException
-
updatePaymentLog
public void updatePaymentLog(int paymentId, int posId, String checkData, Check.Type checkType, String posMapping, String errorText, String pendingId, int contractId, String fiscalData, Integer logId) throws ru.bitel.bgbilling.common.BGException Добавляем платёж к логу (или обновляем текущий).- Parameters:
paymentId
- ид платежа.posId
- номер ККМ.logId
- если не null, то будет обновлена запись в логе с таким log_id, иначе вставлена- Throws:
ru.bitel.bgbilling.common.BGException
-
updateChargeLog
public void updateChargeLog(int chargeId, int posId, String checkData, Check.Type checkType, String posMapping, String errorText, String pendingId, int contractId, String fiscalData, Integer logId) throws ru.bitel.bgbilling.common.BGException Добавляем расход/возврат (чек возврата) к логу.- Parameters:
paymentId
- ид расхода/возврата.posId
- номер ККМ.logId
- если не null, то будет обновлена запись в логе с таким log_id, иначе вставлена- Throws:
ru.bitel.bgbilling.common.BGException
-
updatePaymentLog
@Deprecated public void updatePaymentLog(int paymentId, int posId) throws ru.bitel.bgbilling.common.BGException Deprecated.use updatePaymentLog( int paymentId, int posId, String checkData, int checkType )- Throws:
ru.bitel.bgbilling.common.BGException
-
getPaymentLog
public Result<Payment> getPaymentLog(int printerId, Period period, Page page) throws ru.bitel.bgbilling.common.BGException - Throws:
ru.bitel.bgbilling.common.BGException
-
getPaymentLog
public Result<Payment> getPaymentLog(Set<Integer> cids, int printerId, Boolean erroredType, String posMapping, Period period, Page page, Collection<Integer> logIds) throws ru.bitel.bgbilling.common.BGException Возвращаем список прямо из лога уже напечатанных. Берутся записи из cashcheck_payment_log.- Parameters:
cids
- фильтр по договорам, если null или пустой - то по всемprinterId
- фильтр по ККМ, или 0 если все.erroredType
- null - все чеки, true - только с ошибками, false - только без ошибокposMapping
- фильтр по маппингу, null - все, строка - только с указанным маппингом (пустая строка соответсвует и пустому и null значению в БД)period
- период (записи лога, а не платежа)page
- пагинация (null - не используется)logIds
- список ид лога, для возврата всех моделей целиком (используется для получения лога по айдишникам), null - не используется (пустой - ничего не вернёт)- Returns:
- список платежей в виде Result (т.е. поддержка пагинации), сортировка обратная.
- Throws:
ru.bitel.bgbilling.common.BGException
-
getChargeLog
public Result<Payment> getChargeLog(Set<Integer> cids, int printerId, Boolean erroredType, String posMapping, Period period, Page page, Collection<Integer> logIds) throws ru.bitel.bgbilling.common.BGException Возвращаем список из лога уже напечатанных чеков возврата. Берутся записи из cashcheck_charge_log.- Parameters:
cids
- фильтр по договорам, если null или пустой - то по всемprinterId
- фильтр по ККМ, или 0 если все.erroredType
- null - все чеки, true - только с ошибками, false - только без ошибокposMapping
- фильтр по маппингу, null - все, строка - только с указанным маппингом (пустая строка соответсвует и пустому и null значению в БД)period
- периодpage
- пагинация (null - не используется)- Returns:
- список расходов/возвратов в виде Result (т.е. поддержка пагинации), сортировка обратная.
- Throws:
ru.bitel.bgbilling.common.BGException
-
_updateLastErrorForPendingId
public void _updateLastErrorForPendingId(String _table, String pendingId, String lastError) throws ru.bitel.bgbilling.common.BGException общий метод для cashcheck_payment_log/cashcheck_charge_log передаётся _table="payment"/"charge"- Throws:
ru.bitel.bgbilling.common.BGException
-
updatePaymentLastErrorForPendingId
public void updatePaymentLastErrorForPendingId(String pendingId, String lastError) throws ru.bitel.bgbilling.common.BGException - Throws:
ru.bitel.bgbilling.common.BGException
-
updateChargeLastErrorForPendingId
public void updateChargeLastErrorForPendingId(String pendingId, String lastError) throws ru.bitel.bgbilling.common.BGException - Throws:
ru.bitel.bgbilling.common.BGException
-
_updateFiscalDataForPendingId
public void _updateFiscalDataForPendingId(String _table, String pendingId, String fiscalData) throws ru.bitel.bgbilling.common.BGException общий метод для cashcheck_payment_log/cashcheck_charge_log передаётся _table="payment"/"charge"- Throws:
ru.bitel.bgbilling.common.BGException
-
updatePaymentFiscalDataForPendingId
public void updatePaymentFiscalDataForPendingId(String pendingId, String fiscalData) throws ru.bitel.bgbilling.common.BGException - Throws:
ru.bitel.bgbilling.common.BGException
-
updateChargeFiscalDataForPendingId
public void updateChargeFiscalDataForPendingId(String pendingId, String fiscalData) throws ru.bitel.bgbilling.common.BGException - Throws:
ru.bitel.bgbilling.common.BGException
-
getNeedPendingIdLog
public List<Payment> getNeedPendingIdLog(String _table, int printerId, Date fromDate, Date toDate, boolean isError) throws ru.bitel.bgbilling.common.BGException возвращает список pending_id платежей из лога готовых к опросу статуса - с наличием pending_id и без наличия ответа уже Берутся записи из cashcheck_payment_log только. общий метод для cashcheck_payment_log/cashcheck_charge_log, contract_payment/contract_charge, contract_payment_types/contract_charge_types передаётся _table="payment"/"charge" чтобы сгенерить некоторые имена таблиц и колонку (payment_id/charge_id)- Parameters:
isError
- если true то выбираются только те в которых есть last_error (т.е. уже печатали и не получилось), если false только те где нет last_error (т.е. первый раз попытка печатать)_table
- для общего вызова, "payment"/"charge"- Throws:
ru.bitel.bgbilling.common.BGException
-
getExistingPosMapping
Все маппинги когда-либо используемые в логах, для фильтра, например. И из таблицы чеков приходов и расходов.- Throws:
ru.bitel.bgbilling.common.BGException
-