2024-04-23 11:19:24 +08:00
|
|
|
|
package com.ruoyi.iot.service;
|
2024-04-19 16:36:24 +08:00
|
|
|
|
|
2024-05-06 18:06:58 +08:00
|
|
|
|
|
2024-10-07 09:25:18 +08:00
|
|
|
|
import com.ruoyi.iot.domain.HistoryDeviceData;
|
2024-04-23 11:19:24 +08:00
|
|
|
|
import com.ruoyi.iot.domain.IotDeviceInfo;
|
|
|
|
|
import com.ruoyi.iot.domain.response.CommandResponse;
|
2024-09-25 18:30:23 +08:00
|
|
|
|
import com.ruoyi.iot.interfaces.IotDevice;
|
2024-04-23 11:19:24 +08:00
|
|
|
|
import com.ruoyi.ss.device.domain.enums.DeviceOnlineStatus;
|
2024-04-19 16:36:24 +08:00
|
|
|
|
|
2024-08-16 22:20:53 +08:00
|
|
|
|
import java.math.BigDecimal;
|
2024-04-19 16:36:24 +08:00
|
|
|
|
import java.util.List;
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* @author wjh
|
|
|
|
|
* 2024/3/20
|
|
|
|
|
*/
|
|
|
|
|
public interface IotService {
|
2024-08-08 17:54:35 +08:00
|
|
|
|
|
|
|
|
|
/**
|
2024-09-25 18:30:23 +08:00
|
|
|
|
* 获取设备在线状态
|
2024-08-08 17:54:35 +08:00
|
|
|
|
*
|
|
|
|
|
* @param deviceName OneNet设备名称(即设备表的MAC号)
|
2024-08-12 20:55:59 +08:00
|
|
|
|
* @param productId
|
2024-08-08 17:54:35 +08:00
|
|
|
|
*/
|
2024-09-25 18:30:23 +08:00
|
|
|
|
DeviceOnlineStatus getOnlineStatus(String deviceName, String productId);
|
2024-04-19 16:36:24 +08:00
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 获取设备在线状态
|
|
|
|
|
*/
|
2024-09-25 18:30:23 +08:00
|
|
|
|
DeviceOnlineStatus getOnlineStatus(IotDevice device);
|
2024-04-19 16:36:24 +08:00
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 通电
|
2024-08-12 20:55:59 +08:00
|
|
|
|
*
|
2024-04-19 16:36:24 +08:00
|
|
|
|
* @param deviceName OneNet设备名称(即设备表的MAC号)
|
2024-08-12 20:55:59 +08:00
|
|
|
|
* @param productId
|
2024-04-19 16:36:24 +08:00
|
|
|
|
* @return 是否成功
|
|
|
|
|
*/
|
2024-08-12 20:55:59 +08:00
|
|
|
|
boolean open(String deviceName, String productId);
|
2024-04-19 16:36:24 +08:00
|
|
|
|
|
2024-09-25 18:30:23 +08:00
|
|
|
|
/**
|
|
|
|
|
* 通电
|
|
|
|
|
*/
|
|
|
|
|
boolean open(IotDevice device);
|
2024-04-19 16:36:24 +08:00
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 断电
|
2024-08-12 20:55:59 +08:00
|
|
|
|
*
|
2024-04-19 16:36:24 +08:00
|
|
|
|
* @param deviceName OneNet设备名称(即设备表的MAC号)
|
2024-08-12 20:55:59 +08:00
|
|
|
|
* @param productId
|
2024-04-19 16:36:24 +08:00
|
|
|
|
* @return 是否成功
|
|
|
|
|
*/
|
2024-08-12 20:55:59 +08:00
|
|
|
|
boolean close(String deviceName, String productId);
|
2024-04-19 16:36:24 +08:00
|
|
|
|
|
|
|
|
|
/**
|
2024-09-25 18:30:23 +08:00
|
|
|
|
* 断电
|
2024-04-19 16:36:24 +08:00
|
|
|
|
*/
|
2024-09-25 18:30:23 +08:00
|
|
|
|
boolean close(IotDevice device);
|
2024-04-19 16:36:24 +08:00
|
|
|
|
|
|
|
|
|
/**
|
2024-05-23 09:31:16 +08:00
|
|
|
|
* 设置剩余时长
|
|
|
|
|
*
|
2024-04-19 16:36:24 +08:00
|
|
|
|
* @param deviceName 设备名称
|
2024-05-23 09:31:16 +08:00
|
|
|
|
* @param seconds 时长(秒)
|
2024-08-12 20:55:59 +08:00
|
|
|
|
* @param productId
|
2024-04-19 16:36:24 +08:00
|
|
|
|
*/
|
2024-08-12 20:55:59 +08:00
|
|
|
|
CommandResponse setTime(String deviceName, long seconds, String productId);
|
2024-04-19 16:36:24 +08:00
|
|
|
|
|
|
|
|
|
/**
|
2024-09-25 18:30:23 +08:00
|
|
|
|
* 设置剩余时长
|
2024-04-19 16:36:24 +08:00
|
|
|
|
*/
|
2024-09-25 18:30:23 +08:00
|
|
|
|
CommandResponse setTime(IotDevice device, long seconds);
|
2024-04-19 16:36:24 +08:00
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 获取设备信息,并转化为IotDeviceInfo
|
2024-08-12 20:55:59 +08:00
|
|
|
|
*
|
2024-04-19 16:36:24 +08:00
|
|
|
|
* @param deviceName 设备名称
|
2024-08-12 20:55:59 +08:00
|
|
|
|
* @param productId
|
2024-04-19 16:36:24 +08:00
|
|
|
|
*/
|
2024-08-12 20:55:59 +08:00
|
|
|
|
IotDeviceInfo getDeviceInfo(String deviceName, String productId);
|
2024-04-19 16:36:24 +08:00
|
|
|
|
|
2024-09-25 18:30:23 +08:00
|
|
|
|
/**
|
|
|
|
|
* 获取设备信息,并转为IotDeviceInfo
|
|
|
|
|
*/
|
|
|
|
|
IotDeviceInfo getDeviceInfo(IotDevice device);
|
|
|
|
|
|
2024-04-19 16:36:24 +08:00
|
|
|
|
/**
|
|
|
|
|
* 获取设备信息列表,并转换为IotDeviceInfo
|
2024-08-12 20:55:59 +08:00
|
|
|
|
*
|
2024-11-12 09:53:45 +08:00
|
|
|
|
* @param deviceList 设备名称列表
|
2024-08-12 20:55:59 +08:00
|
|
|
|
* @param productId
|
2024-04-19 16:36:24 +08:00
|
|
|
|
*/
|
2024-11-12 09:53:45 +08:00
|
|
|
|
List<IotDeviceInfo> getDeviceInfo(List<? extends IotDevice> deviceList, String productId);
|
2024-04-19 16:36:24 +08:00
|
|
|
|
|
2024-07-09 11:17:20 +08:00
|
|
|
|
/**
|
|
|
|
|
* 注册设备
|
|
|
|
|
*/
|
2024-08-12 20:55:59 +08:00
|
|
|
|
int create(String mac, String productId);
|
2024-07-15 15:26:48 +08:00
|
|
|
|
|
2024-08-15 21:23:07 +08:00
|
|
|
|
/**
|
2024-08-16 22:20:53 +08:00
|
|
|
|
* 设备添加电量(度)
|
2024-08-15 21:23:07 +08:00
|
|
|
|
*/
|
2024-08-16 22:20:53 +08:00
|
|
|
|
CommandResponse addEle(String deviceName, BigDecimal ele, String productId);
|
2024-08-15 21:23:07 +08:00
|
|
|
|
|
2024-09-25 18:30:23 +08:00
|
|
|
|
/**
|
|
|
|
|
* 设备添加电量(度)
|
|
|
|
|
*/
|
|
|
|
|
CommandResponse addEle(IotDevice device, BigDecimal ele);
|
|
|
|
|
|
2024-08-15 21:23:07 +08:00
|
|
|
|
/**
|
2024-08-16 22:20:53 +08:00
|
|
|
|
* 直接设置设备电量(度)
|
2024-08-15 21:23:07 +08:00
|
|
|
|
*/
|
2024-08-16 22:20:53 +08:00
|
|
|
|
CommandResponse setEle(String deviceName, BigDecimal ele, String productId);
|
2024-09-13 15:09:35 +08:00
|
|
|
|
|
2024-09-25 18:30:23 +08:00
|
|
|
|
/**
|
|
|
|
|
* 直接设置设备电量(度)
|
|
|
|
|
*/
|
|
|
|
|
CommandResponse setEle(IotDevice device, BigDecimal ele);
|
2024-09-26 09:43:34 +08:00
|
|
|
|
|
2024-09-13 15:09:35 +08:00
|
|
|
|
/**
|
|
|
|
|
* 尝试设置设备剩余时长
|
2024-10-06 13:32:53 +08:00
|
|
|
|
*
|
|
|
|
|
* @param device MAC
|
|
|
|
|
* @param seconds 时长
|
2024-09-13 15:09:35 +08:00
|
|
|
|
* @param tryCount 尝试次数
|
|
|
|
|
*/
|
2024-10-06 13:32:53 +08:00
|
|
|
|
CommandResponse trySetTime(IotDevice device, long seconds, int tryCount);
|
|
|
|
|
|
2024-09-13 15:09:35 +08:00
|
|
|
|
/**
|
|
|
|
|
* 尝试设置设备剩余时长
|
2024-10-06 13:32:53 +08:00
|
|
|
|
*
|
|
|
|
|
* @param device MAC
|
|
|
|
|
* @param ele 电量(度)
|
2024-09-13 15:09:35 +08:00
|
|
|
|
* @param tryCount 尝试次数
|
|
|
|
|
*/
|
2024-10-06 13:32:53 +08:00
|
|
|
|
CommandResponse trySetEle(IotDevice device, BigDecimal ele, int tryCount);
|
2024-09-13 15:09:35 +08:00
|
|
|
|
|
2024-09-28 17:14:43 +08:00
|
|
|
|
/**
|
|
|
|
|
* 设置设备WIFI
|
|
|
|
|
* @param device 设备
|
|
|
|
|
* @param wifiName WIFI名称
|
|
|
|
|
* @param wifiPwd WIFI 密码
|
|
|
|
|
*/
|
|
|
|
|
CommandResponse setWifi(IotDevice device, String wifiName, String wifiPwd);
|
|
|
|
|
|
|
|
|
|
CommandResponse setWifi(String mac, String productId, String wifiName, String wifiPwd);
|
2024-09-30 17:54:21 +08:00
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 设置倒计时提醒
|
|
|
|
|
*
|
|
|
|
|
* @param device 设备
|
|
|
|
|
* @param seconds 倒计时(秒)
|
|
|
|
|
*/
|
|
|
|
|
boolean setVoice(IotDevice device, long seconds);
|
|
|
|
|
|
|
|
|
|
boolean setVoice(String mac, String productId, long seconds);
|
2024-10-06 18:03:03 +08:00
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 设置总用电量
|
|
|
|
|
* @param device 设备
|
2024-10-07 09:25:18 +08:00
|
|
|
|
* @param totalEle 总用电量(瓦时)
|
2024-10-06 18:03:03 +08:00
|
|
|
|
*/
|
|
|
|
|
boolean setTotalEle(IotDevice device, BigDecimal totalEle);
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 设置总用电量
|
|
|
|
|
* @param deviceName 设备MAC
|
|
|
|
|
* @param productId 产品ID
|
2024-10-07 09:25:18 +08:00
|
|
|
|
* @param totalEle 总用电量(瓦时)
|
2024-10-06 18:03:03 +08:00
|
|
|
|
*/
|
|
|
|
|
boolean setTotalEle(String deviceName, String productId, BigDecimal totalEle);
|
2024-10-07 09:25:18 +08:00
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 获取历史数据
|
|
|
|
|
*/
|
|
|
|
|
HistoryDeviceData getHistoryDataPoint(String deviceName, String productId);
|
2024-10-14 13:29:54 +08:00
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 设置设备时长和电量
|
|
|
|
|
* @param device 设备
|
|
|
|
|
* @param seconds 时长(秒)
|
|
|
|
|
* @param ele 电量(度)
|
|
|
|
|
*/
|
|
|
|
|
int setTimeAndEle(IotDevice device, long seconds, BigDecimal ele);
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 设置设备时长和电量
|
|
|
|
|
* @param mac mac
|
|
|
|
|
* @param productId 产品ID
|
|
|
|
|
* @param seconds 秒
|
|
|
|
|
* @param ele 电量(度)
|
|
|
|
|
*/
|
|
|
|
|
int setTimeAndEle(String mac, String productId, long seconds, BigDecimal ele);
|
2024-04-19 16:36:24 +08:00
|
|
|
|
}
|