pool.go 7.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104
  1. package alert
  2. import (
  3. "go-nc/configs/global"
  4. "go-nc/internal/utils"
  5. "go-nc/model"
  6. "github.com/gin-gonic/gin"
  7. "github.com/jinzhu/copier"
  8. )
  9. // 流量池预警创建
  10. func AlertPoolCreate(c *gin.Context) {
  11. type Param struct {
  12. UserId uint `json:"userId" validate:"required"` // 用户ID
  13. PoolId string `json:"poolId" validate:"required"` // 流量池ID
  14. ClientPooPc int64 `json:"clientPooPc" validate:"required"` // 客户端-池预警设置:端流量池预计
  15. ClientPooPcWarnSwitch string `json:"clientPooPcWarnSwitch" validate:"required"` // 客户端-池预警设置:达量预警
  16. ClientPooPcStop string `json:"clientPooPcStop" validate:"required"` // 客户端-池预警设置:达量停机
  17. ClientPooPcStopSwitch string `json:"clientPooPcStopSwitch" validate:"required"` // 客户端-池预警设置:达量停机开关
  18. ClientPooPcStopNetwork string `json:"clientPooPcStopNetwork" validate:"required"` // 客户端-池预警设置:达量断网
  19. ClientPooPcStopNetworkSwitch string `json:"clientPooPcStopNetworkSwitch" validate:"required"` // 客户端-池预警设置:达量断网开关
  20. ClientNotifyNumber int `json:"clientNotifyNumber" validate:"required"` // 客户端-池预警设置::通知次数 次/月
  21. ClientSingleCardWarn string `json:"ClientSingleCardWarn" validate:"required"` // 客户端-单卡预警设置:单卡预警 M
  22. ClientSingleCardWarnSwitch string `json:"ClientSingleCardWarnSwitch" validate:"required"` // 客户端-单卡预警设置:单卡预警 M 开关
  23. ClientSingleCardWarnStop string `json:"clientSingleCardWarnStop" validate:"required"` // 客户端-单卡预警设置:达量停机
  24. ClientSingleCardWarnStopSwitch string `json:"clientSingleCardWarnStopSwitch" validate:"required"` // 客户端-单卡预警设置:达量停机开关
  25. ClientSingleCardWarnStopNetwork string `json:"clientSingleCardWarnStopNetwork" validate:"required"` // 客户端-单卡预警设置:达量断网
  26. ClientSingleCardWarnStopNetworkSwitch string `json:"clientSingleCardWarnStopNetworkSwitch" validate:"required"` // 客户端-单卡预警设置:达量断网开关
  27. ManageWarn int64 `json:"manageWarn" validate:"required"` // 管理端-预警设置:单卡预警 M
  28. ManageWarnSwitch string `json:"manageWarnSwitch" validate:"required"` // 管理端-预警设置:单卡预警 M 开关
  29. ManageWarnSwitchStop string `json:"manageWarnSwitchStop" validate:"required"` // 管理端-预警设置:达量停机
  30. ManageWarnSwitchStopSwitch string `json:"manageWarnSwitchStopSwitch" validate:"required"` // 管理端-预警设置:达量停机开关
  31. ManageWarnStopNetwork string `json:"manageWarnStopNetwork" validate:"required"` // 管理端-预警设置:达量断网
  32. ManageWarnStopNetworkSwitch string `json:"manageWarnStopNetworkSwitch" validate:"required"` // 管理端-预警设置:达量断网开关
  33. }
  34. var param Param
  35. if err := c.ShouldBindJSON(&param); err != nil {
  36. c.Error(err)
  37. return
  38. }
  39. err := utils.ValidateStruct(param)
  40. if err != nil {
  41. c.Error(err)
  42. return
  43. }
  44. // 创建
  45. alert := model.Alert_traffic_pool{}
  46. copier.Copy(&alert, &param)
  47. if err := global.App.DB.Create(&alert).Error; err != nil {
  48. c.Error(err)
  49. return
  50. }
  51. c.Set("res_data", "创建成功!")
  52. }
  53. // 流量池预警更新
  54. func AlertPoolUpdate(c *gin.Context) {
  55. type Param struct {
  56. Id string `json:"id" validate:"required"`
  57. UserId int `json:"userId" validate:"required"` // 用户ID
  58. PoolId string `json:"poolId"` // 流量池ID
  59. ClientPooPc int64 `json:"clientPooPc" validate:"required"` // 客户端-池预警设置:端流量池预计
  60. ClientPooPcWarnSwitch string `json:"clientPooPcWarnSwitch" validate:"required"` // 客户端-池预警设置:达量预警
  61. ClientPooPcStop string `json:"clientPooPcStop" validate:"required"` // 客户端-池预警设置:达量停机
  62. ClientPooPcStopSwitch string `json:"clientPooPcStopSwitch" validate:"required"` // 客户端-池预警设置:达量停机开关
  63. ClientPooPcStopNetwork string `json:"clientPooPcStopNetwork" validate:"required"` // 客户端-池预警设置:达量断网
  64. ClientPooPcStopNetworkSwitch string `json:"clientPooPcStopNetworkSwitch" validate:"required"` // 客户端-池预警设置:达量断网开关
  65. ClientNotifyNumber int `json:"clientNotifyNumber" validate:"required"` // 客户端-池预警设置::通知次数 次/月
  66. ClientSingleCardWarn string `json:"ClientSingleCardWarn" validate:"required"` // 客户端-单卡预警设置:单卡预警 M
  67. ClientSingleCardWarnSwitch string `json:"ClientSingleCardWarnSwitch" validate:"required"` // 客户端-单卡预警设置:单卡预警 M 开关
  68. ClientSingleCardWarnStop string `json:"clientSingleCardWarnStop" validate:"required"` // 客户端-单卡预警设置:达量停机
  69. ClientSingleCardWarnStopSwitch string `json:"clientSingleCardWarnStopSwitch" validate:"required"` // 客户端-单卡预警设置:达量停机开关
  70. ClientSingleCardWarnStopNetwork string `json:"clientSingleCardWarnStopNetwork" validate:"required"` // 客户端-单卡预警设置:达量断网
  71. ClientSingleCardWarnStopNetworkSwitch string `json:"clientSingleCardWarnStopNetworkSwitch" validate:"required"` // 客户端-单卡预警设置:达量断网开关
  72. ManageWarn int64 `json:"manageWarn" validate:"required"` // 管理端-预警设置:单卡预警 M
  73. ManageWarnSwitch string `json:"manageWarnSwitch" validate:"required"` // 管理端-预警设置:单卡预警 M 开关
  74. ManageWarnSwitchStop string `json:"manageWarnSwitchStop" validate:"required"` // 管理端-预警设置:达量停机
  75. ManageWarnSwitchStopSwitch string `json:"manageWarnSwitchStopSwitch" validate:"required"` // 管理端-预警设置:达量停机开关
  76. ManageWarnStopNetwork string `json:"manageWarnStopNetwork" validate:"required"` // 管理端-预警设置:达量断网
  77. ManageWarnStopNetworkSwitch string `json:"manageWarnStopNetworkSwitch" validate:"required"` // 管理端-预警设置:达量断网开关
  78. }
  79. var param Param
  80. if err := c.ShouldBindJSON(&param); err != nil {
  81. c.Error(err)
  82. return
  83. }
  84. err := utils.ValidateStruct(param)
  85. if err != nil {
  86. c.Error(err)
  87. return
  88. }
  89. // 更新
  90. alert := model.Alert_traffic_pool{}
  91. param.PoolId = param.Id
  92. copier.Copy(&alert, &param)
  93. if err := global.App.DB.Model(&model.Alert_traffic_pool{}).Where("pool_id = ?", param.Id).Updates(&alert).Error; err != nil {
  94. c.Error(err)
  95. return
  96. }
  97. c.Set("res_data", "更新成功!")
  98. }