123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150 |
- package controllers
- import (
- "rtzh_elec_temperature/rtelec_app_public_lib/service"
- "rtzh_elec_temperature/tools"
- "strings"
- )
- // 告警配置黑名单控制器
- type AlarmSettingController struct {
- BaseController
- }
- // 声明一个告警黑名单配置服务类
- var blackListService = new(service.AlarmSettingService)
- // 获取黑名单列表
- // @Summary 获取黑名单列表
- // @Description 获取黑名单列表。返回黑名单主信息和测点明细信息
- // @Tags api
- // @Accept x-www-form-urlencoded
- // @Produce json
- // @Success 200 {object} ApiOK|ApiError 服务访问成功
- // @Failure 401 status 认证未通过,一般是未指定token或token已失效
- // @Failure 500 status 服务器|后台发生错误
- // @router /list [get]
- func (c *AlarmSettingController) GetBlackList() {
- lst, err := blackListService.BuildBlackList4Frontend()
- if err != nil {
- c.Data["json"] = c.ApiError(err.Error())
- c.ServeJSON()
- return
- }
- c.Data["json"] = c.ApiOK(lst)
- c.ServeJSON()
- }
- // 保存黑名单列表信息
- // @Summary 保存黑名单列表信息
- // @Description 保存黑名单基本信息和设备对应的测点
- // @Tags api
- // @Accept x-www-form-urlencoded
- // @Produce json
- // @Param deviceid query int64 true "设备ID必传."
- // @Param area query string false "区域名称必填否则无法显示区域."
- // @Param devicename query string false "设备名称必填否则无法显示设备名称."
- // @Param devicecode query string false "设备code必填,否则无法显示设备编码."
- // @Param creator query string false "添加人必填,否则无法显示"
- // @Param mplist query string false "按逗号分割的测点字符串"
- // @Success 200 {object} ApiOK|ApiError 服务访问成功
- // @Failure 401 status 认证未通过,一般是未指定token或token已失效
- // @Failure 500 status 服务器|后台发生错误
- // @router /saveblacklist [POST]
- func (c *AlarmSettingController) SaveDeviceMpList() {
- // 声明一个参数数组
- paramValues := map[string]interface{}{}
- deviceid, err := c.GetInt64("deviceid")
- if err != nil {
- c.Data["json"] = c.ApiError("设备Id参数(deviceid)不允许为空或0!")
- c.ServeJSON()
- return
- }
- // 组装前端传到后端的数组
- paramValues["deviceid"] = deviceid
- paramValues["area"] = c.GetString("area")
- paramValues["devicename"] = c.GetString("devicename")
- paramValues["devicecode"] = c.GetString("devicecode")
- paramValues["creator"] = c.GetString("creator")
- mpstr := c.GetString("mplist")
- if len(mpstr) == 0 {
- c.Data["json"] = c.ApiError("测点至少选择一个!")
- c.ServeJSON()
- return
- }
- mpArray := strings.Split(mpstr, ",")
- mpList := tools.String2Int64(mpArray)
- _, err = blackListService.InsertDeviceBlackList(paramValues, mpList)
- if err != nil {
- c.Data["json"] = c.ApiError(err.Error())
- } else {
- c.Data["json"] = c.ApiOK("保存成功!")
- }
- c.ServeJSON()
- return
- }
- // 修改黑名单测点列表信息
- // @Summary 修改黑名单测点列表信息
- // @Description 修改黑名单测点列表信息
- // @Tags api
- // @Accept x-www-form-urlencoded
- // @Produce json
- // @Param deviceid query int64 true "设备ID必传."
- // @Param mplist query string false "按逗号分割的测点字符串"
- // @Success 200 {object} ApiOK|ApiError 服务访问成功
- // @Failure 401 status 认证未通过,一般是未指定token或token已失效
- // @Failure 500 status 服务器|后台发生错误
- // @router /updatemplist [POST]
- func (c *AlarmSettingController) UpdateMpList() {
- deviceid, err := c.GetInt64("deviceid")
- if err != nil {
- c.Data["json"] = c.ApiError("设备Id参数(deviceid)不允许为空或0!")
- c.ServeJSON()
- return
- }
- // 组装前端传到后端的数组
- mpstr := c.GetString("mplist")
- if len(mpstr) == 0 {
- c.Data["json"] = c.ApiError("测点至少选择一个!")
- c.ServeJSON()
- return
- }
- mpArray := strings.Split(mpstr, ",")
- mpList := tools.String2Int64(mpArray)
- _, err = blackListService.UpdateDeviceBlackList(deviceid, mpList)
- if err != nil {
- c.Data["json"] = c.ApiError(err)
- } else {
- c.Data["json"] = c.ApiOK("保存成功!")
- }
- c.ServeJSON()
- return
- }
- // 删除黑名单主记录和明细记录
- // @Summary 删除黑名单主记录和明细记录
- // @Description 通过设备id删除黑名单主记录和明细记录
- // @Tags api
- // @Accept x-www-form-urlencoded
- // @Produce json
- // @Param deviceid query int64 true "设备id必填"
- // @router /delblacklist [POST]
- func (c *AlarmSettingController) DelBlackList() {
- deviceid, err := c.GetInt64("deviceid")
- if err != nil {
- c.Data["json"] = c.ApiError("设备id错误,不是int64格式!")
- c.ServeJSON()
- return
- }
- flag := blackListService.DelBlackList(deviceid)
- if !flag {
- c.Data["json"] = c.ApiError("删除设备黑名单失败!")
- c.ServeJSON()
- return
- }
- c.Data["json"] = c.ApiOK(flag)
- c.ServeJSON()
- return
- }
|