package com.kuyuntech.vrv.coreapi.service.core;

import com.kuyuntech.vrv.coreapi.bean.core.DeviceAlarmRecordBean;
import com.wbspool.fastboot.core.common.bean.PagerBean;
import java.util.List;

/**
 * DeviceAlarmRecordService
 *
 */
public interface DeviceAlarmRecordService  {

    

    /**
     * 新增记录
     * @param deviceAlarmRecordBean 新增参数
     * @return 如果成功返回对应bean，否则返回null
     */
     DeviceAlarmRecordBean add(DeviceAlarmRecordBean deviceAlarmRecordBean);

    /**
     * 更新记录
     * @param deviceAlarmRecordBean 更新参数
     * @return 如果成功返回对应bean，否则返回null
     */
     DeviceAlarmRecordBean update(DeviceAlarmRecordBean deviceAlarmRecordBean);

    /**
     * 删除记录
     * @param deviceAlarmRecordBean 删除参数
     * @return 如果成功返回对应bean，否则返回null
     */
    DeviceAlarmRecordBean delete(DeviceAlarmRecordBean deviceAlarmRecordBean);

    /**
     * 查找一条记录
     * @param deviceAlarmRecordBean 查找参数
     * @return 如果成功返回对应bean，否则返回null
     */
    DeviceAlarmRecordBean find(DeviceAlarmRecordBean deviceAlarmRecordBean);

    /**
     * 通过唯一标识查找记录
     * @param code 用户标识
     * @return 记录存在返回对应的bean，否则返回null
     */
     DeviceAlarmRecordBean find(String code);

    /**
     * 分页查找多条记录
     * @param deviceAlarmRecordBean 查找参数
     * @param pagerBean  分页参数
     * @return 记录存在返回对应的bean集合，否则返回空集合
     */
     List<DeviceAlarmRecordBean> findAll(DeviceAlarmRecordBean deviceAlarmRecordBean, PagerBean pagerBean);



    /**
     * 查找所有记录
     * @param deviceAlarmRecordBean 查找参数
     * @return 记录存在返回对应的bean集合，否则返回空集合
     */
     List<DeviceAlarmRecordBean> findAll(DeviceAlarmRecordBean deviceAlarmRecordBean);


    /**
     * 统计所有记录
     * @param deviceAlarmRecordBean 统计参数
     * @return 记录存在返回对应的bean集合，否则返回空集合
     */
     Long countAll(DeviceAlarmRecordBean deviceAlarmRecordBean);

    /**
     * 分页查找多条记录
     * @param deviceAlarmRecordBean 查询条件参数
     * @param pagerBean 分页参数
     * @return 返回查询结果的Pager封装
     */
     PagerBean<DeviceAlarmRecordBean> findPager(DeviceAlarmRecordBean deviceAlarmRecordBean, PagerBean pagerBean);

    /**
     * 批量删除
     * @param deviceAlarmRecordBeans 批量删除元素集合
     */
     void batchDelete(List<DeviceAlarmRecordBean> deviceAlarmRecordBeans);

    /**
     * 批量删除
     * @param codes 唯一标识集合
     */
    void batchDeleteByCodes(List<String> codes);

    

}
