package com.yc.ship.module.trade.service.report;

import com.yc.ship.framework.common.pojo.PageResult;
import com.yc.ship.module.trade.controller.admin.report.vo.CruiseOpsDailyReqVO;
import com.yc.ship.module.trade.controller.admin.report.vo.CruiseOpsDailyRespVO;
import com.yc.ship.module.trade.controller.admin.report.vo.YangtzePassengerSummaryPageReqVO;
import com.yc.ship.module.trade.controller.admin.report.vo.YangtzePassengerSummaryRespVO;

import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.List;

/**
 * 省际度假游轮经营情况日报 Service 接口
 *
 * @author auto-generated
 */
public interface OpsDailyService {

    /**
     * 查询省际度假游轮经营情况日报列表
     *
     * @param reqVO 查询条件
     * @return 数据列表
     */
    List<CruiseOpsDailyRespVO> getCruiseOpsDailyList(CruiseOpsDailyReqVO reqVO);

    /**
     * 导出省际度假游轮经营情况日报 Excel
     *
     * @param reqVO    查询条件
     * @param response HTTP响应
     * @throws IOException IO异常
     */
    void exportCruiseOpsDailyExcel(CruiseOpsDailyReqVO reqVO, HttpServletResponse response) throws IOException;

    /**
     * 分页查询长江行游轮游客数据及营收统计
     *
     * @param pageReqVO 分页查询条件
     * @return 分页结果
     */
    PageResult<YangtzePassengerSummaryRespVO> getYangtzePassengerSummaryPage(YangtzePassengerSummaryPageReqVO pageReqVO);

    /**
     * 导出长江行游轮游客数据及营收统计 Excel
     *
     * @param pageReqVO 查询条件
     * @param response  HTTP响应
     * @throws IOException IO异常
     */
    void exportYangtzePassengerSummaryExcel(YangtzePassengerSummaryPageReqVO pageReqVO,
                                            HttpServletResponse response) throws IOException;

}
