package com.sz.admin.monitor.service;


import com.mybatisflex.core.service.IService;
import com.sz.admin.monitor.pojo.dto.cameraalarm.CameraAlarmCreateDTO;
import com.sz.admin.monitor.pojo.dto.cameraalarm.CameraAlarmListDTO;
import com.sz.admin.monitor.pojo.dto.cameraalarm.CameraAlarmUpdateDTO;
import com.sz.admin.monitor.pojo.po.CameraAlarm;
import com.sz.admin.monitor.pojo.vo.cameraalarm.CameraAlarmVO;
import com.sz.admin.monitor.pojo.vo.edgebox.AlarmReportVO;
import com.sz.core.common.entity.ImportExcelDTO;
import com.sz.core.common.entity.PageResult;
import com.sz.core.common.entity.SelectIdsDTO;
import jakarta.servlet.http.HttpServletResponse;

import java.util.List;

/**
 * <p>
 * 告警工单表 Service
 * </p>
 *
 * @author Lz
 * @since 2026-02-10
 */
public interface CameraAlarmService extends IService<CameraAlarm> {

    void create(CameraAlarmCreateDTO dto);

    void update(CameraAlarmUpdateDTO dto);

    PageResult<CameraAlarmVO> page(CameraAlarmListDTO dto);

    List<CameraAlarmVO> list(CameraAlarmListDTO dto);

    void remove(SelectIdsDTO dto);

    CameraAlarmVO detail(Object id);

    void importExcel(ImportExcelDTO dto);

    void exportExcel(CameraAlarmListDTO dto, HttpServletResponse response);
    // 根据id查询算法报警的详细信息
    AlarmReportVO getAlarmReportDetail(Long id);
}