fwhProDomain.go 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214
  1. package domain
  2. type FwhResponse[T any] struct {
  3. Code int `json:"code"` // 401 - invalid token
  4. Message string `json:"message"`
  5. Result *T `json:"result"`
  6. Success *bool `json:"success"`
  7. }
  8. type FwhPageResponse[T any] struct {
  9. Code int `json:"code"` // 401 - invalid token
  10. Message string `json:"message"`
  11. Result *T `json:"result"`
  12. Success *bool `json:"success"`
  13. Total uint64 `json:"total"`
  14. }
  15. type FwhResponseA[T any] struct {
  16. Code int `json:"code"` // 401 - invalid token
  17. Msg string `json:"msg"`
  18. Result *T `json:"result"`
  19. }
  20. type FwhResponseB[T any] struct {
  21. Code int `json:"code"` // 401 - invalid token
  22. Msg string `json:"msg"`
  23. Data *T `json:"data"`
  24. }
  25. type AlarmSnapshotInfo struct {
  26. Id int64 `json:"id"`
  27. CodeType int32 `json:"codeType"` // 作用未知
  28. FileName string `json:"fileName"`
  29. FileUrl string `json:"fileUrl"`
  30. LinkId string `json:"linkId"` // site SN
  31. LogTime string `json:"logTime"` // format YYYY-MM-DD
  32. SerialNumber string `json:"serialNumber"`
  33. StartTime string `json:"startTime"` // format YYYY-MM-DD HH:mm:SS
  34. EndTime string `json:"endTime"` // format YYYY-MM-DD HH:mm:SS
  35. Status int `json:"status"` // 1-完成
  36. CompleteTime string `json:"completeTime"` // format YYYY-MM-DD HH:mm:SS
  37. }
  38. type EventAlarmItem struct {
  39. ID *string `json:"id"` // UUID or null
  40. CmdType string `json:"cmdType"` // 命令说明
  41. CmdName string `json:"cmdName"` // 命令类型 exp:201...
  42. GatewayId string `json:"gatewayId"` // SN
  43. GatewayType *string `json:"gatewayType"`
  44. GatewayStatus *string `json:"gatewayStatus"`
  45. ActiveStatus *string `json:"activeStatus"` // 激活状态
  46. ActiveTime *string `json:"activeTime"` // 激活时间
  47. AlarmCode string `json:"alarmCode"` // 告警码,事件则为0
  48. LogName string `json:"logName"`
  49. LogType string `json:"logType"` // 日志类型 0-事件 1-告警
  50. LogData string `json:"logData"` // JSON数据
  51. LogTime string `json:"logTime"` // 设备时间(日志上传时间,告警未结束为开始时间,结束为结束时间)
  52. Time string `json:"time"` // UTC时间
  53. StartTime string `json:"startTime"` // 事件或告警的开始时间
  54. EndTime *string `json:"endTime"` // 告警结束时间,事件没有结束时间为null,告警枚举结束时间则未结束
  55. }
  56. type ShutdownRecord struct {
  57. GatewayId string `json:"gatewayId"` // SN
  58. ShutdownType int `json:"shutdownType"` // 1-系统停机 2-aPower停机
  59. Country string `json:"country"` // 国家
  60. Province string `json:"province"` // 州/省
  61. ActiveTime string `json:"activeTime"` // 激活时间
  62. DeviceTime string `json:"deviceTime"` // 告警时的设备时间 (Shutdown开始时间)
  63. }
  64. type EmsLogRecordInfo struct {
  65. Id int64 `json:"id"`
  66. FileName string `json:"fileName"` // 不含后缀
  67. CallTime string `json:"callTime"`
  68. CompleteTime string `json:"completeTime"`
  69. Status int `json:"status"` // 召唤状态 1-成功 0-召唤中 -1-失败
  70. FileUrl string `json:"fileUrl"`
  71. LinkId string `json:"linkId"` // SN
  72. LogTime string `json:"logTime"`
  73. CodeType int `json:"codeType"` // 日志类型 4-IBG运行日志 7-电池日志 9-设备系统资源监控日志 10-4G日志 11-AWS日志 12-主进程日志
  74. }
  75. type FaultRecordInfo struct {
  76. Id int64 `json:"id"`
  77. DeviceType int `json:"deviceType"` // 0-aPower 1-aGate 2-MPPT 3-aHub
  78. ApowerId *string `json:"apowerId"` // aPower SN, deviceType不为0或2时为null
  79. GatewayId string `json:"gatewayId"` // aGate SN
  80. PowerlinkId *string `json:"powerlinkId"` // aHub SN, deviceType不为3时为null
  81. TriggerType int `json:"triggerType"` // 触发类中:1-手动 2-自动
  82. FaultRecordsCount int `json:"faultRecordsCount"` // 故障录波召唤数量
  83. EarliestFaultTime string `json:"earliestFaultTime"` // 故障录波列表Format: YYY-MM-DD hh:mm:ss / 召唤记录Format: 时间戳
  84. LatestFaultTime string `json:"latestFaultTime"` // 故障录波列表Format: YYY-MM-DD hh:mm:ss / 召唤记录Format: 时间戳
  85. CellTime string `json:"cellTime"` // 召唤时间 Format: YYY-MM-DD hh:mm:ss
  86. FileUrl string `json:"fileUrl"` // 文件下载路径
  87. FileName string `json:"fileName"` // 文件名,不含后缀
  88. Status *int `json:"status"` // 录波数据查询为null,召唤记录查询则为召唤状态 0-开始召唤 2-召唤成功 -1-召唤失败
  89. FaultReason *string `json:"faultReason"` // 录波数据查询为null,status为-1时为失败原因,否则为null
  90. }
  91. type FaultRecordCallableInfo struct {
  92. Idx int `json:"idx"` // 数据序号
  93. IndexNumber string `json:"indexNumber"` // 数据序号 exg."01"
  94. FailureTime string `json:"failureTime"` // 故障时间 Format: YYY-MM-DD hh:mm:ss
  95. ParamVersionNumber string `json:"paramVersionNumber"` // 故障信息
  96. TriggerSourceCode string `json:"triggerSourceCode"` // 故障码
  97. }
  98. type FaultRecordChannelInfo struct {
  99. Code string `json:"code"`
  100. Describe string `json:"describe"` // 说明
  101. Index int `json:"index"`
  102. }
  103. type FaultRecordSubInfo struct {
  104. DeviceType int `json:"deviceType"` // 0-aPower 1-aGate 2-MPPT 3-aHub
  105. ApowerId *string `json:"apowerId"` // aPower SN
  106. GatewayId string `json:"gatewayId"` // aGate SN
  107. FileName string `json:"fileName"` // 不含后缀
  108. Id int64 `json:"id"` // 本条记录的ID
  109. FaultId int64 `json:"faultId"`
  110. EventTriggerSource string `json:"eventTriggerSource"` // 故障码
  111. EventTriggerSourceName string `json:"eventTriggerSourceName"` // 故障码解释
  112. SamplingCount uint `json:"samplingCount"` // 采样通道数量
  113. FailureTime string `json:"failureTime"` //故障发送时间 Format: YYY-MM-DD hh:mm:ss
  114. SnapshotCount string `json:"snapshotCount"` // 快照采样通道数量
  115. SamplingPoints string `json:"samplingPoints"` // 采样点总数
  116. MaxFrequency string `json:"maxFrequency"` // 最大采样频率
  117. CurrFrequency string `json:"currFrequency"` // 当前采样频率
  118. SnapshotMeaningVal string `json:"snapshotMeaningVal"` // 快照含义?
  119. SnapshotChannel []FaultRecordChannelInfo `json:"snapshotChannel"` // 快照通道信息
  120. SamplingMeaning string `json:"samplingMeaning"` // 采样含义?
  121. SamplingChannel []FaultRecordChannelInfo `json:"samplingChannel"` // 采样通道信息
  122. }
  123. type SystemUpdateRecordInfo struct {
  124. Id int64 `json:"id"`
  125. OrderNo string `json:"orderNo"` // 升级单号
  126. Name string `json:"name"` //
  127. UpgradeType string `json:"upgradeType"`
  128. UpgradeTime string `json:"upgradeTime"` // 升级开始时间 - UTC时间
  129. UpgradeNum int `json:"upgradeNum"` // 升级设备数量
  130. Result int `json:"result"` // 升级结果 1-升级中 2-升级成功 3-升级失败
  131. Status int `json:"status"`
  132. SuccessNum int `json:"successNum"`
  133. FailuresNum int `json:"failuresNum"`
  134. TurnoverTime string `json:"turnoverTime"` // 升级完成时间 - UTC时间
  135. OrderUpgradeTypeName string `json:"orderUpgradeTypeName"` // 升级类型 exg.无感升级
  136. }
  137. type AHubUpdateRecordInfo struct {
  138. AHubSn string `json:"ahubSn"` // aHub SN
  139. OrderNo string `json:"orderNo"` // 升级单号
  140. GatewayId string `json:"gatewayId"` // Gate SN
  141. EndTime int64 `json:"endTime"` // 升级结束时间 - 时间戳(ms) - 只能显示北京时间
  142. UpgradeResult int `json:"upgradeResult"` // 升级结果 0-成功
  143. DetailList []struct {
  144. UpgradeFileName string `json:"upgradeFileName"` // 升级包名
  145. UpgradeFileOrder string `json:"upgradeFileOrder"` // 升级包单号
  146. UpgradeResult string `json:"upgradeResult"` // 升级结果 '0'-成功
  147. UpgradeResultDesc string `json:"upgradeResultDesc"` // 升级结果说明
  148. OldVersion string `json:"oldVersion"` // 升级前版本
  149. NewVersion string `json:"newVersion"` // 升级后版本
  150. } `json:"detailList"`
  151. }
  152. type SystemUpdateDetailInfo struct {
  153. Id int64 `json:"id"`
  154. OrderNo string `json:"orderNo"` // 升级单号
  155. GatewayId string `json:"gatewayId"` // SN
  156. GatewayName string `json:"gatewayName"`
  157. GatewayStatus int `json:"gatewayStatus"`
  158. ActiveStatus int `json:"activeStatus"` // 激活状态 0-未激活 1-已激活
  159. Result int `json:"result"` // 升级结果 1-升级中 2-升级成功 3-升级失败
  160. UpgradeTime string `json:"upgradeTime"` // 升级开始时间
  161. TurnoverTime string `json:"turnoverTime"` // 升级完成时间
  162. IbgVersion string `json:"ibgVersion"` // 设备版本信息(同IbgVersionNew) JSON string
  163. IbgVersionNew []struct { // Gate 版本
  164. Type string `json:"type"` // 版本类型
  165. OldVersion string `json:"oldVersion"` // 升级前版本
  166. Version string `json:"version"` // 升级后版本
  167. Children []struct {
  168. Type string `json:"type"` // 版本类型
  169. OldVersion string `json:"oldVersion"` // 升级前版本
  170. Version string `json:"version"` // 升级后版本
  171. } `json:"children"`
  172. } `json:"ibgVersionNew"`
  173. ErrCode int `json:"errCode"` // 错误码 0-无错误
  174. ErrMsg string `json:"errMsg"` // 错误信息
  175. DownloadAfterStatus int `json:"downloadAfterStatus"`
  176. CoverOrderNo string `json:"coverOrderNo"`
  177. SysHdVersion int `json:"sysHdVersion"` // 系统硬件版本 int eg.104=FHP1.4
  178. RealSysHdVersion string `json:"realSysHdVersion"` // 系统硬件版本 string
  179. EmsDeviceVer int `json:"emsDeviceVer"`
  180. OldEmsDeviceVer int `json:"oldEmsDeviceVer"`
  181. SonNewDevices []struct { // 子设备版本 (aPower、aHub)
  182. ApowerSn string `json:"apowerSn"` // 子设备SN
  183. FirstList []struct { // 1级菜单
  184. BigType string `json:"bigType"` // 设备类型
  185. DeviceSn string `json:"deviceSn"` // 设备SN
  186. Secondlist []struct { // 2级菜单
  187. Type string `json:"type"` // 版本类型
  188. Thirdlist []struct { // 3级类型
  189. SubType string `json:"subType"` // 版本类型
  190. Version string `json:"version"` // 升级后版本
  191. OldVersion string `json:"oldVersion"` // 升级前版本
  192. } `json:"thirdlist"`
  193. } `json:"secondlist"`
  194. } `json:"firstList"`
  195. } `json:"sonNewDevices"`
  196. // sonDevices ??? TODO
  197. // apboxVersion ??? TODO
  198. // apboxVersionVOList ??? TODO
  199. }