package com.jjt.rz.service;

import com.jjt.rz.domain.TwinDeviceType;
import com.jjt.rz.domain.TwinDeviceTypeData;

import java.util.List;

/**
 * 设备类型管理Service接口
 *
 * @author wukai
 * @date 2025-05-21
 */
public interface ITwinDeviceTypeService {
    /**
     * 查询设备类型管理
     *
     * @param typeId 设备类型管理主键
     * @return 设备类型管理
     */
    public TwinDeviceType selectTwinDeviceTypeByTypeId(Long typeId);

    /**
     * 查询设备类型管理列表
     *
     * @param twinDeviceType 设备类型管理
     * @return 设备类型管理集合
     */
    public List<TwinDeviceType> selectTwinDeviceTypeList(TwinDeviceType twinDeviceType);

    /**
     * 查询所有设备类型
     *
     * @return 设备类型管理集合
     */
     List<TwinDeviceType> selectTwinDeviceTypeAll();

    /**
     * 查询所有设备数据列表
     *
     * @return 设备数据集合
     */
     List<TwinDeviceTypeData> selectTwinDeviceTypeDataAll();

    /**
     * 新增设备类型管理
     *
     * @param twinDeviceType 设备类型管理
     * @return 结果
     */
    public int insertTwinDeviceType(TwinDeviceType twinDeviceType);

    /**
     * 修改设备类型管理
     *
     * @param twinDeviceType 设备类型管理
     * @return 结果
     */
    public int updateTwinDeviceType(TwinDeviceType twinDeviceType);

    /**
     * 批量删除设备类型管理
     *
     * @param typeIds 需要删除的设备类型管理主键集合
     * @return 结果
     */
    public int deleteTwinDeviceTypeByTypeIds(Long[] typeIds);

    /**
     * 删除设备类型管理信息
     *
     * @param typeId 设备类型管理主键
     * @return 结果
     */
    public int deleteTwinDeviceTypeByTypeId(Long typeId);
}
