abnormals.go 5.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179
  1. package trigger
  2. import (
  3. "encoding/json"
  4. "strings"
  5. "time"
  6. "dashoo.cn/backend/api/business/triggerabnormal"
  7. . "dashoo.cn/backend/api/controllers"
  8. "dashoo.cn/utils"
  9. )
  10. // 设备异常报警接口说明
  11. type AbnormalsController struct {
  12. BaseController
  13. }
  14. type AbnormalModel struct {
  15. Aid []string `json:"aid"`
  16. Types []string `json:"types"`
  17. BBs []string `json:"bbs"`
  18. }
  19. // @Title 获取报警设置
  20. // @Description 获取报警设置
  21. // @Success 200 {object} business.device.DeviceChannels
  22. // @router / [get]
  23. func (this *AbnormalsController) Get() {
  24. var entitysensor triggerabnormal.Trigger_Abnormal
  25. svc1 := triggerabnormal.GetTriggerAbnormalService(utils.DBE)
  26. where := "CreateUserId=" + utils.ToStr(this.User.Id)
  27. svc1.GetEntity(&entitysensor, where)
  28. this.Data["json"] = &entitysensor
  29. this.ServeJSON()
  30. }
  31. // @Title 保存报警设置
  32. // @Description 保存报警设置
  33. // @Success 200 {object} business.device.DeviceChannels
  34. // @router / [put]
  35. func (this *AbnormalsController) Save() {
  36. var model AbnormalModel
  37. var jsonblob = this.Ctx.Input.RequestBody
  38. json.Unmarshal(jsonblob, &model)
  39. var errinfo ErrorInfo
  40. svc := triggerabnormal.GetTriggerAbnormalService(utils.DBE)
  41. var entity triggerabnormal.Trigger_Abnormal
  42. var entityempty triggerabnormal.Trigger_Abnormal
  43. svc.GetEntity(&entity, "CreateUserId="+utils.ToStr(this.User.Id))
  44. entity.AId = strings.Join(model.Aid, ",")
  45. entity.DId = strings.Join(model.BBs, ",")
  46. entity.Lang = "cn"
  47. entity.RemindType = strings.Join(model.Types, ",")
  48. if entity.Id == 0 {
  49. entity.EventItem = 1
  50. entity.EventType = 4
  51. entity.CreateBy = this.User.Realname
  52. entity.CreateUserId, _ = utils.StrTo(this.User.Id).Int()
  53. entity.Eventfiled = "sensor_abnormal"
  54. _, err := svc.InsertEntity(entity)
  55. if err == nil {
  56. errinfo.Message = utils.AlertProcess("设置成功!")
  57. errinfo.Code = 0
  58. this.Data["json"] = &errinfo
  59. this.ServeJSON()
  60. } else {
  61. errinfo.Message = utils.AlertProcess("设置失败!" + err.Error())
  62. errinfo.Code = -1
  63. this.Data["json"] = &errinfo
  64. this.ServeJSON()
  65. }
  66. } else {
  67. entity.ModifiedBy = this.User.Realname
  68. entity.ModifiedUserId, _ = utils.StrTo(this.User.Id).Int()
  69. var cols []string = []string{"AId", "DId", "Lang", "Modifieduserid", "Modifiedby", "RemindType"}
  70. err := svc.UpdateEntityAndBackupByCols(entity.Id, &entity, &entityempty, cols, utils.ToStr(this.User.Id), this.User.Realname)
  71. if err == nil {
  72. errinfo.Message = utils.AlertProcess("设置成功!")
  73. errinfo.Code = 0
  74. this.Data["json"] = &errinfo
  75. this.ServeJSON()
  76. } else {
  77. errinfo.Message = utils.AlertProcess("设置失败!" + err.Error())
  78. errinfo.Code = -1
  79. this.Data["json"] = &errinfo
  80. this.ServeJSON()
  81. }
  82. }
  83. }
  84. // @Title 获取报警历史
  85. // @Description 获取报警历史
  86. // @Success 200 {object} business.device.DeviceChannels
  87. // @router /historymsg [get]
  88. func (this *AbnormalsController) GetHistoryMsg() {
  89. page := this.GetPageInfoForm()
  90. var data []triggerabnormal.Trigger_Abnormal_History
  91. svc := triggerabnormal.GetTriggerAbnormalService(utils.DBE)
  92. channel := this.GetString("channel")
  93. etype := this.GetString("etype")
  94. timestart, _ := this.GetInt64("timestart")
  95. timeend, _ := this.GetInt64("timeend")
  96. where := "1=1 and CreateUserId='" + utils.ToStr(this.User.Id) + "' "
  97. where += " and CreateOn >= '" + time.Unix(timestart/1000, 0).Format("2006-01-02 15:04:05") + "' and CreateOn <= '" + time.Unix(timeend/1000, 0).Format("2006-01-02 15:04:05") + "' "
  98. if channel != "" {
  99. where += " and ( ChannelCode like '%" + channel + "%'or ChannelName like '%" + channel + "%' )"
  100. }
  101. if etype != "" && etype != "-1" {
  102. where += " and EventFiled='" + etype + "' "
  103. }
  104. total := svc.GetPagingEntitiesWithOrder(page.CurrentPage, page.Size, "CreateOn", false, &data, where)
  105. var datainfo DataInfo
  106. datainfo.Items = data
  107. datainfo.CurrentItemCount = total
  108. this.Data["json"] = &datainfo
  109. this.ServeJSON()
  110. }
  111. // @Title 删除报警历史
  112. // @Description 删除报警历史
  113. // @Param id path string true "需要删除的报警历史编号"
  114. // @Success 200 {object} ErrorInfo
  115. // @Failure 403 :id 为空
  116. // @router /historymsg/:id [delete]
  117. func (this *AbnormalsController) DeleteHistoryMsg() {
  118. id := this.Ctx.Input.Param(":id")
  119. var errinfo ErrorInfo
  120. var entity triggerabnormal.Trigger_Abnormal_History
  121. svc := triggerabnormal.GetTriggerAbnormalService(utils.DBE)
  122. err := svc.DeleteEntityById(id, &entity)
  123. if err == nil {
  124. errinfo.Message = "删除成功!"
  125. errinfo.Code = 0
  126. this.Data["json"] = &errinfo
  127. this.ServeJSON()
  128. } else {
  129. errinfo.Message = "删除失败!" + utils.AlertProcess(err.Error())
  130. errinfo.Code = -1
  131. this.Data["json"] = &errinfo
  132. this.ServeJSON()
  133. }
  134. }
  135. // @Title 批量删除报警历史
  136. // @Description 批量删除报警历史
  137. // @Param id path string true "需要删除的报警历史编号"
  138. // @Success 200 {object} ErrorInfo
  139. // @Failure 403 :ids 为空
  140. // @router /historymsg/batchdelete/:ids [delete]
  141. func (this *AbnormalsController) BatchDeleteHistoryMsg() {
  142. ids := this.Ctx.Input.Param(":ids")
  143. var errinfo ErrorInfo
  144. var entity triggerabnormal.Trigger_Abnormal_History
  145. svc := triggerabnormal.GetTriggerAbnormalService(utils.DBE)
  146. idarr := strings.Split(ids, ",")
  147. var err error
  148. for _, v := range idarr {
  149. err = svc.DeleteEntityById(v, entity)
  150. }
  151. if err == nil {
  152. errinfo.Message = "删除成功!"
  153. errinfo.Code = 0
  154. this.Data["json"] = &errinfo
  155. this.ServeJSON()
  156. } else {
  157. errinfo.Message = "删除失败!" + utils.AlertProcess(err.Error())
  158. errinfo.Code = -1
  159. this.Data["json"] = &errinfo
  160. this.ServeJSON()
  161. }
  162. }