package org.springblade.modules.app.service.impl;

import org.springblade.modules.app.common.dto.*;
import org.springblade.modules.app.common.query.StatBaseQuery;
import org.springblade.modules.app.entity.VerifyStationDTO;
import org.springblade.modules.app.mapper.StatReportMapper;
import org.springblade.modules.app.service.IStatReportService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;

/**
 * <p>
 * 统计信息 服务实现类
 * </p>
 *
 * @author zhangk
 * @since 2021-12-30
 */
@Service
public class StatReportServiceImpl implements IStatReportService {

    @Autowired
    private StatReportMapper statReportMapper;

    @Override
    public StatHeatMapTopDTO statHeatMapTop(StatBaseQuery query) {
        StatHeatMapTopDTO dto = statReportMapper.statHeatMapTop(query);
        return dto;
    }

    @Override
    public List<StatHeatMapMidDTO> statHeatMapMid(StatBaseQuery query) {
        return statReportMapper.statHeatMapMid(query);
    }

    @Override
    public StatHeatMapFootDTO statHeatMapFoot(StatBaseQuery query) {
        return statReportMapper.statHeatMapFoot(query);
    }

    @Override
    public List<StatWaybillDTO> prepList(StatBaseQuery query) {
        return statReportMapper.prepList(query);
    }

    @Override
    public List<StatWaybillDTO> wayList(StatBaseQuery query) {
        return statReportMapper.wayList(query);
    }

    @Override
    public List<StatWaybillDTO> finishList(StatBaseQuery query) {
        return statReportMapper.finishList(query);
    }

    @Override
    public List<StatBySalerDTO> statBySaler(StatBaseQuery query) {
        return statReportMapper.statBySaler(query);
    }

    @Override
    public List<StatByAgentUserDTO> statByAgent(StatBaseQuery query) {
        return statReportMapper.statByAgent(query);
    }

    @Override
    public List<StatByBuyerDTO> statByBuyer(StatBaseQuery query) {
        return statReportMapper.statByBuyer(query);
    }

    @Override
    public List<StatByBuyerDTO> statByBuyerHistory(StatBaseQuery query,List<Long> buyerUserIdList) {
        return statReportMapper.statByBuyerHistory(query,buyerUserIdList);
    }

    @Override
    public List<StatExpOrderDTO> statExpOrder(StatBaseQuery query) {
        return statReportMapper.statExpOrder(query);
    }

    @Override
    public List<StatViolationDTO> statViolation(StatBaseQuery query) {
        return statReportMapper.statViolation(query);
    }

    @Override
    public List<VerifyStationDTO> statVerifyStationOrderNum(StatBaseQuery query) {
        return statReportMapper.StatVerifyStationOrderNum(query);
    }

}
