package cn.com.ctop.kuaishou.modules.report.service;

import cn.com.ctop.common.module.vo.SheetInfoVo;
import cn.com.ctop.kuaishou.modules.report.entity.KuaishouReportDailyAccount;
import cn.com.ctop.kuaishou.modules.report.entity.KuaishouReportDailyAccountDTO;
import cn.com.ctop.kuaishou.modules.report.entity.ProjectAccountDTO;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.extension.service.IService;
import com.github.pagehelper.PageInfo;

import java.util.List;

public interface IKuaishouReportDailyAccountService extends IService<KuaishouReportDailyAccount> {

    List<JSONObject> selectCost(Long accountId, String startDate, String endDate);

    PageInfo<ProjectAccountDTO> getKuaishouProjectInfo(String startDate, String endDate, List<Long> projectList , Integer pageSize, Integer pageNum, String sort, Integer yn );

    PageInfo<ProjectAccountDTO> getKuaishouSaleProjectInfo(String startDate, String endDate, List<Long> projectList, Integer pageSize, Integer pageNum, String sort, Integer yn);

    PageInfo<KuaishouReportDailyAccountDTO> getKuaishouSaleAccountInfoByProjectId(List<Long> projectList, Long projectId, String startDate, String endDate, Integer pageSize, Integer pageNum, Integer yn);

    PageInfo<KuaishouReportDailyAccountDTO> getKuaishouAccountInfoByProjectId(Long projectId, List<Long> projectList, String startDate, String endDate, Integer pageSize, Integer pageNum, Integer yn);

    PageInfo<KuaishouReportDailyAccountDTO> getKuaishouCampaignInfoByAccountId(List<Long> projectList, Long accountId, String startDate, String endDate, Integer pageSize, Integer pageNum, Integer yn);

    PageInfo<KuaishouReportDailyAccountDTO> getKuaishouUnitInfoByCampaignId(List<Long> projectList, Long campaignId, String startDate, String endDate, Integer pageSize, Integer pageNum, Integer yn);

    PageInfo<KuaishouReportDailyAccountDTO> getKuaishouCreativeInfoByUnitId(List<Long> projectList, Long unitId, String startDate, String endDate, Integer pageSize, Integer pageNum, Integer yn);

    SheetInfoVo getKuaishouSaleProjectInfoSheetVO(String startDate, String endDate, List<Long> projectList, int pageNum, int pageSize, String s, Integer yn);
}
