package com.tuoheng.admin.service.warning;

import com.tuoheng.admin.entity.domain.Warning;
import com.tuoheng.admin.entity.query.WarningQuery;
import com.tuoheng.admin.entity.request.warning.QueryWarningListRequest;
import com.tuoheng.admin.entity.request.warning.WarningConfirmRequest;
import com.tuoheng.common.common.IBaseService;
import com.tuoheng.common.utils.JsonResult;

/**
 * 预警Service接口
 *
 * @author wanjing
 * @team tuoheng
 * @date 2023-02-06
 */
public interface IWarningService extends IBaseService<Warning> {

    /**
     * 查询预警列表
     *
     * @param request 预警
     * @return 预警集合
     */
    JsonResult getList(QueryWarningListRequest request);

    /**
     * 查询预警
     *
     * @param id 预警主键
     * @return 预警
     */
    JsonResult getOneById(Integer id);

    /**
     * 告警列表 分页
     * @param query
     * @return
     */
    JsonResult index(WarningQuery query);

    /**
     *
     * 确认
     *
     * @param request
     * @return
     */
    JsonResult confirm(WarningConfirmRequest request);

    /**
     *
     * 忽略
     *
     * @param id
     * @return
     */
    JsonResult ignore(Integer id);

    /**
     * 预警详情
     * @param id
     * @return
     */
    JsonResult details(Integer id);

    /**
     * 预警通知下发
     * @return
     */
    JsonResult notice();

    /**
     * 通知预警与处理
     * @param id
     * @return
     */
    JsonResult editStatusById(Integer id);
}
