Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
S
so-operation-api
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
smart-operation
so-operation-api
Commits
2c85d1e9
Commit
2c85d1e9
authored
Jul 07, 2023
by
李科
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
fix: 预警列表优化推送记录&处置记录
parent
eb2db1eb
Changes
4
Show whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
189 additions
and
41 deletions
+189
-41
src/bean/entity/alert_list.go
src/bean/entity/alert_list.go
+34
-25
src/bean/entity/push_record.go
src/bean/entity/push_record.go
+1
-0
src/bean/vo/response/alert_list.go
src/bean/vo/response/alert_list.go
+1
-0
src/service/alert_list.go
src/service/alert_list.go
+153
-16
No files found.
src/bean/entity/alert_list.go
View file @
2c85d1e9
...
@@ -10,28 +10,37 @@ type AlertList struct {
...
@@ -10,28 +10,37 @@ type AlertList struct {
AlertRulesId
string
`json:"alert_rules_id"`
// 告警规则id
AlertRulesId
string
`json:"alert_rules_id"`
// 告警规则id
RiskLevel
int
`json:"risk_level"`
// 风险等级,1:低风险,2:一般风险,3:较大风险,4:重大风险
RiskLevel
int
`json:"risk_level"`
// 风险等级,1:低风险,2:一般风险,3:较大风险,4:重大风险
AlertTime
jsontime
.
Time
`json:"alert_time"`
// 预警时间
AlertTime
jsontime
.
Time
`json:"alert_time"`
// 预警时间
ClassId
int
`json:"class_id" xorm:"'class_id'"`
// 预警对象id(级联:预警分类/预警对象)
ClassId
int
`json:"class_id"`
// 预警对象id(级联:预警分类/预警对象)
ClassParentName
string
`json:"class_parent_name" xorm:"class_parent_name"`
// 预警分类名称 TODO 该字段做关联存储或查询
ClassParentName
string
`json:"class_parent_name"`
// 预警分类名称 TODO 该字段做关联存储或查询
ClassName
string
`json:"class_name" xorm:"class_name"`
// 预警对象名称 TODO 该字段做关联存储或查询
ClassName
string
`json:"class_name"`
// 预警对象名称 TODO 该字段做关联存储或查询
MetricConfigId
string
`json:"metric_config_id"`
// 预警指标id // 预警指标
MetricConfigId
string
`json:"metric_config_id"`
// 预警指标id // 预警指标
MetricConfigName
string
`json:"metric_config_name" xorm:"metric_config_name"`
// 预警指标名称
MetricConfigName
string
`json:"metric_config_name"`
// 预警指标名称
AlertRuleType
string
`json:"alert_rule_type" xorm:"alert_rule_type"`
// 预警规则类型id TODO 该字段做关联存储或查询
AlertRuleType
string
`json:"alert_rule_type"`
// 预警规则类型id TODO 该字段做关联存储或查询
AlertRuleTypeName
string
`json:"alert_rule_type_name" xorm:"alert_rule_type_name"`
// 预警规则类型名称 TODO 该字段做关联存储或查询
AlertRuleTypeName
string
`json:"alert_rule_type_name"`
// 预警规则类型名称 TODO 该字段做关联存储或查询
CurrentValue
float64
`json:"current_value"`
// 当前报警值
CurrentValue
float64
`json:"current_value"`
// 当前报警值
AlertCondition
string
`json:"alert_condition" xorm:"'alert_condition'"`
// 预警规则(预警阈值) 字典值
AlertCondition
string
`json:"alert_condition" xorm:"'alert_condition'"`
// 预警规则(预警阈值) 字典值
NotificationCount
int
`json:"notification_count"`
// 通知人数
NotificationCount
int
`json:"notification_count"`
// 通知人数
PushCount
int
`json:"push_count"`
// 推送次数
PushCount
int
`json:"push_count"`
// 推送次数
LastPushTime
jsontime
.
Time
`json:"last_push_time"`
// 最近推送时间
LastPushTime
jsontime
.
Time
`json:"last_push_time"`
// 最近推送时间
Status
int
`json:"status"`
// 状态,1:已恢复 2:未恢复 3:已关闭
Status
int
`json:"status"`
// 状态,1:已恢复 2:未恢复 3:已关闭
IsDisposed
int
`json:"is_disposed"`
// 是否处置(工单管理),1:已处置,2:未处置
DisposedList
[]
DisposedList
`json:"disposed_list"`
// 处置列表
DisposalContent
string
`json:"disposal_content"`
// 处置内容(工单管理,结果反馈)
CloseRemark
string
`json:"close_remark"`
// 关闭备注(预警关闭提醒)
CloseRemark
string
`json:"close_remark"`
// 关闭备注,预警关闭提醒
CloseUser
string
`json:"close_user"`
// 关闭用户,预警关闭提醒
CloseTime
jsontime
.
Time
`json:"close_time"`
// 关闭关闭时间,预警关闭提醒
DeferPush
int
`json:"defer_push" xorm:"defer_push"`
// 延迟三天推送: 0:否 1:是 三天内将不再自动推送该告警信息给处置人员,可手动推送,但告警数据依然会出现
CreatedBy
string
`json:"created_by" xorm:"'created_by'"`
// 创建人
CreatedBy
string
`json:"created_by" xorm:"'created_by'"`
// 创建人
CreatedAt
jsontime
.
Time
`json:"created_at" xorm:"'created_at'"`
// 创建时间
CreatedAt
jsontime
.
Time
`json:"created_at" xorm:"'created_at'"`
// 创建时间
UpdatedBy
string
`json:"updated_by" xorm:"'updated_by'"`
// 更新人
UpdatedBy
string
`json:"updated_by" xorm:"'updated_by'"`
// 更新人
UpdatedAt
jsontime
.
Time
`json:"updated_at" xorm:"'updated_at'"`
// 更新时间
UpdatedAt
jsontime
.
Time
`json:"updated_at" xorm:"'updated_at'"`
// 更新时间
}
}
type
DisposedList
struct
{
IsDisposed
int
`json:"is_disposed"`
// 是否处置(工单管理),1:已处置,2:未处置
DisposalContent
string
`json:"disposal_content"`
// 处置内容(工单管理,结果反馈)
DisposalUser
string
`json:"disposal_user"`
// 处置人(工单管理,结果反馈)
DisposalTime
jsontime
.
Time
`json:"disposal_time"`
// 处置时间(工单管理,结果反馈)
}
func
(
a
*
AlertList
)
TableName
()
string
{
func
(
a
*
AlertList
)
TableName
()
string
{
return
"alert_list"
return
"alert_list"
}
}
src/bean/entity/push_record.go
View file @
2c85d1e9
...
@@ -4,6 +4,7 @@ import "gitlab.wodcloud.com/smart-operation/so-operation-api/src/pkg/beagle/json
...
@@ -4,6 +4,7 @@ import "gitlab.wodcloud.com/smart-operation/so-operation-api/src/pkg/beagle/json
type
PushRecord
struct
{
type
PushRecord
struct
{
Id
int
`json:"id" xorm:"'id' pk autoincr"`
// 主键id
Id
int
`json:"id" xorm:"'id' pk autoincr"`
// 主键id
AlertId
int
`json:"alert_id" xorm:"alert_id"`
// 告警id
AlertRulesId
string
`json:"alert_rules_id" xorm:"'alert_rules_id'"`
// 告警规则id
AlertRulesId
string
`json:"alert_rules_id" xorm:"'alert_rules_id'"`
// 告警规则id
RiskLevel
int
`json:"risk_level" xorm:"'risk_level'"`
// 风险等级,1:低风险,2:一般风险,3:较大风险,4:重大风险
RiskLevel
int
`json:"risk_level" xorm:"'risk_level'"`
// 风险等级,1:低风险,2:一般风险,3:较大风险,4:重大风险
NotifyMethod
string
`json:"notify_method" xorm:"'notify_method'"`
// 预警通知方式 dingtalk sms
NotifyMethod
string
`json:"notify_method" xorm:"'notify_method'"`
// 预警通知方式 dingtalk sms
...
...
src/bean/vo/response/alert_list.go
View file @
2c85d1e9
...
@@ -7,6 +7,7 @@ import (
...
@@ -7,6 +7,7 @@ import (
type
AlertListItem
struct
{
type
AlertListItem
struct
{
entity
.
AlertList
`xorm:"extends"`
entity
.
AlertList
`xorm:"extends"`
AlertCondition
entity
.
AlertCondition
`json:"alert_condition" xorm:"alert_condition"`
AlertCondition
entity
.
AlertCondition
`json:"alert_condition" xorm:"alert_condition"`
PushRecords
[]
PushRecordItem
`json:"push_records"`
}
}
type
AlertListList
struct
{
type
AlertListList
struct
{
...
...
src/service/alert_list.go
View file @
2c85d1e9
...
@@ -62,12 +62,22 @@ func (a *AlertListSvc) GetDataById(req request.DetailAlertList) (resp response.A
...
@@ -62,12 +62,22 @@ func (a *AlertListSvc) GetDataById(req request.DetailAlertList) (resp response.A
AlertRuleType
:
"51a2cc1e-eb24-4b16-b106-3dc9db963a49"
,
AlertRuleType
:
"51a2cc1e-eb24-4b16-b106-3dc9db963a49"
,
AlertRuleTypeName
:
"%"
,
AlertRuleTypeName
:
"%"
,
CurrentValue
:
85
,
CurrentValue
:
85
,
AlertCondition
:
""
,
NotificationCount
:
3
,
NotificationCount
:
3
,
PushCount
:
3
,
PushCount
:
3
,
LastPushTime
:
now
,
LastPushTime
:
now
,
Status
:
2
,
Status
:
2
,
DisposedList
:
[]
entity
.
DisposedList
{
{
IsDisposed
:
1
,
IsDisposed
:
1
,
DisposalContent
:
"已处置完毕,已做恢复操作"
,
DisposalContent
:
"处置记录"
,
DisposalUser
:
"xiaowang"
,
DisposalTime
:
now
,
},
},
CloseRemark
:
""
,
CloseUser
:
""
,
DeferPush
:
0
,
CreatedBy
:
"admin"
,
CreatedBy
:
"admin"
,
CreatedAt
:
now
,
CreatedAt
:
now
,
UpdatedBy
:
"admin"
,
UpdatedBy
:
"admin"
,
...
@@ -78,6 +88,42 @@ func (a *AlertListSvc) GetDataById(req request.DetailAlertList) (resp response.A
...
@@ -78,6 +88,42 @@ func (a *AlertListSvc) GetDataById(req request.DetailAlertList) (resp response.A
ThresholdsMin
:
80
,
ThresholdsMin
:
80
,
RiskLevel
:
4
,
RiskLevel
:
4
,
},
},
PushRecords
:
[]
response
.
PushRecordItem
{
{
PushRecord
:
entity
.
PushRecord
{
Id
:
1
,
AlertId
:
1
,
AlertRulesId
:
"47f7a57f-7a67-4876-8c89-ea074d040858"
,
RiskLevel
:
1
,
SystemAccount
:
"xiaowang"
,
PushTime
:
now
,
PushType
:
1
,
Status
:
1
,
CreatedBy
:
"admin"
,
CreatedAt
:
now
,
UpdatedBy
:
"admin"
,
UpdatedAt
:
now
,
},
NotifyMethod
:
[]
string
{
"dingtalk"
,
"sms"
},
},
{
PushRecord
:
entity
.
PushRecord
{
Id
:
2
,
AlertId
:
3
,
AlertRulesId
:
"47f7a57f-7a67-4876-8c89-ea074d040858"
,
RiskLevel
:
2
,
SystemAccount
:
"xiaowang"
,
PushTime
:
now
,
PushType
:
2
,
Status
:
2
,
CreatedBy
:
"admin"
,
CreatedAt
:
now
,
UpdatedBy
:
"admin"
,
UpdatedAt
:
now
,
},
NotifyMethod
:
[]
string
{
"dingtalk"
,
"sms"
},
},
},
}
}
resp
=
data
resp
=
data
return
return
...
@@ -100,12 +146,28 @@ func (a *AlertListSvc) List(req request.ListAlertList) (resp response.AlertListL
...
@@ -100,12 +146,28 @@ func (a *AlertListSvc) List(req request.ListAlertList) (resp response.AlertListL
AlertRuleType
:
"51a2cc1e-eb24-4b16-b106-3dc9db963a49"
,
AlertRuleType
:
"51a2cc1e-eb24-4b16-b106-3dc9db963a49"
,
AlertRuleTypeName
:
"%"
,
AlertRuleTypeName
:
"%"
,
CurrentValue
:
85
,
CurrentValue
:
85
,
AlertCondition
:
""
,
NotificationCount
:
3
,
NotificationCount
:
3
,
PushCount
:
3
,
PushCount
:
3
,
LastPushTime
:
now
,
LastPushTime
:
now
,
Status
:
2
,
Status
:
1
,
DisposedList
:
[]
entity
.
DisposedList
{
{
IsDisposed
:
2
,
DisposalContent
:
"未恢复处置"
,
DisposalUser
:
"xiaozhang"
,
DisposalTime
:
now
,
},
{
IsDisposed
:
1
,
IsDisposed
:
1
,
DisposalContent
:
"处置为未恢复"
,
DisposalContent
:
"已恢复处置"
,
DisposalUser
:
"lisi"
,
DisposalTime
:
now
,
},
},
CloseRemark
:
""
,
CloseUser
:
""
,
DeferPush
:
0
,
CreatedBy
:
"admin"
,
CreatedBy
:
"admin"
,
CreatedAt
:
now
,
CreatedAt
:
now
,
UpdatedBy
:
"admin"
,
UpdatedBy
:
"admin"
,
...
@@ -116,6 +178,42 @@ func (a *AlertListSvc) List(req request.ListAlertList) (resp response.AlertListL
...
@@ -116,6 +178,42 @@ func (a *AlertListSvc) List(req request.ListAlertList) (resp response.AlertListL
ThresholdsMin
:
80
,
ThresholdsMin
:
80
,
RiskLevel
:
4
,
RiskLevel
:
4
,
},
},
PushRecords
:
[]
response
.
PushRecordItem
{
{
PushRecord
:
entity
.
PushRecord
{
Id
:
1
,
AlertId
:
1
,
AlertRulesId
:
"47f7a57f-7a67-4876-8c89-ea074d040858"
,
RiskLevel
:
1
,
SystemAccount
:
"xiaozhang"
,
PushTime
:
now
,
PushType
:
1
,
Status
:
1
,
CreatedBy
:
"admin"
,
CreatedAt
:
now
,
UpdatedBy
:
"admin"
,
UpdatedAt
:
now
,
},
NotifyMethod
:
[]
string
{
"dingtalk"
,
"sms"
},
},
{
PushRecord
:
entity
.
PushRecord
{
Id
:
2
,
AlertId
:
3
,
AlertRulesId
:
"47f7a57f-7a67-4876-8c89-ea074d040858"
,
RiskLevel
:
2
,
SystemAccount
:
"xiaowang"
,
PushTime
:
now
,
PushType
:
2
,
Status
:
2
,
CreatedBy
:
"admin"
,
CreatedAt
:
now
,
UpdatedBy
:
"admin"
,
UpdatedAt
:
now
,
},
NotifyMethod
:
[]
string
{
"dingtalk"
,
"sms"
},
},
},
}
}
data2
:=
response
.
AlertListItem
{
data2
:=
response
.
AlertListItem
{
AlertList
:
entity
.
AlertList
{
AlertList
:
entity
.
AlertList
{
...
@@ -132,12 +230,15 @@ func (a *AlertListSvc) List(req request.ListAlertList) (resp response.AlertListL
...
@@ -132,12 +230,15 @@ func (a *AlertListSvc) List(req request.ListAlertList) (resp response.AlertListL
AlertRuleType
:
"51a2cc1e-eb24-4b16-b106-3dc9db963a49"
,
AlertRuleType
:
"51a2cc1e-eb24-4b16-b106-3dc9db963a49"
,
AlertRuleTypeName
:
"%"
,
AlertRuleTypeName
:
"%"
,
CurrentValue
:
85
,
CurrentValue
:
85
,
AlertCondition
:
""
,
NotificationCount
:
1
,
NotificationCount
:
1
,
PushCount
:
1
,
PushCount
:
1
,
LastPushTime
:
now
,
LastPushTime
:
now
,
Status
:
1
,
Status
:
3
,
IsDisposed
:
1
,
CloseRemark
:
"关闭备注"
,
DisposalContent
:
"处置内容为已恢复"
,
CloseUser
:
"xiaowang"
,
CloseTime
:
now
,
DeferPush
:
1
,
CreatedBy
:
"admin"
,
CreatedBy
:
"admin"
,
CreatedAt
:
now
,
CreatedAt
:
now
,
UpdatedBy
:
"admin"
,
UpdatedBy
:
"admin"
,
...
@@ -148,6 +249,42 @@ func (a *AlertListSvc) List(req request.ListAlertList) (resp response.AlertListL
...
@@ -148,6 +249,42 @@ func (a *AlertListSvc) List(req request.ListAlertList) (resp response.AlertListL
ThresholdsMin
:
50
,
ThresholdsMin
:
50
,
RiskLevel
:
3
,
RiskLevel
:
3
,
},
},
PushRecords
:
[]
response
.
PushRecordItem
{
{
PushRecord
:
entity
.
PushRecord
{
Id
:
1
,
AlertId
:
1
,
AlertRulesId
:
"47f7a57f-7a67-4876-8c89-ea074d040858"
,
RiskLevel
:
1
,
SystemAccount
:
"xiaozhang"
,
PushTime
:
now
,
PushType
:
1
,
Status
:
1
,
CreatedBy
:
"admin"
,
CreatedAt
:
now
,
UpdatedBy
:
"admin"
,
UpdatedAt
:
now
,
},
NotifyMethod
:
[]
string
{
"dingtalk"
,
"sms"
},
},
{
PushRecord
:
entity
.
PushRecord
{
Id
:
2
,
AlertId
:
3
,
AlertRulesId
:
"47f7a57f-7a67-4876-8c89-ea074d040858"
,
RiskLevel
:
2
,
SystemAccount
:
"xiaowang"
,
PushTime
:
now
,
PushType
:
2
,
Status
:
2
,
CreatedBy
:
"admin"
,
CreatedAt
:
now
,
UpdatedBy
:
"admin"
,
UpdatedAt
:
now
,
},
NotifyMethod
:
[]
string
{
"dingtalk"
,
"sms"
},
},
},
}
}
resp
.
List
=
append
(
resp
.
List
,
data1
,
data2
)
resp
.
List
=
append
(
resp
.
List
,
data1
,
data2
)
resp
.
TotalCount
=
int64
(
len
(
resp
.
List
))
resp
.
TotalCount
=
int64
(
len
(
resp
.
List
))
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment