package com.njcn.event.common.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.njcn.event.pojo.dto.EventCount;
import com.njcn.event.pojo.po.RmpEventDetailPO;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 暂态事件明细
 *
 * @author yzh
 * @date 2022/10/12
 */
@Mapper
public interface RmpEventDetailMapper extends BaseMapper<RmpEventDetailPO> {

    /**
     * 获取暂态事件明细
     *
     * @param monitorIds 监测点id
     * @param eventType  暂态指标类型
     * @param startTime  开始时间
     * @param endTime    结束时间
     * @return 暂态事件明细
     */
    List<RmpEventDetailPO> getDetailsOfTransientEvents(@Param("monitorIds") List<String> monitorIds,
                                                       @Param("eventType") List<String> eventType,
                                                       @Param("startTime") String startTime,
                                                       @Param("endTime") String endTime);

    /***
     * 与上面的方法区别是日期精确到月 yy-MM
     * @author jianghaifei
     * @date 2022-10-31 16:27
     * @param monitorIds
     * @param eventType
     * @param startTime
     * @param endTime
     * @return java.util.List<com.njcn.event.pojo.po.RmpEventDetailPO>
     */
    List<RmpEventDetailPO> getDetailsOfTransientEventsByMonth(@Param("monitorIds") List<String> monitorIds,
                                                       @Param("eventType") List<String> eventType,
                                                       @Param("startTime") String startTime,
                                                       @Param("endTime") String endTime);


    /**
     * 查询暂降信息
     * @param id 暂降事件的id
     * @return
     */
    RmpEventDetailPO getByEventId(@Param("id") String id);

    List<EventCount> getEventCount(@Param("startTime")String startTime,@Param("endTime")String endTime);
}
