package com.nova.sankuai.infra.mapper; import cn.hutool.core.date.DateTime; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.nova.sankuai.domain.dto.ChannelReportDetailDto; import com.nova.sankuai.domain.dto.ChannelReportDto; import com.nova.sankuai.domain.entity.ChannelLog; import com.nova.sankuai.domain.vo.*; import com.nova.sankuai.domain.vo.channel.ChannelExportReportVo; import com.nova.sankuai.domain.vo.channel.ChannelImportReportVo; import com.nova.sankuai.domain.vo.channel.ChannelReportTotalVo; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; import org.springframework.stereotype.Component; import java.util.Date; import java.util.List; /** * @author weikangdi */ @Component @Mapper public interface ChannelLogMapper extends BaseMapper { /** * 入口流量统计 * * @param reportDto * @return */ List importTotal(@Param("reportDto") ChannelReportDto reportDto); /** * 分页获取入口流量明细 * * @param page * @param reportDto * @return */ IPage importDetail(@Param("page") Page page, @Param("reportDto") ChannelReportDetailDto reportDto); /** * 出口流量统计 * * @param reportDto * @return */ List exportTotal(@Param("reportDto") ChannelReportDto reportDto); /** * 分页获取出口流量明细 * * @param page * @param reportDto * @return */ IPage exportDetail(@Param("page") Page page, @Param("reportDto") ChannelReportDetailDto reportDto); /** * 贷款超市出口流量统计 * * @param reportDto * @return */ List exportSupermarketTotal(@Param("reportDto") ChannelReportDto reportDto); /** * 分页获取贷款超市出口流量明细 * * @param page * @param reportDto * @return */ IPage exportLoanMarketDetail(@Param("page") Page page, @Param("reportDto") ChannelReportDetailDto reportDto); /** * 检测当天内重复日志 * * @param beginOfDay * @param endOfDay * @param channelLog * @return */ List selectDuplicateLogs(@Param("beginOfDay") DateTime beginOfDay, @Param("endOfDay") DateTime endOfDay, @Param("channelLog") ChannelLog channelLog); /** * 查询渠道占比 * * @param startDate * @param endDate * @param chCode * @param startDayStr * @param endDayStr * @param hourStr * @return */ List getChannelProportion(@Param("startDate") Date startDate, @Param("endDate") Date endDate, @Param("chCode") Integer chCode, @Param("startDayStr") String startDayStr, @Param("endDayStr") String endDayStr, @Param("hourStr") String[] hourStr); /** * 获取贷超统计报表 * * @param startDate * @param endDate * @param suId * @return */ List getLoanSupermarketStatistics(@Param("startDate") Date startDate, @Param("endDate") Date endDate, @Param("suId") Long suId, @Param("chCode") Integer chCode); /** * 获取联登统计报表 * * @param startDate * @param endDate * @return */ List getAutoStatistics(@Param("startDate") Date startDate, @Param("endDate") Date endDate); /** * 获取全流程报表 * * @param startDate * @param endDate * @return */ WholeProcessStatisticsVo getWholeProcessStatistics(@Param("startDate") Date startDate, @Param("endDate") Date endDate, @Param("chCode") Integer chCode); /** * 联登渠道数据修复 * * @param id * @return */ void dataRepair(@Param("id") Long id); /** * 多渠道统计报表 * * @param startDate * @param endDate * @param chCode * @return */ List channelStatistics(@Param("startDate") Date startDate, @Param("endDate") Date endDate, @Param("chCodes") List chCode); /** * 获取单个渠道盈利分析报表基本项 * * @param startDate * @param endDate * @param chCode * @return */ BaseProfitAnalysisReportVo getBaseProfitAnalysisReportVo(@Param("startDate") Date startDate, @Param("endDate") Date endDate, @Param("chCode") Integer chCode); /** * 获取单个渠道盈利分析报表城市分类对应数量 * * @param startDate * @param endDate * @param chCode * @return */ CityProfitAnalysisReportVo getCityProfitAnalysisReportVo(@Param("startDate") Date startDate, @Param("endDate") Date endDate, @Param("chCode") Integer chCode); }