【功能完善】IoT: 新增 MQTT RPC 支持,包含请求和响应模型、序列化工具、MQTT 配置及客户端/服务器实现,提供示例服务和控制器接口,优化插件结构以支持 HTTP 插件的集成。

This commit is contained in:
安浩浩
2025-01-06 18:59:26 +08:00
parent dc1f9338f1
commit 603649d248
15 changed files with 471 additions and 12 deletions

View File

@@ -0,0 +1,37 @@
package cn.iocoder.yudao.module.iot.mqttrpc.common;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
* MQTT RPC 请求
*
*/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class RpcRequest {
/**
* 方法名
*/
private String method;
/**
* 参数
*/
private Object[] params;
/**
* 关联 ID
*/
private String correlationId;
/**
* 回复地址
*/
private String replyTo;
}

View File

@@ -0,0 +1,32 @@
package cn.iocoder.yudao.module.iot.mqttrpc.common;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
* MQTT RPC 响应
*
*/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class RpcResponse {
/**
* 关联 ID
*/
private String correlationId;
/**
* 结果
*/
private Object result;
/**
* 错误
*/
private String error;
}

View File

@@ -0,0 +1,18 @@
package cn.iocoder.yudao.module.iot.mqttrpc.common;
import cn.hutool.json.JSONUtil;
/**
* 序列化工具类
*
*/
public class SerializationUtils {
public static String serialize(Object obj) {
return JSONUtil.toJsonStr(obj);
}
public static <T> T deserialize(String json, Class<T> clazz) {
return JSONUtil.toBean(json, clazz);
}
}