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

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.yuchen.saas.park.api.dto.park.IoTEvent;
import com.yuchen.saas.park.api.entity.park.PmgBatWarningCategory;
import com.yuchen.saas.park.api.vo.park.PmgBatWarningCategoryVo;
import com.yuchen.saas.park.api.vo.park.WarningCategoryAbnormalCount;
import com.yuchen.saas.park.api.vo.park.WarningCategoryLevelName;
import com.yuchen.saas.park.api.vo.park.WarningLevelVo;
import org.nest.springwrap.core.mp.base.BaseService;

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


/**
 *
 */
public interface IWarningCategoryService extends BaseService<PmgBatWarningCategory> {
    PmgBatWarningCategoryVo getByIdentity1(String identity);
    Map<String, Object> getCameraCount(String productKey);
    Map<String, Object> getCountTime24();

    /**
     *  统计近一周的异常
     */
    List<WarningCategoryAbnormalCount> getAbnormalCount(String datetime);
	List<WarningCategoryAbnormalCount> getAbnormalCount(String datetime,String parkId);

    /**
     * 获取报警类型对象信息-分页
     * @param page 分页信息
     * @return
     */
    IPage<WarningCategoryLevelName> getWarningCategoryPage(IPage<Object> page);
    PmgBatWarningCategoryVo getByIdentity(String identity);

    /**
     * 处理告警事件
     * @param ioTEvent
     */
    void inputData(IoTEvent ioTEvent);

    WarningLevelVo getWarningLevelInfo(String identity);
}
