package com.zc.business.service;

import com.ruoyi.common.annotation.DataScope;
import com.ruoyi.common.core.domain.AjaxResult;
import com.zc.business.domain.*;

import java.util.List;

/**
 * 中间库Service接口
 * 
 * @author ruoyi
 * @date 2024-01-03
 */
public interface IMiddleDatabaseService
{

    /**
     * 中间库新增设备数据
     *
     * @param mdDeviceData 气象检测器数据
     * @return 结果
     */
    boolean insertMiddleDatabaseDeviceData(MdDeviceData mdDeviceData);

    /**
     * 批量更新中间库设备
     *
     * @param listDevice 设备列表
     * @return 结果
     */
    boolean updateMiddleDatabaseDeviceByList(List<DcDevice> listDevice);

    /**
     * 添加中间库设备
     *
     * @param mdDevice 设备
     * @return 结果
     */
    boolean insertMiddleDatabaseDeviceInfo(MdDevice mdDevice);

    /**
     * 修改中间库设备
     *
     * @param mdDevice 设备
     * @return 结果
     */
    boolean updateMiddleDatabaseDeviceInfo(MdDevice mdDevice);

    /**
     * 批量删除中间库设备
     * 假删
     *
     * @param ids ids
     * @return 结果
     */
    boolean deleteMiddleDatabaseDeviceInfoByIds(List<String> ids);

    /**
     * 批量更新中间库设备
     * 有则修改,无则新增
     *
     * @param mdDeviceList 设备列表
     * @return 结果
     */
    boolean synchronizeMdDevice(List<MdDevice> mdDeviceList);

    /**
     * 更新中间库设备状态
     *
     * @param device 设备
     * @return 结果
     */
    boolean updateMiddleDatabaseDevice(DcDevice device);

    /**
     * 中间库新增事件
     *
     * @param
     * @return 结果
     */
    boolean insertMiddleDatabaseEvent(MdEvent mdEvent);

    /**
     * 中间库更新事件
     *
     * @param
     * @return 结果
     */
    boolean updateMiddleDatabaseEvent(MdEvent mdEvent);


    boolean batchInsertMiddleDatabaseEvent(List<MdEvent> mdEventList);

}