package com.pqs9300.service.strategy;


import com.pqs9300.pojo.strategy.DicStrategyRVO;
import com.pqs9300.pojo.strategy.ThsAlarmAss;
import com.pqs9300.pojo.strategy.ThsAlarmFormAss;
import com.pqs9300.pojo.strategy.ThsAlarmDTO;

import java.util.List;


/**
 * @Description
 * @Author cdf
 * @Date 2020/6/17 15:35
 **/
public interface AlarmStrategyService {

    /**
     * @Author chendaofei
     * @Description 新增告警策略
     * @Date 15:27 2020/6/17
     **/
    String addAlarm(ThsAlarmDTO thsAlarmDTO);

    /**
     * @Author chendaofei
     * @Description 修改告警策略
     * @Date 15:27 2020/6/17
     **/
    String updateAlarm(ThsAlarmDTO thsAlarmDTO);

    /**
     * @Author chendaofei
     * @Description 控制是否启用策略
     * @Date 15:27 2020/6/17
     **/
    Integer statusController(String alarmIndex,Integer state);

    /**
     * @Author chendaofei
     * @Description 修改告警策略指标类型与或
     * @Date 15:27 2020/6/17
     **/
    Integer updateAlarmAndOr(String alarmIndex, Integer operation);

    /**
     * @Author chendaofei
     * @Description 删除告警策略
     * @Date 15:27 2020/6/17
     **/
    String delAlarm(String alarmIndex);

    /**
     * @Author chendaofei
     * @Description 是否存在绑定事件
     * @Date 15:27 2020/6/17
     **/
    Integer isExitBindEvent(String alarmIndex);

    /**
     * @Author chendaofei
     * @Description 删除告警策略
     * @Date 15:27 2020/6/17
     **/
    List<ThsAlarmDTO> getAlarmList(Integer grade);

    /**
     * @Author chendaofei
     * @Description 通过id获取告警策略
     * @Date 15:27 2020/6/17
     **/
    ThsAlarmDTO getAlarmById(String alarmIndex);



    /*------------------操作THS_WarnFormAss表--------------------------*/
    /**
     * @Author chendaofei
     * @Description 新增告警策略关系表
     * @Date 15:27 2020/6/17
     **/
    String addAlarmAss(String alarmIndex,Integer state,List<ThsAlarmFormAss>list);



    /**
     * @Author chendaofei
     * @Description 获取告警策略列表
     * @Date 15:27 2020/6/17
     **/
    List<ThsAlarmAss> getStrategyLine(String alarmIndex, Integer type);

    /**
     * @Author chendaofei
     * @Description 获取告警策略列表
     * @Date 15:27 2020/6/17
     **/
    List<DicStrategyRVO> getAlarmAss(String alarmIndex, Integer type);

}
