package trigger import ( "encoding/json" "strings" "time" "dashoo.cn/backend/api/business/triggerabnormal" . "dashoo.cn/backend/api/controllers" "dashoo.cn/utils" ) // 设备异常报警接口说明 type AbnormalsController struct { BaseController } type AbnormalModel struct { Aid []string `json:"aid"` Types []string `json:"types"` BBs []string `json:"bbs"` } // @Title 获取报警设置 // @Description 获取报警设置 // @Success 200 {object} business.device.DeviceChannels // @router / [get] func (this *AbnormalsController) Get() { var entitysensor triggerabnormal.Trigger_Abnormal svc1 := triggerabnormal.GetTriggerAbnormalService(utils.DBE) where := "CreateUserId=" + utils.ToStr(this.User.Id) svc1.GetEntity(&entitysensor, where) this.Data["json"] = &entitysensor this.ServeJSON() } // @Title 保存报警设置 // @Description 保存报警设置 // @Success 200 {object} business.device.DeviceChannels // @router / [put] func (this *AbnormalsController) Save() { var model AbnormalModel var jsonblob = this.Ctx.Input.RequestBody json.Unmarshal(jsonblob, &model) var errinfo ErrorInfo svc := triggerabnormal.GetTriggerAbnormalService(utils.DBE) var entity triggerabnormal.Trigger_Abnormal var entityempty triggerabnormal.Trigger_Abnormal svc.GetEntity(&entity, "CreateUserId="+utils.ToStr(this.User.Id)) entity.AId = strings.Join(model.Aid, ",") entity.DId = strings.Join(model.BBs, ",") entity.Lang = "cn" entity.RemindType = strings.Join(model.Types, ",") if entity.Id == 0 { entity.EventItem = 1 entity.EventType = 4 entity.CreateBy = this.User.Realname entity.CreateUserId, _ = utils.StrTo(this.User.Id).Int() entity.Eventfiled = "sensor_abnormal" _, err := svc.InsertEntity(entity) if err == nil { errinfo.Message = utils.AlertProcess("设置成功!") errinfo.Code = 0 this.Data["json"] = &errinfo this.ServeJSON() } else { errinfo.Message = utils.AlertProcess("设置失败!" + err.Error()) errinfo.Code = -1 this.Data["json"] = &errinfo this.ServeJSON() } } else { entity.ModifiedBy = this.User.Realname entity.ModifiedUserId, _ = utils.StrTo(this.User.Id).Int() var cols []string = []string{"AId", "DId", "Lang", "Modifieduserid", "Modifiedby", "RemindType"} err := svc.UpdateEntityAndBackupByCols(entity.Id, &entity, &entityempty, cols, utils.ToStr(this.User.Id), this.User.Realname) if err == nil { errinfo.Message = utils.AlertProcess("设置成功!") errinfo.Code = 0 this.Data["json"] = &errinfo this.ServeJSON() } else { errinfo.Message = utils.AlertProcess("设置失败!" + err.Error()) errinfo.Code = -1 this.Data["json"] = &errinfo this.ServeJSON() } } } // @Title 获取报警历史 // @Description 获取报警历史 // @Success 200 {object} business.device.DeviceChannels // @router /historymsg [get] func (this *AbnormalsController) GetHistoryMsg() { page := this.GetPageInfoForm() var data []triggerabnormal.Trigger_Abnormal_History svc := triggerabnormal.GetTriggerAbnormalService(utils.DBE) channel := this.GetString("channel") etype := this.GetString("etype") timestart, _ := this.GetInt64("timestart") timeend, _ := this.GetInt64("timeend") where := "1=1 and CreateUserId='" + utils.ToStr(this.User.Id) + "' " 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") + "' " if channel != "" { where += " and ( ChannelCode like '%" + channel + "%'or ChannelName like '%" + channel + "%' )" } if etype != "" && etype != "-1" { where += " and EventFiled='" + etype + "' " } total := svc.GetPagingEntitiesWithOrder(page.CurrentPage, page.Size, "CreateOn", false, &data, where) var datainfo DataInfo datainfo.Items = data datainfo.CurrentItemCount = total this.Data["json"] = &datainfo this.ServeJSON() } // @Title 删除报警历史 // @Description 删除报警历史 // @Param id path string true "需要删除的报警历史编号" // @Success 200 {object} ErrorInfo // @Failure 403 :id 为空 // @router /historymsg/:id [delete] func (this *AbnormalsController) DeleteHistoryMsg() { id := this.Ctx.Input.Param(":id") var errinfo ErrorInfo var entity triggerabnormal.Trigger_Abnormal_History svc := triggerabnormal.GetTriggerAbnormalService(utils.DBE) err := svc.DeleteEntityById(id, &entity) if err == nil { errinfo.Message = "删除成功!" errinfo.Code = 0 this.Data["json"] = &errinfo this.ServeJSON() } else { errinfo.Message = "删除失败!" + utils.AlertProcess(err.Error()) errinfo.Code = -1 this.Data["json"] = &errinfo this.ServeJSON() } } // @Title 批量删除报警历史 // @Description 批量删除报警历史 // @Param id path string true "需要删除的报警历史编号" // @Success 200 {object} ErrorInfo // @Failure 403 :ids 为空 // @router /historymsg/batchdelete/:ids [delete] func (this *AbnormalsController) BatchDeleteHistoryMsg() { ids := this.Ctx.Input.Param(":ids") var errinfo ErrorInfo var entity triggerabnormal.Trigger_Abnormal_History svc := triggerabnormal.GetTriggerAbnormalService(utils.DBE) idarr := strings.Split(ids, ",") var err error for _, v := range idarr { err = svc.DeleteEntityById(v, entity) } if err == nil { errinfo.Message = "删除成功!" errinfo.Code = 0 this.Data["json"] = &errinfo this.ServeJSON() } else { errinfo.Message = "删除失败!" + utils.AlertProcess(err.Error()) errinfo.Code = -1 this.Data["json"] = &errinfo this.ServeJSON() } }