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

import cn.hanghui.outapi.platform.common.entity.rest.RestResult;
import cn.hanghui.outapi.platform.tenant.entity.config.fkj.device.template.FkjDeviceMiniDto;
import cn.hanghui.outapi.platform.tenant.entity.config.fkj.device.template.FkjDeviceUpdateMiniDto;
import cn.hanghui.outapi.platform.tenant.entity.dto.TenantDto;
import cn.hanghui.outapi.platform.tenant.entity.dto.TenantVo;
import cn.hanghui.outapi.platform.tenant.entity.dto.hhculture.HhCultureDeviceDto;
import cn.hanghui.outapi.platform.tenant.entity.dto.hhculture.HhCultureDeviceSearch;
import cn.hanghui.outapi.platform.tenant.entity.dto.hhculture.HhCultureDeviceTemplateDto;
import cn.hanghui.outapi.platform.tenant.entity.dto.hhculture.HhCultureDeviceTemplateLessVo;
import cn.hanghui.outapi.platform.tenant.entity.dto.hhculture.HhCultureDeviceTemplateSearch;
import cn.hanghui.outapi.platform.tenant.entity.dto.hhculture.HhCultureDeviceTemplateVo;
import cn.hanghui.outapi.platform.tenant.entity.dto.hhculture.HhCultureDeviceUpdateMiniDto;
import cn.hanghui.outapi.platform.tenant.entity.dto.hhculture.HhCultureDeviceVo;
import com.baomidou.mybatisplus.core.metadata.IPage;

import java.util.List;

/**
 * @author shisl
 * @package cn.hanghui.outapi.platform.tenant.service
 * @class HHCultureDevice
 * @date 2024/7/19 上午10:50
 * @description
 */
public interface HHCultureDeviceService {

    Boolean templateEdit(HhCultureDeviceTemplateDto dto);

    List<HhCultureDeviceTemplateLessVo> templateList();

    IPage<HhCultureDeviceTemplateVo> templatePage(HhCultureDeviceTemplateSearch dto);

    Boolean templateDelete(Long templateId);

    HhCultureDeviceTemplateVo templateDetail(Long templateId);

    RestResult<Boolean> add(HhCultureDeviceDto dto);

    RestResult<IPage<HhCultureDeviceVo>> page(HhCultureDeviceSearch dto);

    RestResult<Boolean> del(Long deviceId);

    RestResult<Boolean> opeDeviceAuth(Long deviceId, Boolean auth);


    RestResult<List<TenantVo>> snConfig(TenantDto dto);

    RestResult<Boolean> updateConfig(HhCultureDeviceUpdateMiniDto dto);

    RestResult<List<String>> snlist();

}
