package com.securitycontrol.background.service;


import com.securitycontrol.common.core.web.domain.AjaxResult;
import com.securitycontrol.entity.background.vo.DeviceBdDetailVo;
import com.securitycontrol.entity.background.dto.DeviceBdDto;
import com.securitycontrol.entity.background.vo.DeviceBdChildVo;
import com.securitycontrol.entity.background.vo.DeviceBdVo;

import java.util.List;

/**
 * @author：cwchen
 * @date：2024-03-20-13:11
 * @version：1.0
 * @description：边带设备-业务层
 */
public interface IDeviceOfBdService {
    /**
     * 获取边带设备列表
     *
     * @param dto
     * @return List<DeviceBdVo>
     * @description
     * @author cwchen
     * @date 2024/3/20 14:18
     */
    List<DeviceBdVo> getDeviceBdList(DeviceBdDto dto);

    /**
     * 新增/修改边带设备
     *
     * @param vo
     * @return AjaxResult
     * @description
     * @author cwchen
     * @date 2024/3/20 15:11
     */
    AjaxResult addOrUpdateDeviceBd(DeviceBdVo vo);

    /**
     * 边带设备详情
     *
     * @param dto
     * @return AjaxResult
     * @description
     * @author cwchen
     * @date 2024/3/20 17:10
     */
    AjaxResult getDeviceBdById(DeviceBdDto dto);

    /**
     * 删除边带设备
     *
     * @param dto
     * @return AjaxResult
     * @description
     * @author cwchen
     * @date 2024/3/20 17:21
     */
    AjaxResult delDeviceBdById(DeviceBdDto dto);

    /**
     * 获取边带子设备列表
     *
     * @param dto
     * @return List<DeviceBdChildVo>
     * @description
     * @author cwchen
     * @date 2024/3/20 18:08
     */
    List<DeviceBdChildVo> getDeviceBdChildList(DeviceBdDto dto);

    /**
     * 新增/修改边带子设备
     *
     * @param vo
     * @return AjaxResult
     * @description
     * @author cwchen
     * @date 2024/3/20 19:12
     */
    AjaxResult addOrUpdateDeviceBdChild(DeviceBdChildVo vo);

    /**
     * 边带子设备详情
     *
     * @param dto
     * @return AjaxResult
     * @description
     * @author cwchen
     * @date 2024/3/20 19:49
     */
    AjaxResult getDeviceBdChildById(DeviceBdDto dto);

    /**
     * 删除边带设备
     *
     * @param dto
     * @return AjaxResult
     * @description
     * @author cwchen
     * @date 2024/3/20 19:50
     */
    AjaxResult delDeviceBdChildById(DeviceBdDto dto);

    /**
     * 获取边带子设备详情列表
     *
     * @param dto
     * @return List<DeviceBdDetailVo>
     * @description
     * @author cwchen
     * @date 2024/4/2 16:59
     */
    List<DeviceBdDetailVo> getDeviceBdChildDetailList(DeviceBdDto dto);

    /**
     * 新增/修改边带子设备详情数据
     *
     * @param vo
     * @return AjaxResult
     * @description
     * @author cwchen
     * @date 2024/4/2 17:24
     */
    AjaxResult addOrUpdateDeviceBdChildDetail(DeviceBdDetailVo vo);

    /**
     * 边带子设备详情数据
     *
     * @param dto
     * @return AjaxResult
     * @description
     * @author cwchen
     * @date 2024/4/2 17:25
     */
    AjaxResult getDeviceBdChildDetailById(DeviceBdDto dto);

    /**
     * 删除边带子设备详情数据
     * @param dto
     * @return AjaxResult
     * @description
     * @author cwchen
     * @date 2024/4/2 17:25
     */
    AjaxResult delDeviceBdChildDetail(DeviceBdDto dto);
}
