125 lines
3.4 KiB
Go
125 lines
3.4 KiB
Go
package v1
|
|
|
|
import (
|
|
"git.inspur.com/sbg-jszt/cfn/cfn-schedule/internal/controller"
|
|
"git.inspur.com/sbg-jszt/cfn/cfn-schedule/internal/model"
|
|
"git.inspur.com/sbg-jszt/cfn/cfn-schedule/internal/model/event"
|
|
"git.inspur.com/sbg-jszt/cfn/cfn-schedule/internal/pkg/errors"
|
|
"git.inspur.com/sbg-jszt/cfn/cfn-schedule/internal/pkg/request"
|
|
"git.inspur.com/sbg-jszt/cfn/cfn-schedule/internal/service/event_engine"
|
|
"git.inspur.com/sbg-jszt/cfn/cfn-schedule/internal/validator"
|
|
"github.com/gin-gonic/gin"
|
|
)
|
|
|
|
func CreateEvent(c *gin.Context) {
|
|
event := &event.Event{}
|
|
err := validator.CheckPostParams(c, event)
|
|
if err != nil {
|
|
controller.FailCode(c, errors.InvalidParameter, err, "请检查参数!")
|
|
return
|
|
}
|
|
_, err = event.Create()
|
|
if err != nil {
|
|
controller.FailCode(c, errors.ServerError, err, "数据库错误!")
|
|
return
|
|
}
|
|
controller.Success(c, "")
|
|
}
|
|
|
|
func EditEvent(c *gin.Context) {
|
|
event := &event.Event{}
|
|
err := validator.CheckPostParams(c, event)
|
|
if err != nil {
|
|
controller.FailCode(c, errors.InvalidParameter, err, "请检查参数!")
|
|
return
|
|
}
|
|
fields := map[string]interface{}{}
|
|
fields["id"] = event.Id
|
|
_, err = event.Get(fields)
|
|
if err != nil {
|
|
controller.FailCode(c, errors.InvalidParameter, err, "无法查找到对象!")
|
|
return
|
|
}
|
|
var updateColumns []string
|
|
_, err = event.Update(updateColumns)
|
|
if err != nil {
|
|
controller.FailCode(c, errors.ServerError, err, "数据库错误!")
|
|
return
|
|
}
|
|
controller.Success(c, "")
|
|
}
|
|
|
|
func GetEventById(c *gin.Context) {
|
|
event := &event.Event{}
|
|
eventId := c.Param("eventId")
|
|
fields := map[string]interface{}{}
|
|
fields["id"] = eventId
|
|
mRule, err := event.Get(fields)
|
|
if err != nil {
|
|
controller.FailCode(c, errors.InvalidParameter, err, "请检查参数!")
|
|
return
|
|
}
|
|
controller.Success(c, mRule)
|
|
}
|
|
|
|
func GetEventByName(c *gin.Context) {
|
|
event := &event.Event{}
|
|
eventName := c.Param("eventName")
|
|
fields := map[string]interface{}{}
|
|
fields["event_name"] = eventName
|
|
result, err := event.Get(fields)
|
|
if err != nil {
|
|
controller.FailCode(c, errors.InvalidParameter, err, "请检查参数!")
|
|
return
|
|
}
|
|
controller.Success(c, result)
|
|
}
|
|
|
|
type EventPageBody struct {
|
|
PageInfo *request.PageInfo `json:"pageInfo" binding:"required"`
|
|
EventName string `json:"eventName"`
|
|
}
|
|
|
|
func PageEvents(c *gin.Context) {
|
|
var pageBody EventPageBody
|
|
err := c.ShouldBindJSON(&pageBody)
|
|
if err != nil {
|
|
controller.FailCode(c, errors.InvalidParameter, err, "请检查参数!")
|
|
return
|
|
}
|
|
e := &event.Event{}
|
|
fields := map[string]interface{}{}
|
|
fields["event_name"] = pageBody.EventName
|
|
page := &model.Page[event.Event]{}
|
|
page.Covert(pageBody.PageInfo)
|
|
err = e.Page(page, fields)
|
|
if err != nil {
|
|
controller.FailCode(c, errors.ServerError, err, "内部错误!")
|
|
return
|
|
}
|
|
controller.Success(c, page)
|
|
}
|
|
|
|
func DeleteEvent(c *gin.Context) {
|
|
event := &event.Event{}
|
|
eventId := c.Param("eventId")
|
|
fields := map[string]interface{}{}
|
|
fields["id"] = eventId
|
|
result, err := event.Get(fields)
|
|
if err != nil {
|
|
controller.FailCode(c, errors.InvalidParameter, err, "事件不存在!")
|
|
return
|
|
}
|
|
result.Delete()
|
|
controller.Success(c, "")
|
|
}
|
|
|
|
func SyncEventFromThreshold(c *gin.Context) {
|
|
rowsAffected, err := event_engine.BatchSaveEventFromThreshold()
|
|
if err != nil {
|
|
controller.FailCode(c, errors.ServerError, err, "同步门限定义至事件定义失败!")
|
|
return
|
|
}
|
|
controller.Success(c, rowsAffected)
|
|
}
|