smart-switch-java/smart-switch-service/src/main/java/com/ruoyi/iot/service/IotService.java

164 lines
4.0 KiB
Java
Raw Normal View History

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
2025-03-01 18:02:49 +08:00
import java.math.BigDecimal;
import java.util.List;
import com.ruoyi.common.constant.IotConstants;
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;
import com.ruoyi.iot.interfaces.IotDevice;
2024-04-19 16:36:24 +08:00
/**
* @author wjh
* 2024/3/20
*/
public interface IotService {
2024-08-08 17:54:35 +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
*/
2025-01-04 13:43:34 +08:00
default String getOnlineStatus(String deviceName, String productId) {
return getOnlineStatus(deviceName, productId, IotConstants.ONLINE_TYPE_GET);
}
/**
* 获取设备在线状态
*
* @param deviceName OneNet设备名称即设备表的MAC号
* @param productId
2025-01-04 13:43:34 +08:00
* @param type 获取方式1-从OneNet直接获取2-发送命令获取
*/
2025-01-04 13:43:34 +08:00
String getOnlineStatus(String deviceName, String productId, String type);
2024-04-19 16:36:24 +08:00
/**
* 获取设备在线状态
*/
2025-01-04 13:43:34 +08:00
String getOnlineStatus(IotDevice device);
2024-04-19 16:36:24 +08:00
/**
* 通电
*/
2024-12-14 00:59:44 +08:00
boolean open(IotDevice device, String reason);
2024-04-19 16:36:24 +08:00
/**
* 断电
2024-04-19 16:36:24 +08:00
*/
2024-12-14 00:59:44 +08:00
boolean close(IotDevice device, String reason);
2024-04-19 16:36:24 +08:00
/**
* 设置剩余时长
2024-04-19 16:36:24 +08:00
*/
2024-12-14 00:59:44 +08:00
CommandResponse setTime(IotDevice device, long seconds, String reason);
2024-04-19 16:36:24 +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-12-14 00:59:44 +08:00
CommandResponse addEle(IotDevice device, BigDecimal ele, String reason);
2024-09-13 15:09:35 +08:00
/**
* 直接设置设备电量
*/
2024-12-14 00:59:44 +08:00
CommandResponse setEle(IotDevice device, BigDecimal ele, String reason);
Merge remote-tracking branch 'origin/master' into dev # Conflicts: # smart-switch-ruoyi/smart-switch-common/src/main/java/com/ruoyi/common/core/domain/entity/SmUser.java # smart-switch-ruoyi/smart-switch-common/src/main/java/com/ruoyi/common/core/redis/enums/RedisLockKey.java # smart-switch-ruoyi/smart-switch-common/src/main/java/com/ruoyi/common/enums/UserType.java # smart-switch-ruoyi/smart-switch-system/src/main/java/com/ruoyi/system/domain/enums/config/ConfigKey.java # smart-switch-ruoyi/smart-switch-system/src/main/java/com/ruoyi/system/service/ISysConfigService.java # smart-switch-service/src/main/java/com/ruoyi/iot/service/IotReceiveServiceImpl.java # smart-switch-service/src/main/java/com/ruoyi/iot/service/IotService.java # smart-switch-service/src/main/java/com/ruoyi/ss/device/domain/Device.java # smart-switch-service/src/main/java/com/ruoyi/ss/device/mapper/DeviceMapper.xml # smart-switch-service/src/main/java/com/ruoyi/ss/device/service/DeviceService.java # smart-switch-service/src/main/java/com/ruoyi/ss/transactionBill/domain/TransactionBill.java # smart-switch-service/src/main/java/com/ruoyi/ss/transactionBill/domain/vo/TransactionBillVO.java # smart-switch-service/src/main/java/com/ruoyi/ss/transactionBill/mapper/TransactionBillMapper.xml # smart-switch-service/src/main/java/com/ruoyi/ss/transactionBill/service/TransactionBillService.java # smart-switch-service/src/main/java/com/ruoyi/ss/transactionBill/service/impl/RechargePayHandler.java # smart-switch-service/src/main/java/com/ruoyi/ss/transactionBill/service/impl/TransactionBillServiceImpl.java # smart-switch-service/src/main/java/com/ruoyi/ss/user/mapper/SmUserMapper.xml # smart-switch-service/src/main/java/com/ruoyi/ss/user/service/ISmUserService.java # smart-switch-service/src/main/java/com/ruoyi/ss/user/service/impl/SmUserServiceImpl.java
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-12-14 00:59:44 +08:00
* @param reason
2024-09-13 15:09:35 +08:00
*/
2024-12-14 00:59:44 +08:00
CommandResponse trySetTime(IotDevice device, long seconds, int tryCount, String reason);
2024-10-06 13:32:53 +08:00
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-12-14 00:59:44 +08:00
* @param reason
2024-09-13 15:09:35 +08:00
*/
2024-12-14 00:59:44 +08:00
CommandResponse trySetEle(IotDevice device, BigDecimal ele, int tryCount, String reason);
2024-09-13 15:09:35 +08:00
2024-09-28 17:14:43 +08:00
/**
* 设置设备WIFI
2024-12-14 00:59:44 +08:00
*
* @param device 设备
2024-09-28 17:14:43 +08:00
* @param wifiName WIFI名称
2024-12-14 00:59:44 +08:00
* @param wifiPwd WIFI 密码
* @param reason
2024-09-28 17:14:43 +08:00
*/
2024-12-14 00:59:44 +08:00
CommandResponse setWifi(IotDevice device, String wifiName, String wifiPwd, String reason);
2024-09-30 17:54:21 +08:00
/**
* 设置倒计时提醒
*
* @param device 设备
* @param seconds 倒计时
2024-12-14 00:59:44 +08:00
* @param reason
2024-09-30 17:54:21 +08:00
*/
2024-12-14 00:59:44 +08:00
boolean setVoice(IotDevice device, long seconds, String reason);
2024-10-06 18:03:03 +08:00
/**
* 设置总用电量
2024-12-14 00:59:44 +08:00
*
* @param device 设备
2024-10-07 09:25:18 +08:00
* @param totalEle 总用电量瓦时
2024-12-14 00:59:44 +08:00
* @param reason
2024-10-06 18:03:03 +08:00
*/
2024-12-14 00:59:44 +08:00
boolean setTotalEle(IotDevice device, BigDecimal totalEle, String reason);
2024-10-07 09:25:18 +08:00
/**
* 获取历史数据
*/
HistoryDeviceData getHistoryDataPoint(String deviceName, String productId);
2024-10-14 13:29:54 +08:00
2024-12-16 21:36:17 +08:00
/**
* 设置电压系数
*/
CommandResponse setVxs(IotDevice device, BigDecimal vxs, String reason);
/**
* 上传数据
*/
2025-01-07 18:22:12 +08:00
CommandResponse uploadData(IotDevice device, String reason, boolean recordLog);
/**
* 重启设备
*/
CommandResponse reboot(IotDevice device, String reason);
2025-03-01 18:02:49 +08:00
/**
* 设置电量系数
*/
CommandResponse setWxs(IotDevice device, BigDecimal wxs, String reason);
2025-03-03 09:37:25 +08:00
/**
* 设置反转参数
*/
CommandResponse setSet(IotDevice device, String set, String reason);
2024-04-19 16:36:24 +08:00
}