44 "context"
55 "fmt"
66 "sync"
7- "time"
87 "watchAlert/internal/models"
98 "watchAlert/pkg/tools"
109
@@ -26,13 +25,7 @@ type (
2625 RemoveAlertEvent (tenantId , faultCenterId , fingerprint string )
2726 GetFingerprintsByRuleId (tenantId , faultCenterId , ruleId string ) []string
2827 GetAllEvents (key models.AlertEventCacheKey ) (map [string ]* models.AlertCurEvent , error )
29- GetFirstTime (tenantId , faultCenterId , fingerprint string ) int64
30- GetLastEvalTime () int64
31- GetLastSendTime (tenantId , faultCenterId , fingerprint string ) int64
32- GetEventStatus (tenantId , faultCenterId , fingerprint string ) models.AlertStatus
33- GetLastFiringValue (tenantId , faultCenterId , fingerprint string ) float64
3428 GetEventFromCache (tenantId , faultCenterId , fingerprint string ) (models.AlertCurEvent , error )
35- GetLastConfirmState (tenantId , faultCenterId , fingerprint string ) models.ConfirmState
3629 }
3730)
3831
@@ -112,67 +105,6 @@ func (a *AlertCache) GetEventFromCache(tenantId, faultCenterId, fingerprint stri
112105 return event , nil
113106}
114107
115- // GetFirstTime 获取故障中心事件的首次触发时间
116- func (a * AlertCache ) GetFirstTime (tenantId , faultCenterId , fingerprint string ) int64 {
117- event , err := a .GetEventFromCache (tenantId , faultCenterId , fingerprint )
118- if err != nil || event .FirstTriggerTime == 0 {
119- return time .Now ().Unix ()
120- }
121- return event .FirstTriggerTime
122- }
123-
124- // GetLastEvalTime 获取故障中心事件的最后评估时间
125- func (a * AlertCache ) GetLastEvalTime () int64 {
126- return time .Now ().Unix ()
127- }
128-
129- // GetLastSendTime 获取故障中心事件的最后发送时间
130- func (a * AlertCache ) GetLastSendTime (tenantId , faultCenterId , fingerprint string ) int64 {
131- event , err := a .GetEventFromCache (tenantId , faultCenterId , fingerprint )
132- if err != nil {
133- return 0
134- }
135- return event .LastSendTime
136- }
137-
138- // GetEventStatus 获取事件状态
139- func (a * AlertCache ) GetEventStatus (tenantId , faultCenterId , fingerprint string ) models.AlertStatus {
140- event , err := a .GetEventFromCache (tenantId , faultCenterId , fingerprint )
141- if err != nil {
142- return models .StatePreAlert
143- }
144-
145- if event .Status == "" {
146- return models .StatePreAlert
147- }
148-
149- return event .Status
150- }
151-
152- // GetLastFiringValue 获取故障中心事件的最新告警值
153- func (a * AlertCache ) GetLastFiringValue (tenantId , faultCenterId , fingerprint string ) float64 {
154- event , err := a .GetEventFromCache (tenantId , faultCenterId , fingerprint )
155- if err != nil {
156- return 0
157- }
158-
159- v , ok := event .Labels ["value" ]
160- if ! ok {
161- return 0
162- }
163-
164- return v .(float64 )
165- }
166-
167- // GetLastConfirmState 获取最新告警升级认领状态
168- func (a * AlertCache ) GetLastConfirmState (tenantId , faultCenterId , fingerprint string ) models.ConfirmState {
169- event , err := a .GetEventFromCache (tenantId , faultCenterId , fingerprint )
170- if err != nil {
171- return models.ConfirmState {}
172- }
173- return event .ConfirmState
174- }
175-
176108// 封装 Redis 操作
177109func (a * AlertCache ) setEventCacheHash (key models.AlertEventCacheKey , field , value string ) {
178110 a .rc .HSet (string (key ), field , value )
0 commit comments