alarmSettingController.go 5.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150
  1. package controllers
  2. import (
  3. "rtzh_elec_temperature/rtelec_app_public_lib/service"
  4. "rtzh_elec_temperature/tools"
  5. "strings"
  6. )
  7. // 告警配置黑名单控制器
  8. type AlarmSettingController struct {
  9. BaseController
  10. }
  11. // 声明一个告警黑名单配置服务类
  12. var blackListService = new(service.AlarmSettingService)
  13. // 获取黑名单列表
  14. // @Summary 获取黑名单列表
  15. // @Description 获取黑名单列表。返回黑名单主信息和测点明细信息
  16. // @Tags api
  17. // @Accept x-www-form-urlencoded
  18. // @Produce json
  19. // @Success 200 {object} ApiOK|ApiError 服务访问成功
  20. // @Failure 401 status 认证未通过,一般是未指定token或token已失效
  21. // @Failure 500 status 服务器|后台发生错误
  22. // @router /list [get]
  23. func (c *AlarmSettingController) GetBlackList() {
  24. lst, err := blackListService.BuildBlackList4Frontend()
  25. if err != nil {
  26. c.Data["json"] = c.ApiError(err.Error())
  27. c.ServeJSON()
  28. return
  29. }
  30. c.Data["json"] = c.ApiOK(lst)
  31. c.ServeJSON()
  32. }
  33. // 保存黑名单列表信息
  34. // @Summary 保存黑名单列表信息
  35. // @Description 保存黑名单基本信息和设备对应的测点
  36. // @Tags api
  37. // @Accept x-www-form-urlencoded
  38. // @Produce json
  39. // @Param deviceid query int64 true "设备ID必传."
  40. // @Param area query string false "区域名称必填否则无法显示区域."
  41. // @Param devicename query string false "设备名称必填否则无法显示设备名称."
  42. // @Param devicecode query string false "设备code必填,否则无法显示设备编码."
  43. // @Param creator query string false "添加人必填,否则无法显示"
  44. // @Param mplist query string false "按逗号分割的测点字符串"
  45. // @Success 200 {object} ApiOK|ApiError 服务访问成功
  46. // @Failure 401 status 认证未通过,一般是未指定token或token已失效
  47. // @Failure 500 status 服务器|后台发生错误
  48. // @router /saveblacklist [POST]
  49. func (c *AlarmSettingController) SaveDeviceMpList() {
  50. // 声明一个参数数组
  51. paramValues := map[string]interface{}{}
  52. deviceid, err := c.GetInt64("deviceid")
  53. if err != nil {
  54. c.Data["json"] = c.ApiError("设备Id参数(deviceid)不允许为空或0!")
  55. c.ServeJSON()
  56. return
  57. }
  58. // 组装前端传到后端的数组
  59. paramValues["deviceid"] = deviceid
  60. paramValues["area"] = c.GetString("area")
  61. paramValues["devicename"] = c.GetString("devicename")
  62. paramValues["devicecode"] = c.GetString("devicecode")
  63. paramValues["creator"] = c.GetString("creator")
  64. mpstr := c.GetString("mplist")
  65. if len(mpstr) == 0 {
  66. c.Data["json"] = c.ApiError("测点至少选择一个!")
  67. c.ServeJSON()
  68. return
  69. }
  70. mpArray := strings.Split(mpstr, ",")
  71. mpList := tools.String2Int64(mpArray)
  72. _, err = blackListService.InsertDeviceBlackList(paramValues, mpList)
  73. if err != nil {
  74. c.Data["json"] = c.ApiError(err.Error())
  75. } else {
  76. c.Data["json"] = c.ApiOK("保存成功!")
  77. }
  78. c.ServeJSON()
  79. return
  80. }
  81. // 修改黑名单测点列表信息
  82. // @Summary 修改黑名单测点列表信息
  83. // @Description 修改黑名单测点列表信息
  84. // @Tags api
  85. // @Accept x-www-form-urlencoded
  86. // @Produce json
  87. // @Param deviceid query int64 true "设备ID必传."
  88. // @Param mplist query string false "按逗号分割的测点字符串"
  89. // @Success 200 {object} ApiOK|ApiError 服务访问成功
  90. // @Failure 401 status 认证未通过,一般是未指定token或token已失效
  91. // @Failure 500 status 服务器|后台发生错误
  92. // @router /updatemplist [POST]
  93. func (c *AlarmSettingController) UpdateMpList() {
  94. deviceid, err := c.GetInt64("deviceid")
  95. if err != nil {
  96. c.Data["json"] = c.ApiError("设备Id参数(deviceid)不允许为空或0!")
  97. c.ServeJSON()
  98. return
  99. }
  100. // 组装前端传到后端的数组
  101. mpstr := c.GetString("mplist")
  102. if len(mpstr) == 0 {
  103. c.Data["json"] = c.ApiError("测点至少选择一个!")
  104. c.ServeJSON()
  105. return
  106. }
  107. mpArray := strings.Split(mpstr, ",")
  108. mpList := tools.String2Int64(mpArray)
  109. _, err = blackListService.UpdateDeviceBlackList(deviceid, mpList)
  110. if err != nil {
  111. c.Data["json"] = c.ApiError(err)
  112. } else {
  113. c.Data["json"] = c.ApiOK("保存成功!")
  114. }
  115. c.ServeJSON()
  116. return
  117. }
  118. // 删除黑名单主记录和明细记录
  119. // @Summary 删除黑名单主记录和明细记录
  120. // @Description 通过设备id删除黑名单主记录和明细记录
  121. // @Tags api
  122. // @Accept x-www-form-urlencoded
  123. // @Produce json
  124. // @Param deviceid query int64 true "设备id必填"
  125. // @router /delblacklist [POST]
  126. func (c *AlarmSettingController) DelBlackList() {
  127. deviceid, err := c.GetInt64("deviceid")
  128. if err != nil {
  129. c.Data["json"] = c.ApiError("设备id错误,不是int64格式!")
  130. c.ServeJSON()
  131. return
  132. }
  133. flag := blackListService.DelBlackList(deviceid)
  134. if !flag {
  135. c.Data["json"] = c.ApiError("删除设备黑名单失败!")
  136. c.ServeJSON()
  137. return
  138. }
  139. c.Data["json"] = c.ApiOK(flag)
  140. c.ServeJSON()
  141. return
  142. }