| | |
| | | package com.ruoyi.system.service; |
| | | |
| | | import com.baomidou.mybatisplus.extension.service.IService; |
| | | import com.ruoyi.common.basic.PageInfo; |
| | | import com.ruoyi.system.dto.BillStatisticsDto; |
| | | import com.ruoyi.system.dto.CachPayDto; |
| | | import com.ruoyi.system.dto.OfflinePayCheckDto; |
| | | import com.ruoyi.system.dto.SmsByBillDto; |
| | | import com.ruoyi.system.dto.TBillDto; |
| | | import com.ruoyi.system.dto.TbillSaveDto; |
| | | import com.ruoyi.system.model.TBill; |
| | | import com.ruoyi.system.query.TBillQuery; |
| | | import com.ruoyi.system.vo.ScreenRentRankVO; |
| | | import com.taxi591.bankapi.dto.ChargeBillRequest; |
| | | |
| | | import javax.validation.constraints.NotEmpty; |
| | | import java.math.BigDecimal; |
| | | import java.util.Date; |
| | | import java.util.List; |
| | | import java.util.function.Consumer; |
| | | |
| | | /** |
| | | * <p> |
| | |
| | | */ |
| | | public interface TBillService extends IService<TBill> { |
| | | |
| | | PageInfo<TBillDto> queryPage(TBillQuery query); |
| | | |
| | | |
| | | PageInfo<TBillDto> queryPageForApplet(TBillQuery query); |
| | | |
| | | /** |
| | | * |
| | | * 更新类型 1.仅更新信息及状态 2.更新金额及状态 |
| | | * 为1时,仅更新非金额之外的信息及状态 |
| | | * 为2时,传入的金额,是需要增加或减少的金额,非计算后的金额 |
| | | * 当账单状态为已缴费后,不做任何更新 |
| | | * @param tBill |
| | | * @param type |
| | | * @return |
| | | */ |
| | | TBill lockAndUpdateInfo(TBill tBill,Integer type); |
| | | |
| | | /** |
| | | * 批量对账单进行金额的分配 |
| | | * @param billIds |
| | | * @param amount 支付的总金额,元 |
| | | * @param consumer 处理完账单后的回调,参数是处理完成后,最新的bill信息 |
| | | * @return |
| | | */ |
| | | Boolean lockAndUpdateByAmountBatch(List<TBill> billIds, BigDecimal amount, Consumer<TBill> consumer); |
| | | |
| | | |
| | | void saveBill(TbillSaveDto bill); |
| | | |
| | | boolean checkOfflinePay(OfflinePayCheckDto dto); |
| | | |
| | | void completePay(ChargeBillRequest billRequest); |
| | | |
| | | /** |
| | | * 查询账单id列表 |
| | | * @param query |
| | | * @return |
| | | */ |
| | | List<String> getBillIds(TBillQuery query); |
| | | |
| | | /** |
| | | * 查询开票列表 |
| | | * @param query |
| | | * @return |
| | | */ |
| | | PageInfo<TBillDto> invoiceList(TBillQuery query); |
| | | |
| | | /** |
| | | * 根据发票编号查询账单列表 |
| | | * @param invoiceId |
| | | * @return |
| | | */ |
| | | PageInfo<TBillDto> getBillByInvoiceId(String invoiceId); |
| | | |
| | | Integer sendSmsByBillIds(SmsByBillDto dto); |
| | | |
| | | Integer sendMailBatchByBillIds(SmsByBillDto dto); |
| | | |
| | | TBillDto getDetailByBillId(@NotEmpty String id); |
| | | |
| | | Boolean cashPay(CachPayDto offlinePayDto); |
| | | |
| | | BillStatisticsDto statistics(TBillQuery query); |
| | | |
| | | Integer batchBillCount(String userId, List<String> billIds); |
| | | |
| | | /** |
| | | * 查询街道租金排行 |
| | | * @return |
| | | */ |
| | | List<ScreenRentRankVO> getStreetRentRank(String businessDeptId); |
| | | |
| | | /** |
| | | * 查询季付账单 |
| | | * @param businessDeptId |
| | | * @return |
| | | */ |
| | | List<TBill> getJiFuBillList(String businessDeptId); |
| | | |
| | | /** |
| | | * 查询当前季度的季付账单 |
| | | * @param businessDeptId |
| | | * @param first |
| | | * @param last |
| | | * @return |
| | | */ |
| | | List<TBill> getJiFuBillListByTime(String businessDeptId, Date first, Date last); |
| | | |
| | | void editAmount(TbillSaveDto bill); |
| | | } |