package com.jpsoft.shinestar.modules.base.service;

import com.github.pagehelper.Page;
import com.jpsoft.shinestar.modules.base.entity.DeviceInfo;
import com.jpsoft.shinestar.modules.common.dto.Sort;

import java.util.List;
import java.util.Map;

public interface DeviceInfoService {
	DeviceInfo get(String id);
	boolean exist(String id);
	int insert(DeviceInfo model);
	int update(DeviceInfo model);
	int delete(String id);
	List<DeviceInfo> list();
	List<DeviceInfo> findByDeviceIdList(List<String> deviceIdList);
	DeviceInfo getByDeviceNo(String deviceNo);
	List<DeviceInfo> findByCompanyId(String companyId);
	List<DeviceInfo> findByCompanyIdRelation(String companyId);

	Page<DeviceInfo> pageSearch(Map<String, Object> searchParams, int pageNum, int pageSize, boolean count, List<Sort> sortList);
	void updateByDeviceNo(String deviceNo, boolean online);
	List<DeviceInfo> listOnline();

    List<String> findSceneListByDeviceNo(String deviceNo);

	List<DeviceInfo> findByScene(String scene);
}