package com.bonus.bracelet.service;

import com.bonus.common.core.web.domain.AjaxResult;
import com.bonus.common.entity.bracelet.BraceletParamsDto;
import com.bonus.common.entity.bracelet.vo.*;
import org.springframework.web.multipart.MultipartFile;

import java.util.List;

/**
 * IDeviceService
 */
public interface IDeviceService {

    /**
     * 设备列表
     * @param data
     * @return
     */
    List<DeviceVo> getDeviceLists(DeviceVo data);


    /**
     * 根据边带id获得详细信息
     * @param deviceId
     * @return
     */
    public AjaxResult selectDeviceById(Integer deviceId);


    /**
     * 新增设备信息
     * @param vo
     * @return
     */
    AjaxResult addDevice(DeviceVo vo);

    /**
     * 新增设备属性信息
     * @param file
     * @param params
     * @return
     */
    AjaxResult addAttribute(MultipartFile file, String params);

    /**
     * 修改设备
     *
     * @param vo
     * @return AjaxResult
     * @author cwchen
     * @date 2024/7/17 14:55
     */
    AjaxResult editDevice(DeviceVo vo);

    /**
     * 删除设备
     * @param deviceId
     * @return
     */
    AjaxResult deleteDeviceById(int deviceId);

    /**
     * 设备属性列表
     * @param data
     * @return
     */
    List<AttributeVo> getDeviceAttributeLists(AttributeVo data);


    /**
     * 根据id获取设备属性
     *
     * @param dto
     * @return AjaxResult
     */
    AjaxResult getAttributeInfo(AttributeVo dto);

    /**
     * 修改设备属性信息
     * @param file
     * @param params
     * @return
     */
    AjaxResult editAttribute(MultipartFile file, String params);

    /**
     * 删除设备属性
     * @param id
     * @return
     */
    AjaxResult delDeviceAttribute(Long id);
}
