Browse Source

add:预警重启关闭接口

zqbao 4 months ago
parent
commit
2f4e8f5706

+ 125 - 0
controllers/edb_monitor/edb_monitor.go

@@ -231,3 +231,128 @@ func (m *EdbMonitorController) Delete() {
 	br.Ret = 200
 	br.Success = true
 }
+
+// Close
+// @Title 预警管理关闭
+// @Description 预警管理关闭
+// @Param   request body request.EdbMonitorSaveRequest  true  "每页数据条数"
+// @Success 200 {object} models.EnglishReportEmailPageListResp
+// @router /close [post]
+func (m *EdbMonitorController) Close() {
+	br := new(models.BaseResponse).Init()
+	defer func() {
+		m.Data["json"] = br
+		m.ServeJSON()
+	}()
+	sysUser := m.SysUser
+	if sysUser == nil {
+		br.Msg = "请登录"
+		br.ErrMsg = "请登录,SysUser Is Empty"
+		br.Ret = 408
+		return
+	}
+	var req request.EdbMonitorInfoCloseReq
+	if err := json.Unmarshal(m.Ctx.Input.RequestBody, &req); err != nil {
+		br.Msg = "参数解析失败"
+		br.ErrMsg = err.Error()
+		return
+	}
+	if req.EdbMonitorId <= 0 {
+		br.Msg = "请选择预警"
+		return
+	}
+
+	msg, err := edbmonitor.CloseEdbMonitorInfo(req, sysUser.AdminId)
+	if err != nil {
+		if msg == "" {
+			msg = "关闭失败"
+		}
+		br.Msg = msg
+		br.ErrMsg = err.Error()
+		return
+	}
+
+	br.Msg = "关闭成功"
+	br.Ret = 200
+	br.Success = true
+}
+
+// Restart
+// @Title 预警管理重启
+// @Description 预警管理重启
+// @Param   request body request.EdbMonitorSaveRequest  true  "每页数据条数"
+// @Success 200 {object} models.EnglishReportEmailPageListResp
+// @router /restart [post]
+func (m *EdbMonitorController) Restart() {
+	br := new(models.BaseResponse).Init()
+	defer func() {
+		m.Data["json"] = br
+		m.ServeJSON()
+	}()
+	sysUser := m.SysUser
+	if sysUser == nil {
+		br.Msg = "请登录"
+		br.ErrMsg = "请登录,SysUser Is Empty"
+		br.Ret = 408
+		return
+	}
+	var req request.EdbMonitorInfoRestartReq
+	if err := json.Unmarshal(m.Ctx.Input.RequestBody, &req); err != nil {
+		br.Msg = "参数解析失败"
+		br.ErrMsg = err.Error()
+		return
+	}
+	if req.EdbMonitorId <= 0 {
+		br.Msg = "请选择预警"
+		return
+	}
+
+	msg, err := edbmonitor.RestartEdbMonitorInfo(req, sysUser.AdminId)
+	if err != nil {
+		if msg == "" {
+			msg = "重启失败"
+		}
+		br.Msg = msg
+		br.ErrMsg = err.Error()
+		return
+	}
+
+	br.Msg = "重启成功"
+	br.Ret = 200
+	br.Success = true
+}
+
+// GetMonitorLevel
+// @Title 预警管理等级列表
+// @Description 预警管理等级列表
+// @Param   request body request.EdbMonitorSaveRequest  true  "每页数据条数"
+// @Success 200 {object} models.EnglishReportEmailPageListResp
+// @router /monitor_level/list [get]
+func (m *EdbMonitorController) GetMonitorLevel() {
+	br := new(models.BaseResponse).Init()
+	defer func() {
+		m.Data["json"] = br
+		m.ServeJSON()
+	}()
+	sysUser := m.SysUser
+	if sysUser == nil {
+		br.Msg = "请登录"
+		br.ErrMsg = "请登录,SysUser Is Empty"
+		br.Ret = 408
+		return
+	}
+	list, msg, err := edbmonitor.GetEdbMonitorLevelList()
+	if err != nil {
+		if msg == "" {
+			msg = "获取预警等级失败"
+		}
+		br.Msg = msg
+		br.ErrMsg = err.Error()
+		return
+	}
+
+	br.Data = list
+	br.Msg = "获取成功"
+	br.Ret = 200
+	br.Success = true
+}

+ 7 - 0
models/edb_monitor/edb_monitor.go

@@ -43,6 +43,13 @@ func (m *EdbMonitorInfo) Update(cols []string) (err error) {
 	return
 }
 
+func GetEdbMonitorLevelList() (list []string, err error) {
+	o := orm.NewOrmUsingDB("data")
+	sql := `SELECT DISTINCT monitor_level FROM edb_monitor_info`
+	_, err = o.Raw(sql).QueryRows(&list)
+	return
+}
+
 func DeleteEdbMonitorInfoById(id int) (err error) {
 	o := orm.NewOrmUsingDB("data")
 	sql := `DELETE FROM edb_monitor_info WHERE edb_monitor_id =?`

+ 8 - 0
models/edb_monitor/request/edb_monitor.go

@@ -13,3 +13,11 @@ type EdbMonitorInfoSaveReq struct {
 type EdbMonitorInfoDeleteReq struct {
 	EdbMonitorId int `description:"预警ID"`
 }
+
+type EdbMonitorInfoCloseReq struct {
+	EdbMonitorId int `description:"预警ID"`
+}
+
+type EdbMonitorInfoRestartReq struct {
+	EdbMonitorId int `description:"预警ID"`
+}

+ 27 - 0
routers/commentsRouter.go

@@ -6523,6 +6523,15 @@ func init() {
             Filters: nil,
             Params: nil})
 
+    beego.GlobalControllerRouter["eta/eta_api/controllers/edb_monitor:EdbMonitorController"] = append(beego.GlobalControllerRouter["eta/eta_api/controllers/edb_monitor:EdbMonitorController"],
+        beego.ControllerComments{
+            Method: "Close",
+            Router: `/close`,
+            AllowHTTPMethods: []string{"post"},
+            MethodParams: param.Make(),
+            Filters: nil,
+            Params: nil})
+
     beego.GlobalControllerRouter["eta/eta_api/controllers/edb_monitor:EdbMonitorController"] = append(beego.GlobalControllerRouter["eta/eta_api/controllers/edb_monitor:EdbMonitorController"],
         beego.ControllerComments{
             Method: "Delete",
@@ -6550,6 +6559,24 @@ func init() {
             Filters: nil,
             Params: nil})
 
+    beego.GlobalControllerRouter["eta/eta_api/controllers/edb_monitor:EdbMonitorController"] = append(beego.GlobalControllerRouter["eta/eta_api/controllers/edb_monitor:EdbMonitorController"],
+        beego.ControllerComments{
+            Method: "GetMonitorLevel",
+            Router: `/monitor_level/list`,
+            AllowHTTPMethods: []string{"get"},
+            MethodParams: param.Make(),
+            Filters: nil,
+            Params: nil})
+
+    beego.GlobalControllerRouter["eta/eta_api/controllers/edb_monitor:EdbMonitorController"] = append(beego.GlobalControllerRouter["eta/eta_api/controllers/edb_monitor:EdbMonitorController"],
+        beego.ControllerComments{
+            Method: "Restart",
+            Router: `/restart`,
+            AllowHTTPMethods: []string{"post"},
+            MethodParams: param.Make(),
+            Filters: nil,
+            Params: nil})
+
     beego.GlobalControllerRouter["eta/eta_api/controllers/english_report:EnPermissionController"] = append(beego.GlobalControllerRouter["eta/eta_api/controllers/english_report:EnPermissionController"],
         beego.ControllerComments{
             Method: "Add",

+ 62 - 0
services/edb_monitor/edb_monitor.go

@@ -311,6 +311,68 @@ func DeleteEdbMonitorInfo(req request.EdbMonitorInfoDeleteReq) (msg string, err
 	return
 }
 
+func GetEdbMonitorLevelList() (list []string, msg string, err error) {
+	list, err = edbmonitor.GetEdbMonitorLevelList()
+	if err != nil {
+		msg = "获取等级等级列表失败"
+		err = fmt.Errorf("GetEdbMonitorLevelList err:%w", err)
+		return
+	}
+	return
+}
+
+func CloseEdbMonitorInfo(req request.EdbMonitorInfoCloseReq, adminId int) (msg string, err error) {
+	edbMonitor, er := edbmonitor.GetEdbMonitorInfoById(req.EdbMonitorId)
+	if er != nil {
+		if er.Error() == utils.ErrNoRow() {
+			msg = "指标预警不存在,请刷新重试"
+			err = er
+		}
+		msg = "关闭失败"
+		err = fmt.Errorf("获取预警详情失败, err:%w", er)
+		return
+	}
+	if edbMonitor.CreateUserId != adminId {
+		msg = "无权限操作"
+		err = fmt.Errorf("无权限操作")
+		return
+	}
+	edbMonitor.State = EDB_MONITOR_STATE_CLOSE
+	edbMonitor.ModifyTime = time.Now()
+	er = edbMonitor.Update([]string{"state", "modify_time"})
+	if er != nil {
+		msg = "关闭失败"
+		err = fmt.Errorf("修改预警状态失败, err:%w", er)
+		return
+	}
+	return
+}
+
+func RestartEdbMonitorInfo(req request.EdbMonitorInfoRestartReq, adminId int) (msg string, err error) {
+	edbMonitor, er := edbmonitor.GetEdbMonitorInfoById(req.EdbMonitorId)
+	if er != nil {
+		if er.Error() == utils.ErrNoRow() {
+			msg = "指标预警不存在,请刷新重试"
+			err = er
+		}
+		msg = "重启失败"
+		err = fmt.Errorf("获取预警详情失败, err:%w", er)
+		return
+	}
+	if edbMonitor.CreateUserId != adminId {
+		msg = "无权限操作"
+		err = fmt.Errorf("无权限操作")
+		return
+	}
+	err = ModifyEdbMonitorState(edbMonitor, edbMonitor.EdbCode, edbMonitor.Source, edbMonitor.SubSource)
+	if err != nil {
+		msg = "重启失败"
+		err = fmt.Errorf("修改预警状态失败, err:%w", err)
+		return
+	}
+	return
+}
+
 func toEdbMonitorInfoItems(edbmonitor []*edbmonitor.EdbMonitorInfo, userMap map[int]string, classifyPathMap map[int]string) []*response.EdbMonitorInfoItem {
 	res := make([]*response.EdbMonitorInfoItem, len(edbmonitor))
 	for _, v := range edbmonitor {