package com.yuchen.saas.park.service.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.yuchen.saas.park.api.entity.park.PmgLogVideoEventsCount;
import com.yuchen.saas.park.api.vo.park.AbnormalListVO;
import com.yuchen.saas.park.api.vo.park.GetEnvironmentInfo;
import com.yuchen.saas.park.api.vo.park.HandleStatisticsVo;

import java.util.List;
import java.util.Map;

/**
 * @author 张逸飞
 * @create 2021年2月1日 18:48:32
 */
public interface PmgLogVideoEventsCountMapper extends BaseMapper<PmgLogVideoEventsCount> {
    /**
     * 获取24小时行为预警趋势
     * @return
     */
    List<Map<String, Object>> getCountTime24();

    /**
     * 获取24小时行为预警趋势
     * @return
     */
    List<Map<String, Object>> getCountTime24ByParkId(Long parkId, Long buildingId, Long floorId, Long roomId);

    /**
     * 获取总数、已处理、未处理数量
     * @return
     */
    HandleStatisticsVo getStatistics();

    /**
     * 根据园区ID获取总数、已处理、未处理数量
     * @param parkId 园区ID
     * @return
     */
    HandleStatisticsVo getStatisticsByParkId(String parkId);

    /**
     * 查询天的每小时异常行为数
     * @param list productName
     * @param dateFormat 日期格式yyyy-MM-dd
     * @return 天的每小时异常行为数
     */
    List<GetEnvironmentInfo> getHourSecurityAbnormalDay(List<String> list, String dateFormat);

    /**
     * 查询月的每天异常行为数
     * @param list productName
     * @param dateMonth 月份(yyyyMM)
     * @return
     */
    List<GetEnvironmentInfo> getDaySecurityAbnormalMonth(List<String> list, String dateMonth);

    /**
     * 获取异常行为列表
     * @param list productName
     * @return 异常行为列表
     */
    List<AbnormalListVO> getAbnormalList(List<String> list);
}
