modelRT/network/real_time_data_request.go

49 lines
2.8 KiB
Go
Raw Normal View History

2025-11-03 17:35:03 +08:00
// Package network define struct of network operation
package network
// RealTimeQueryRequest define struct of real time data query request
type RealTimeQueryRequest struct {
// required: true
// enum: [start, stop]
Action string `json:"action" example:"start" description:"请求的操作,例如 start/stop"`
// TODO 增加monitorID的example值说明
ClientID string `json:"client_id" example:"xxxx" description:"用于标识不同client的监控请求ID"`
2025-11-03 17:35:03 +08:00
// required: true
Measurements []RealTimeMeasurementItem `json:"measurements" description:"定义不同的数据采集策略和目标"`
2025-11-03 17:35:03 +08:00
}
// RealTimeSubRequest define struct of real time data subscription request
type RealTimeSubRequest struct {
// required: true
// enum: [start, stop]
2025-11-08 17:11:07 +08:00
Action string `json:"action" example:"start" description:"请求的操作,例如 start/stop"`
ClientID string `json:"client_id" example:"5d72f2d9-e33a-4f1b-9c76-88a44b9a953e" description:"用于标识不同client的监控请求ID"`
// required: true
Measurements []RealTimeMeasurementItem `json:"measurements" description:"定义不同的数据采集策略和目标"`
}
// RealTimeMeasurementItem define struct of real time measurement item
type RealTimeMeasurementItem struct {
2025-11-03 17:35:03 +08:00
Interval string `json:"interval" example:"1" description:"数据采集的时间间隔(秒)"`
Targets []string `json:"targets" example:"[\"grid1.zone1.station1.ns1.tag1.transformfeeder1_220.I_A_rms\",\"grid1.zone1.station1.ns1.tag1.transformfeeder1_220.I_B_rms\"]" description:"需要采集数据的测点或标签名称列表"`
}
// RealTimePullPayload define struct of pull real time data payload
type RealTimePullPayload struct {
// required: true
Targets []RealTimePullTarget `json:"targets" example:"{\"targets\":[{\"id\":\"grid1.zone1.station1.ns1.tag1.transformfeeder1_220.I_A_rms\",\"datas\":[{\"time\":1736305467506000000,\"value\":1},{\"time\":1736305467506000000,\"value\":1}]},{\"id\":\"grid1.zone1.station1.ns1.tag1.transformfeeder1_220.I_B_rms\",\"datas\":[{\"time\":1736305467506000000,\"value\":1},{\"time\":1736305467506000000,\"value\":1}]}]}" description:"实时数据"`
}
// RealTimePullTarget define struct of pull real time data target
type RealTimePullTarget struct {
ID string `json:"id" example:"grid1.zone1.station1.ns1.tag1.transformfeeder1_220.I_A_rms" description:"实时数据ID值"`
Datas []RealTimePullData `json:"datas" example:"[{\"time\":1736305467506000000,\"value\":220},{\"time\":1736305467506000000,\"value\":220}]" description:"实时数据值数组"`
}
// RealTimePullData define struct of pull real time data param
type RealTimePullData struct {
Time string `json:"time" example:"1736305467506000000" description:"实时数据时间戳"`
Value float64 `json:"value" example:"220" description:"实时数据值"`
}