package com.sqx.modules.reconciliation.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.sqx.common.utils.PageUtils;
import com.sqx.modules.reconciliation.model.PlatformBill;
import com.sqx.modules.reconciliation.model.PlatformBillDto;
import com.sqx.modules.utils.excel.ExcelData;

import java.time.LocalDate;

/**
 * <p>
 * 对账管理表 服务类
 * </p>
 *
 * @author ceshi
 * @since 2025-02-27
 */
public interface PlatformBillService extends IService<PlatformBill> {

    void test(LocalDate date);

    /**
     * 生成对账单
     * @param date 账单日期
     * @param cover 是否覆盖 为true是如果当天有对账单则先删除当天账单数据再重新生成
     */
    void generatePlatformBill(LocalDate date, boolean cover);

    int insertPlatformBill();

    PageUtils riderBill(PlatformBillDto platformBillDto);

    PageUtils shopBill(PlatformBillDto platformBillDto);

    PageUtils platformBill(PlatformBillDto platformBillDto);

    ExcelData excelRiderBillList(PlatformBillDto query);

    ExcelData excelShopBillList(PlatformBillDto query);

    ExcelData excelPlatformBillList(PlatformBillDto query);
}
