liuhaijun e94826ce29 add server
Change-Id: I0760f17f6a01c0121b59fcbfafc666032dbc30af
2024-09-19 09:44:15 +00:00

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)
}