package com.sptg.device.biz.service;

import com.baomidou.mybatisplus.plugins.Page;
import com.baomidou.mybatisplus.service.IService;
import com.sptg.common.core.beans.PageBean;
import com.sptg.common.core.beans.ResultBean;
import com.sptg.device.api.dto.DeviceTemplateDto;
import com.sptg.device.api.entity.DeviceTemplate;
import com.sptg.device.api.entity.DeviceTemplate;
import com.sptg.estate.api.dto.ResidentialDto;
import com.sptg.estate.api.entity.Residential;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;

import java.util.List;

public interface DeviceTemplateServiceInterface extends IService<DeviceTemplate> {

    /**
     * 分页查询
     * @param deviceTemplateDto 查询条件
     * @return Page<DeviceTemplate>
     */
    ResultBean<Page<DeviceTemplate>> pagingQuery(DeviceTemplateDto deviceTemplateDto);

    /**
     * 添加设备配置
     * @param deviceTemplateDto 设备配置
     * @return Boolean
     */
    ResultBean<Boolean> addDeviceTemplate(DeviceTemplateDto deviceTemplateDto);

    /**
     * 修改设备配置
     * @param deviceTemplateDto 设备配置
     * @return Boolean
     */
    ResultBean<Boolean> updateDeviceTemplate(DeviceTemplateDto deviceTemplateDto);

    /**
     * 删除设备配置
     * @param deviceTemplateDto 设备配置
     * @return Boolean
     */
    ResultBean<Boolean> deleteDeviceTemplate(DeviceTemplateDto deviceTemplateDto);

    /**
     * 获取一条记录
     * @param deviceTemplateDto 查询条件
     * @return DeviceTemplate
     */
    DeviceTemplate getOne(DeviceTemplateDto deviceTemplateDto);

    /**
     * 根据条件获取列表
     * @param deviceTemplateDto 查询条件
     * @return List<DeviceTemplate>
     */
    List<DeviceTemplate> getListByCondition(DeviceTemplateDto deviceTemplateDto);

    /**
     * 根据设备厂商和型号获取记录
     * @param deviceTemplateDto
     * @return
     */
    List<DeviceTemplate> getListByLikeTypeCode(DeviceTemplateDto deviceTemplateDto);
}
