package com.ruoyi.doubledefense.mapper;

import java.util.Date;
import java.util.List;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.ruoyi.doubledefense.domain.Danger;
import com.ruoyi.doubledefense.domain.DangerManage;
import com.ruoyi.doubledefense.dto.DangerDTO;
import com.ruoyi.doubledefense.dto.DangerStatisticsDTO;
import com.ruoyi.doubledefense.dto.DangerStatisticsPCDTO;
import com.ruoyi.doubledefense.dto.res.DangerResultDTO;
import com.ruoyi.doubledefense.dtoGov.DangerDTOGov;
import org.apache.ibatis.annotations.Param;


/**
 * 隐患信息Mapper接口
 *
 * @author ruoyi
 * @date 2023-08-03
 */
public interface DangerMapper extends BaseMapper<Danger> {


    /**
     * 查询隐患信息列表
     *
     * @param danger 隐患信息
     * @return 隐患信息集合
     */
    public List<DangerResultDTO> selectDangerList(DangerDTO danger);

    /**
     * APP首页统计-隐患排查
     *
     * @return
     */
    DangerStatisticsDTO dangerStatistics();


    /**
     * PC首页统计-双重预防机制
     *
     * @param endDate 今天的0点0分的时间
     * @return
     */
    DangerStatisticsPCDTO dangerStatisticsPC(@Param("endDate") Date endDate);

    /**
     * PC首页统计-双重防御机制：查询隐患列表
     * @param danger
     * @return
     */
    List<DangerResultDTO> pcHomePageDangerList(DangerDTO danger);
    /**
     * 重预防汇聚计算节点
     * 查询隐患列表
     *
     * @param dangerDTOGov
     * @return
     */
    List<DangerDTOGov> govSelectDangerList(DangerDTOGov dangerDTOGov);
}
