package com.ktg.iscs.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.ktg.iscs.domain.IsHardwareType;
import com.ktg.iscs.domain.dto.hardware.GetListDTO;
import com.ktg.iscs.domain.vo.hardware.IsHardwareTypeVO;

import java.util.List;

/**
 * 硬件类型Service接口
 *
 * @author cgj
 * @date 2024-10-16
 */
public interface IIsHardwareTypeService extends IService<IsHardwareType>
{
    /**
     * 查询硬件类型
     *
     * @param id 硬件类型主键
     * @return 硬件类型
     */
    IsHardwareType selectIsHardwareTypeById(Long id);

    /**
     * 查询硬件类型列表
     *
     * @param isHardwareType 硬件类型
     * @return 硬件类型集合
     */
    List<IsHardwareType> selectIsHardwareTypeList(IsHardwareType isHardwareType);

    /**
     * 新增硬件类型
     *
     * @param isHardwareType 硬件类型
     * @return 结果
     */
    int insertIsHardwareType(IsHardwareType isHardwareType);

    /**
     * 修改硬件类型
     *
     * @param isHardwareType 硬件类型
     * @return 结果
     */
    int updateIsHardwareType(IsHardwareType isHardwareType);

    /**
     * 批量删除硬件类型
     *
     * @param ids 需要删除的硬件类型主键集合
     * @return 结果
     */
    int deleteIsHardwareTypeByIds(String ids);

    /**
     * 删除硬件类型信息
     *
     * @param id 硬件类型主键
     * @return 结果
     */
    int deleteIsHardwareTypeById(Long id);

    List<IsHardwareTypeVO> getIsHardwareTypeList(GetListDTO getListDTO);

    Page<IsHardwareType> getIsHardwareTypePage(Page<IsHardwareType> page, GetListDTO getListDTO);
}
