响应数据推送事件
# 业务概述
该功能的主要目的是用于二次开发时, 开发者需要在某些数据发生改变时第一时间获取到对应的信息, 且该功能的 实时性 相对API的方式要更加迅速 更具有性价比。
列如:变量实时数据的获取,当变量实时值发生改变时会将对应的变量数据推送至 选择的 [MQTT, RabbitMQ, HTTP] 三种消息推送方式的其中一种, 开发者就可通过获取对应的消息数据 进行业务扩展。
# 1.配置数据推送 (HTTP示例)
点击报修Demo模块,配置数据推送信息,新增一条数据推送规则并填写配置信息。
选择事件类型为:删除项目。
# 2.编写后台数据推送代码
// 接受数据删除项目下方所有的报修记录
public void dataPush(JSONObject json) {
// 获取到json 数组
JSONArray array = json.getJSONArray("data");
for (Object o : array) {
// 将每一组数据转换成 json 数据
JSONObject obj = new JSONObject((LinkedHashMap)o);
if (obj.containsKey("projectId")){
this.lambdaUpdate().eq(Repair::getProjectId,obj.getString("projectId")).remove();
}
}
}
1
2
3
4
5
6
7
8
9
10
11
12
13
2
3
4
5
6
7
8
9
10
11
12
13
# 3.变量实时值推送 (MQTT示例)
此示例目的: 当任何一个变量的实时值发生变化时, 会将对应的设备->变量->实时值 推送到MQTT消息服务器中。
事件类型:设备实时数据 (设备->设备实时数据)。