package cn.hanghui.outapi.platform.tenant.service;

import cn.hanghui.outapi.platform.common.entity.po.Account;
import cn.hanghui.outapi.platform.common.entity.rest.RestResult;
import cn.hanghui.outapi.platform.tenant.entity.dto.*;
import cn.hanghui.outapi.platform.tenant.entity.dto.ampe.AmpeDeviceDto;
import cn.hanghui.outapi.platform.tenant.entity.dto.ampe.AmpeDeviceSearch;
import com.baomidou.mybatisplus.core.metadata.IPage;

/**
 * @author shisl
 * @package cn.hanghui.outapi.platform.tenant.service
 * @class IotDeviceConfigService
 * @date 2023/12/5 下午1:28
 * @description
 */
public interface IotDeviceConfigService {

    RestResult<IPage<IotDeviceConfigVo>> page(IotDeviceConfigPageDto dto);

    RestResult<Boolean> add(IotDeviceConfigDto dto);

    RestResult<Boolean> del(Long id);

    RestResult<Boolean> empower(Long iotDeviceConfigId);

    RestResult<Boolean> cancelEmpower(Long iotDeviceConfigId);

    IotDeviceAppletConfigVo snConfig(IotDeviceAppletConfigDto dto);

    Boolean updateConfig(IotDeviceAppletUpdateConfigDto dto);

    RestResult<IPage<IotDeviceConfigVo>> page(AmpeDeviceSearch dto, Account account);

    RestResult<Boolean> update(AmpeDeviceDto dto, Account account);
}
