package com.usky.iot.service;

import com.usky.common.core.bean.CommonPage;
import com.usky.iot.domain.BaseAlarm;
import com.usky.common.mybatis.core.CrudService;
import com.usky.iot.domain.BaseGgpFacility;
import com.usky.iot.service.vo.BaseAlarmListVO;
import com.usky.iot.service.vo.BaseAlarmRequestVO;
import com.usky.iot.service.vo.BaseAlarmResponeVO;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestParam;

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

/**
 * <p>
 * 统一告警表 服务类
 * </p>
 *
 * @author han
 * @since 2023-07-13
 */
public interface BaseAlarmService extends CrudService<BaseAlarm> {

    CommonPage<BaseAlarmResponeVO> statistic(BaseAlarmRequestVO baseAlarmRequestVO);

    CommonPage<BaseAlarm> page(BaseAlarmListVO baseAlarmListVO);

    void deviceOffLineAlarm();

    CommonPage<BaseAlarmResponeVO> statistic_notoken(BaseAlarmRequestVO baseAlarmRequestVO);

    CommonPage<BaseAlarm> page_notoken(BaseAlarmListVO baseAlarmListVO);

    List<BaseAlarm> getScreenAlarmList();

    void update(BaseAlarm baseAlarm);

    boolean add(BaseAlarm baseAlarm);

    /**
     * 综合云图-告警统计
     * @return
     */
    List<Object> alarmStatistic(Integer deptId);

    /**
     * 实时报警-报警统计
     * @return
     */
    List<Map<String,Object>> alarmStatisticDay(String startTime, String endTime);
}
