package com.zcxk.rmcp.web.service;

import com.zcxk.core.mysql.pageing.Pagination;
import com.zcxk.rmcp.api.dto.alarm.AlarmTypeDto;
import com.zcxk.rmcp.api.dto.alarm.AlarmTypePageDto;

import java.util.List;
/**
 *
 * @author heyumin
 * @date 2021-07-30 9:44
 */
public interface AlarmTypeService {
    /**获取告警类型列表
      * @param alarmTypePageDto
     * @description
     * @author hym
     * @updateTime 2021/8/3 9:43
     * @return com.zcxk.core.mysql.pageing.Pagination<com.zcxk.rmcp.api.dto.alarm.AlarmTypeDto>
     * @throws
     */
    Pagination<AlarmTypeDto> getAlarmTypePage(AlarmTypePageDto alarmTypePageDto);
    /**添加告警类型
      * @param alarmType
     * @description
     * @author hym
     * @updateTime 2021/8/3 9:43
     * @return void
     * @throws
     */
    void add(AlarmTypeDto alarmType);
    /**编辑告警类型
      * @param alarmType
     * @description
     * @author hym
     * @updateTime 2021/8/3 9:43
     * @return void
     * @throws
     */
    void edit(AlarmTypeDto alarmType);
    /**删除告警类型
      * @param ids
     * @description
     * @author hym
     * @updateTime 2021/8/3 9:44
     * @return int
     * @throws
     */
    int delete(List<Integer> ids);
    /**删除所有告警类型
      * @param 
     * @description
     * @author hym
     * @updateTime 2021/8/3 9:44
     * @return int
     * @throws
     */
    int deleteAll();
    /**更改告警类型状态
      * @param id
     * @description
     * @author hym
     * @updateTime 2021/8/3 9:56
     * @return void
     * @throws
     */
    void updateStatus(Integer id);

    /*
     * @description 告警类型列表
     * @param
     * @return
     * @author linqingwei
     **/
    List<AlarmTypeDto> getAlarmTypeList();
}
