package alert import ( "go-nc/configs/global" "go-nc/internal/utils" "go-nc/model" "github.com/gin-gonic/gin" "github.com/jinzhu/copier" ) // 流量池预警创建 func AlertPoolCreate(c *gin.Context) { type Param struct { UserId uint `json:"userId" validate:"required"` // 用户ID PoolId string `json:"poolId" validate:"required"` // 流量池ID ClientPooPc int64 `json:"clientPooPc" validate:"required"` // 客户端-池预警设置:端流量池预计 ClientPooPcWarnSwitch string `json:"clientPooPcWarnSwitch" validate:"required"` // 客户端-池预警设置:达量预警 ClientPooPcStop string `json:"clientPooPcStop" validate:"required"` // 客户端-池预警设置:达量停机 ClientPooPcStopSwitch string `json:"clientPooPcStopSwitch" validate:"required"` // 客户端-池预警设置:达量停机开关 ClientPooPcStopNetwork string `json:"clientPooPcStopNetwork" validate:"required"` // 客户端-池预警设置:达量断网 ClientPooPcStopNetworkSwitch string `json:"clientPooPcStopNetworkSwitch" validate:"required"` // 客户端-池预警设置:达量断网开关 ClientNotifyNumber int `json:"clientNotifyNumber" validate:"required"` // 客户端-池预警设置::通知次数 次/月 ClientSingleCardWarn string `json:"ClientSingleCardWarn" validate:"required"` // 客户端-单卡预警设置:单卡预警 M ClientSingleCardWarnSwitch string `json:"ClientSingleCardWarnSwitch" validate:"required"` // 客户端-单卡预警设置:单卡预警 M 开关 ClientSingleCardWarnStop string `json:"clientSingleCardWarnStop" validate:"required"` // 客户端-单卡预警设置:达量停机 ClientSingleCardWarnStopSwitch string `json:"clientSingleCardWarnStopSwitch" validate:"required"` // 客户端-单卡预警设置:达量停机开关 ClientSingleCardWarnStopNetwork string `json:"clientSingleCardWarnStopNetwork" validate:"required"` // 客户端-单卡预警设置:达量断网 ClientSingleCardWarnStopNetworkSwitch string `json:"clientSingleCardWarnStopNetworkSwitch" validate:"required"` // 客户端-单卡预警设置:达量断网开关 ManageWarn int64 `json:"manageWarn" validate:"required"` // 管理端-预警设置:单卡预警 M ManageWarnSwitch string `json:"manageWarnSwitch" validate:"required"` // 管理端-预警设置:单卡预警 M 开关 ManageWarnSwitchStop string `json:"manageWarnSwitchStop" validate:"required"` // 管理端-预警设置:达量停机 ManageWarnSwitchStopSwitch string `json:"manageWarnSwitchStopSwitch" validate:"required"` // 管理端-预警设置:达量停机开关 ManageWarnStopNetwork string `json:"manageWarnStopNetwork" validate:"required"` // 管理端-预警设置:达量断网 ManageWarnStopNetworkSwitch string `json:"manageWarnStopNetworkSwitch" validate:"required"` // 管理端-预警设置:达量断网开关 } var param Param if err := c.ShouldBindJSON(¶m); err != nil { c.Error(err) return } err := utils.ValidateStruct(param) if err != nil { c.Error(err) return } // 创建 alert := model.Alert_traffic_pool{} copier.Copy(&alert, ¶m) if err := global.App.DB.Create(&alert).Error; err != nil { c.Error(err) return } c.Set("res_data", "创建成功!") } // 流量池预警更新 func AlertPoolUpdate(c *gin.Context) { type Param struct { Id string `json:"id" validate:"required"` UserId int `json:"userId" validate:"required"` // 用户ID PoolId string `json:"poolId"` // 流量池ID ClientPooPc int64 `json:"clientPooPc" validate:"required"` // 客户端-池预警设置:端流量池预计 ClientPooPcWarnSwitch string `json:"clientPooPcWarnSwitch" validate:"required"` // 客户端-池预警设置:达量预警 ClientPooPcStop string `json:"clientPooPcStop" validate:"required"` // 客户端-池预警设置:达量停机 ClientPooPcStopSwitch string `json:"clientPooPcStopSwitch" validate:"required"` // 客户端-池预警设置:达量停机开关 ClientPooPcStopNetwork string `json:"clientPooPcStopNetwork" validate:"required"` // 客户端-池预警设置:达量断网 ClientPooPcStopNetworkSwitch string `json:"clientPooPcStopNetworkSwitch" validate:"required"` // 客户端-池预警设置:达量断网开关 ClientNotifyNumber int `json:"clientNotifyNumber" validate:"required"` // 客户端-池预警设置::通知次数 次/月 ClientSingleCardWarn string `json:"ClientSingleCardWarn" validate:"required"` // 客户端-单卡预警设置:单卡预警 M ClientSingleCardWarnSwitch string `json:"ClientSingleCardWarnSwitch" validate:"required"` // 客户端-单卡预警设置:单卡预警 M 开关 ClientSingleCardWarnStop string `json:"clientSingleCardWarnStop" validate:"required"` // 客户端-单卡预警设置:达量停机 ClientSingleCardWarnStopSwitch string `json:"clientSingleCardWarnStopSwitch" validate:"required"` // 客户端-单卡预警设置:达量停机开关 ClientSingleCardWarnStopNetwork string `json:"clientSingleCardWarnStopNetwork" validate:"required"` // 客户端-单卡预警设置:达量断网 ClientSingleCardWarnStopNetworkSwitch string `json:"clientSingleCardWarnStopNetworkSwitch" validate:"required"` // 客户端-单卡预警设置:达量断网开关 ManageWarn int64 `json:"manageWarn" validate:"required"` // 管理端-预警设置:单卡预警 M ManageWarnSwitch string `json:"manageWarnSwitch" validate:"required"` // 管理端-预警设置:单卡预警 M 开关 ManageWarnSwitchStop string `json:"manageWarnSwitchStop" validate:"required"` // 管理端-预警设置:达量停机 ManageWarnSwitchStopSwitch string `json:"manageWarnSwitchStopSwitch" validate:"required"` // 管理端-预警设置:达量停机开关 ManageWarnStopNetwork string `json:"manageWarnStopNetwork" validate:"required"` // 管理端-预警设置:达量断网 ManageWarnStopNetworkSwitch string `json:"manageWarnStopNetworkSwitch" validate:"required"` // 管理端-预警设置:达量断网开关 } var param Param if err := c.ShouldBindJSON(¶m); err != nil { c.Error(err) return } err := utils.ValidateStruct(param) if err != nil { c.Error(err) return } // 更新 alert := model.Alert_traffic_pool{} param.PoolId = param.Id copier.Copy(&alert, ¶m) if err := global.App.DB.Model(&model.Alert_traffic_pool{}).Where("pool_id = ?", param.Id).Updates(&alert).Error; err != nil { c.Error(err) return } c.Set("res_data", "更新成功!") }