package com.ruoyi.tuya.service;

import java.util.List;

import com.ruoyi.tuya.domain.TuyaCategoryInfo;
import com.ruoyi.tuya.domain.TuyaChannelInfo;

/**
 * 模块信息Service接口
 *
 * @author zf
 * @date 2022-07-06
 */
public interface ITuyaChannelInfoService
{
    /**
     * 校验模块名称
     *
     * @param tuyaChannelInfo 模块信息
     * @return 结果
     */
    public String checkChannelNameUnique(TuyaChannelInfo tuyaChannelInfo);

    /**
     * 查询模块信息
     *
     * @param channelId 模块信息主键
     * @return 模块信息
     */
    public TuyaChannelInfo selectTuyaChannelInfoByChannelId(Long channelId);

    /**
     * 查询模块信息列表
     *
     * @param tuyaChannelInfo 模块信息
     * @return 模块信息集合
     */
    public List<TuyaChannelInfo> selectTuyaChannelInfoList(TuyaChannelInfo tuyaChannelInfo);

    /**
     * 新增模块信息
     *
     * @param tuyaChannelInfo 模块信息
     * @return 结果
     */
    public int insertTuyaChannelInfo(TuyaChannelInfo tuyaChannelInfo);

    /**
     * 修改模块信息
     *
     * @param tuyaChannelInfo 模块信息
     * @return 结果
     */
    public int updateTuyaChannelInfo(TuyaChannelInfo tuyaChannelInfo);

    /**
     * 批量删除模块信息
     *
     * @param channelIds 需要删除的模块信息主键集合
     * @return 结果
     */
    public int deleteTuyaChannelInfoByChannelIds(Long[] channelIds);

    /**
     * 删除模块信息信息
     *
     * @param channelId 模块信息主键
     * @return 结果
     */
    public int deleteTuyaChannelInfoByChannelId(Long channelId);

    /**
     * 是否存在子节点
     *
     * @param channelId 模块ID
     * @return 结果
     */
    public boolean hasChildByChannelId(Long channelId);
}
