事件服务接口
版本记录
版本号 | 日期 | 修改内容 |
---|---|---|
v0.12.2 | 2024-08-30 | 修复已知问题 |
事件服务
1、历史报警写入
HOST
172.21.44.110:6610
接口地址
{ip}:{port}/v1/history/alarm/write
网关代理
{ip}:{port}/api/event-svc/v1/history/alarm/write
请求方式
POST
请求数据类型
application/json
响应数据类型
*/*
请求示例
示例如下
{
"alarms": [
{
"ackNote": "acknote",
"ackPosition": "ackposition",
"ackTime": 1627281919155,
"ackedState": true,
"time": 1702059350316,
"activeState": false,
"category": 1,
"comment": "AI_001",
"conditionNode": "100:EQ001.AI001.LevelAlarm",
"confirmedState": true,
"confirmedTime": 0,
"message": "EQ_001 AI_001 越低低限报警",
"opsName": "name1",
"position": "1",
"rtnTime": 1627281919193,
"severity": 1,
"shelvedState": false,
"shelvedTime": 1627281919188,
"rtnValue": "3",
"suppressedState": false,
"value": "3"
}
]
}
请求参数
参数名称 | 参数说明 | 请求类型 | 是否必须 | 数据类型 | schema |
---|---|---|---|---|---|
req | req | body | true | AlarmReq | AlarmReq |
alarms | alarms | true | array | AlarmModelReq | |
ackNote | 报警确认注解 | false | String | ||
ackPosition | 报警确认位置 | false | String | ||
ackTime | 确认时间 | false | Long | ||
ackedState | 确认状态 | false | Boolean | ||
time | 报警的发生时间 | true | Long | ||
activeState | 激活状态,false 表示报警恢复 | false | Boolean | ||
category | 报警类型 | false | Integer | ||
comment | 报警备注信息 | false | String | ||
conditionNode | 报警点唯一标识 | false | String | ||
confirmedState | 证实状态 | false | Boolean | ||
confirmedTime | 证实时间 | false | Long | ||
message | 报警信息 | false | String | ||
opsName | 操作员名称 | false | String | ||
position | 报警发生的位置 | false | String | ||
rtnTime | 报警恢复的时间 | false | Long | ||
severity | 报警级别 | false | Integer | ||
shelvedState | 搁置状态 | false | Boolean | ||
shelvedTime | 搁置时间 | false | Long | ||
rtnValue | 报警恢复值 | false | String | ||
suppressedState | 抑制状态 | false | Boolean | ||
value | 报警值 | false | String | ||
Authorization | 令牌 | header | false | String |
响应状态
状态码 | 说明 | schema |
---|---|---|
0 | OK | AjaxResult |
201 | Created | |
401 | Unauthorized | |
403 | Forbidden | |
404 | Not Found |
响应参数
参数名称 | 参数说明 | 类型 | schema |
---|---|---|---|
message | 响应消息 | String | |
code | 状态码 | Integer(int32) | Integer(int32) |
timestamp | 响应时间戳 | Integer(int64) | Integer(int64) |
响应示例
{
"message": "新增成功",
"code": 0,
"timestamp": 1681348294677
}
2、SOE/变位/系统事件写入
HOST
172.21.44.110:6610
接口地址
{ip}:{port}/v1/history/event/write
网关代理
{ip}:{port}/api/event-svc/v1/history/event/write
请求方式
POST
请求数据类型
application/json
响应数据类型
*/*
接口描述
用于单条或批量存储历史事件
请求示例
{
"events": [
{
"eventID": "GGGG",
"eventType": 3,
"sourceNode": "100:EQ_001.AI_001",
"time": 1702059350316,
"severity": 0,
"message": "GGGG",
"category": 200,
"value": "5",
"position": "DCS",
"opsName":"操作员A",
"opsPosition":"操作员A-0001号车间",
"description":"FFFFFFF",
"extension": "{}"
}
]
}
请求参数
参数名称 | 参数说明 | 请求类型 | 是否必须 | 数据类型 | schema |
---|---|---|---|---|---|
req | req | body | true | EventReq | EventReq |
events | events | true | array | EventModelReq | |
eventID | 事件的唯一标识 | false | String | ||
eventType | 事件类型 | false | Integer | ||
sourceNode | 事件源唯一标识 | false | String | ||
time | 事件产生时间 | true | Long | ||
severity | 事件级别 | false | Integer | ||
message | 事件描述 | false | String | ||
category | 事件类别 | false | Integer | ||
value | 事件发生时的值 | false | String | ||
position | 事件发生的位置 | false | String | ||
opsName | 操作员名称 | false | String | ||
opsPosition | 操作员位置 | false | String | ||
description | 事件描述 | false | String | ||
extension | 扩展字段 | false | String | ||
Authorization | 令牌 | header | false | String |
响应状态
状态码 | 说明 | schema |
---|---|---|
0 | OK | AjaxResult |
201 | Created | |
401 | Unauthorized | |
403 | Forbidden | |
404 | Not Found |
响应参数
参数名称 | 参数说明 | 类型 | schema |
---|---|---|---|
message | 响应消息 | String | |
code | 状态码 | Integer(int32) | Integer(int32) |
timestamp | 响应时间戳 | Integer(int64) | Integer(int64) |
响应示例
{
"message": "新增成功",
"code": 0,
"timestamp": 1681348294699
}
3、历史报警查询
HOST
172.21.44.110:6610
接口地址
/v1/history/alarm/find
请求方式
POST
请求数据类型
application/json
响应数据类型
*/*
请求示例
示例如下
{
"startTime": "2023-12-01 16:00:00",
"endTime": "2023-12-30 18:00:00",
"filters": {
"op": "or",
"expr": [
{
"field": "rtnTime",
"operator": ">",
"value": [1702055568689]
}
],
"subFilter": [
{
"op": "",
"expr": [
{
"field": "message",
"operator": "like",
"value": ["%DI1%"]
}
],
"subFilter": [
]
},
{
"op": "",
"expr": [
{
"field": "message",
"operator": "like",
"value": ["%AI1%"]
}
],
"subFilter": [
]
}
]
},
"orderBy": [
{
"field": "time",
"order": "desc"
}
],
"pageable": {
"page": 1,
"pageSize": 2
}
}
请求参数
参数名称 | 参数说明 | 请求类型 | 是否必须 | 数据类型 | schema |
---|---|---|---|---|---|
req | 历史报警查询 | body | true | HistoryAlarmReq | HistoryAlarmReq |
startTime | 起始时刻 格式:yyyy-MM-dd HH:mm:ss 或毫秒时间戳 | true | String | ||
endTime | 结束时刻 格式:yyyy-MM-dd HH:mm:ss 或毫秒时间戳 | true | String | ||
filters | 查询过滤器 | false | FilterReq | FilterReq | |
pageable | 分页信息 | false | PageReq | PageReq | |
page | 当前页 | false | Integer(int32) | ||
pageSize | 每页数量 | false | Integer(int32) | ||
orderBy | 排序信息 | false | OrderReq | OrderReq | |
field | 排序字段(只支持按报警发生时间 time 排序) | false | Integer(int32) | ||
order | 排序方式(排序方式支持 asc/desc 两种) | false | Integer(int32) | ||
Authorization | 令牌 | header | false | String |
响应状态
状态码 | 说明 | schema |
---|---|---|
0 | OK | AjaxResult |
201 | Created | |
401 | Unauthorized | |
403 | Forbidden | |
404 | Not Found |
响应参数
参数名称 | 参数说明 | 类型 | schema |
---|---|---|---|
message | 响应消息 | String | |
code | 状态码 | Integer(int32) | Integer(int32) |
timestamp | 响应时间戳 | Integer(int64) | Integer(int64) |
total | 数据总数 | Integer(int64) | Integer(int64) |
pageNum | 当前页 | Integer(int32) | Integer(int32) |
pageSize | 每页数量 | Integer(int32) | Integer(int32) |
data | 查询结果 | array | HistoryAlarmResp |
响应示例
示例如下
{
"code": 0,
"message": "查询成功",
"timestamp": 1702103959923,
"data": [
{
"ackNote": "报警确认",
"ackOpsName": "操作员",
"ackPosition": "控制室12",
"ackTime": 1702055551174,
"ackedState": true,
"activeState": false,
"category": 800,
"comment": "",
"conditionNode": "999:EQ1.DI1.DiscreteAlarm",
"confirmOpsName": null,
"confirmedState": false,
"confirmedTime": 0,
"extension": "",
"message": "EQ1-变化存储 DI1 离散值为1时报警",
"position": "DefaultArea",
"rtnTime": 1702055568690,
"rtnValue": "0",
"severity": 1,
"shelveOpsName": null,
"shelvedState": false,
"shelvedTime": 0,
"suppressOpsName": null,
"suppressedState": false,
"time": 1702055548046,
"value": "1"
}
],
"total": 1,
"pageNum": 1,
"pageSize": 2
}
4、SOE/变位/系统事件查询
HOST
172.21.44.110:6610
接口地址
/v1/history/event/find
请求方式
POST
请求数据类型
application/json
响应数据类型
*/*
请求示例
示例如下
{
"startTime": "2023-12-01 16:00:00",
"endTime": "2023-12-30 18:00:00",
"filters": {
"op": "or",
"expr": [
],
"subFilter": [
{
"op": "",
"expr": [
{
"field": "category",
"operator": ">",
"value": [500]
}
],
"subFilter": [
]
},
{
"op": "",
"expr": [
{
"field": "message",
"operator": "like",
"value": ["%数据%"]
}
],
"subFilter": [
]
}
]
},
"orderBy": [
{
"field": "time",
"order": "desc"
}
],
"pageable": {
"page": 1,
"pageSize": 5
}
}
请求参数
参数名称 | 参数说明 | 请求类型 | 是否必须 | 数据类型 | schema |
---|---|---|---|---|---|
req | SOE/变位/系统事件查询 | body | true | HistoryEventReq | HistoryEventReq |
startTime | 起始时刻 格式:yyyy-MM-dd HH:mm:ss 或毫秒时间戳 | true | String | ||
endTime | 结束时刻 格式:yyyy-MM-dd HH:mm:ss 或毫秒时间戳 | true | String | ||
filters | 查询过滤器 | false | FilterReq | FilterReq | |
pageable | 分页信息 | false | PageReq | PageReq | |
page | 当前页 | false | Integer(int32) | ||
pageSize | 每页数量 | false | Integer(int32) | ||
orderBy | 排序信息 | false | OrderReq | OrderReq | |
field | 排序字段(只支持按事件产生时间 time 排序) | false | Integer(int32) | ||
order | 排序方式(排序方式支持 asc/desc 两种) | false | Integer(int32) | ||
Authorization | 令牌 | header | false | String |
响应状态
状态码 | 说明 | schema |
---|---|---|
0 | OK | AjaxResult |
201 | Created | |
401 | Unauthorized | |
403 | Forbidden | |
404 | Not Found |
响应参数
参数名称 | 参数说明 | 类型 | schema |
---|---|---|---|
message | 响应消息 | String | |
code | 状态码 | Integer(int32) | Integer(int32) |
timestamp | 响应时间戳 | Integer(int64) | Integer(int64) |
total | 数据总数 | Integer(int64) | Integer(int64) |
pageNum | 当前页 | Integer(int32) | Integer(int32) |
pageSize | 每页数量 | Integer(int32) | Integer(int32) |
data | 查询结果 | array | HistoryEventResp |
响应示例
示例如下
{
"code": 0,
"message": "查询成功",
"timestamp": 1702104107674,
"data": [
{
"category": 915,
"description": null,
"eventType": 1,
"extension": null,
"message": "RTDB-0 RTDB-s1与IOSvr-0 连接正常:数据源在线",
"opsName": null,
"opsPosition": null,
"position": null,
"severity": 0,
"sourceNode": "11:IOSvr-0",
"time": 1702056400425,
"value": null
},
{
"category": 915,
"description": null,
"eventType": 1,
"extension": null,
"message": "RTDB-0 RTDB-s1与IOSvr-0 连接正常:数据源在线",
"opsName": null,
"opsPosition": null,
"position": null,
"severity": 0,
"sourceNode": "11:IOSvr-0",
"time": 1702055979299,
"value": null
},
{
"category": 911,
"description": null,
"eventType": 1,
"extension": null,
"message": "RTDB-0 RTDB-s1与IOSvr-0 连接断开:数据源离线",
"opsName": null,
"opsPosition": null,
"position": null,
"severity": 0,
"sourceNode": "11:IOSvr-0",
"time": 1702055977850,
"value": null
},
{
"category": 800,
"description": null,
"eventType": 5,
"extension": null,
"message": "EQ2-周期存储 DI7 离散值为1时报警",
"opsName": null,
"opsPosition": null,
"position": "DefaultArea",
"severity": 1,
"sourceNode": "105:EQ2.DI7.DiscreteAlarm",
"time": 1702055973383,
"value": "1"
},
{
"category": 800,
"description": null,
"eventType": 5,
"extension": null,
"message": "EQ2-周期存储 DI6 离散值为1时报警",
"opsName": null,
"opsPosition": null,
"position": "DefaultArea",
"severity": 1,
"sourceNode": "105:EQ2.DI6.DiscreteAlarm",
"time": 1702055973383,
"value": "1"
}
],
"total": 210,
"pageNum": 1,
"pageSize": 5
}
5、SOE/变位/系统事件实时查询
HOST
172.21.44.110:6610
接口地址
{ip};{port}/v1/history/event/findRealTime
请求方式
POST
请求数据类型
application/json
响应数据类型
*/*
请求示例
{
"eventType": 5,
"pageable": {
"page": 1,
"pageSize": 10
}
}
请求参数
参数名称 | 参数说明 | 请求类型 | 是否必须 | 数据类型 | schema |
---|---|---|---|---|---|
req | SOE/变位/系统事件实时查询 | body | true | RealTimeEventReq | RealTimeEventReq |
eventType | 日志类型(1-系统事件;2-SOE 事件;3-变位事件;4-操作事件;5-报警类事件) | false | Integer | ||
pageable | 分页信息 | false | PageReq | PageReq | |
page | 当前页 | false | Integer(int32) | ||
pageSize | 每页数量 | false | Integer(int32) | ||
Authorization | 令牌 | header | false | String |
响应状态
状态码 | 说明 | schema |
---|---|---|
0 | OK | AjaxResult |
201 | Created | |
401 | Unauthorized | |
403 | Forbidden | |
404 | Not Found |
响应参数
参数名称 | 参数说明 | 类型 | schema |
---|---|---|---|
message | 响应消息 | String | |
code | 状态码 | Integer(int32) | Integer(int32) |
timestamp | 响应时间戳 | Integer(int64) | Integer(int64) |
total | 数据总数 | Integer(int64) | Integer(int64) |
pageNum | 当前页 | Integer(int32) | Integer(int32) |
pageSize | 每页数量 | Integer(int32) | Integer(int32) |
data | 查询结果 | array | HistoryEventResp |
响应示例
示例如下
{
"code": 0,
"message": "查询成功",
"timestamp": 1702104183049,
"data": [
{
"category": 800,
"description": null,
"eventType": 5,
"extension": null,
"message": "EQ2-周期存储 DI7 离散值为1时报警",
"opsName": null,
"opsPosition": null,
"position": "DefaultArea",
"severity": 1,
"sourceNode": "105:EQ2.DI7.DiscreteAlarm",
"time": 1702055973383,
"value": "1"
},
{
"category": 800,
"description": null,
"eventType": 5,
"extension": null,
"message": "EQ2-周期存储 DI6 离散值为1时报警",
"opsName": null,
"opsPosition": null,
"position": "DefaultArea",
"severity": 1,
"sourceNode": "105:EQ2.DI6.DiscreteAlarm",
"time": 1702055973383,
"value": "1"
},
{
"category": 700,
"description": null,
"eventType": 5,
"extension": null,
"message": "EQ2-周期存储 AI7-变化率报警变化率上限报警",
"opsName": null,
"opsPosition": null,
"position": "DefaultArea",
"severity": 1,
"sourceNode": "105:EQ2.AI7.RocAlarm",
"time": 1702055973377,
"value": "55"
},
{
"category": 800,
"description": null,
"eventType": 5,
"extension": null,
"message": "EQ1-变化存储 DI7 离散值为1时报警",
"opsName": null,
"opsPosition": null,
"position": "DefaultArea",
"severity": 1,
"sourceNode": "105:EQ1.DI7.DiscreteAlarm",
"time": 1702055972748,
"value": "1"
},
{
"category": 800,
"description": null,
"eventType": 5,
"extension": null,
"message": "EQ1-变化存储 DI6 离散值为1时报警",
"opsName": null,
"opsPosition": null,
"position": "DefaultArea",
"severity": 1,
"sourceNode": "105:EQ1.DI6.DiscreteAlarm",
"time": 1702055972747,
"value": "1"
},
{
"category": 700,
"description": null,
"eventType": 5,
"extension": null,
"message": "EQ1-变化存储 AI7-变化率报警变化率上限报警",
"opsName": null,
"opsPosition": null,
"position": "DefaultArea",
"severity": 1,
"sourceNode": "105:EQ1.AI7.RocAlarm",
"time": 1702055972666,
"value": "55"
},
{
"category": 503,
"description": null,
"eventType": 5,
"extension": null,
"message": "EQ1-变化存储 AI5-限值报警 越低低限报警",
"opsName": null,
"opsPosition": null,
"position": "DefaultArea",
"severity": 1,
"sourceNode": "102:EQ1.AI5.LevelAlarm",
"time": 1702055972620,
"value": "0"
},
{
"category": 700,
"description": null,
"eventType": 5,
"extension": null,
"message": "EQ1-变化存储 AI4-变化率报警变化率超上限报警",
"opsName": null,
"opsPosition": null,
"position": "DefaultArea",
"severity": 1,
"sourceNode": "102:EQ1.AI4.RocAlarm",
"time": 1702055972619,
"value": "0"
},
{
"category": 600,
"description": null,
"eventType": 5,
"extension": null,
"message": "EQ1-变化存储 AI3-偏差报警 超偏差报警",
"opsName": null,
"opsPosition": null,
"position": "DefaultArea",
"severity": 1,
"sourceNode": "102:EQ1.AI3.DeviationAlarm",
"time": 1702055972619,
"value": "30"
},
{
"category": 503,
"description": null,
"eventType": 5,
"extension": null,
"message": "EQ1-变化存储 AI2-限值报警 越低低限报警",
"opsName": null,
"opsPosition": null,
"position": "DefaultArea",
"severity": 1,
"sourceNode": "102:EQ1.AI2.LevelAlarm",
"time": 1702055972618,
"value": "0"
}
],
"total": 299,
"pageNum": 1,
"pageSize": 10
}