qixiaoning
1 天以前 c3fd4effdef0cc5955f89b5df279b14841e857f5
push-service/controllers/eventPush.go
@@ -1,16 +1,18 @@
package controllers
import (
   "basic.com/valib/bhomeclient.git"
   "basic.com/valib/logger.git"
   "encoding/json"
   "vamicro/push-service/models"
   "vamicro/push-service/mqtt"
   "vamicro/push-service/service"
   "vamicro/push-service/vo"
   "basic.com/valib/bhomeclient.git"
   "basic.com/valib/logger.git"
)
type EventPushController struct {
}
// @Summary 事件推送保存
// @Description 事件推送保存
@@ -19,16 +21,16 @@
// @Success 200 {string} json "{"code":200, success:true, msg:"", data:""}"
// @Failure 500 {string} json "{"code":500, success:false, msg:"",data:""}"
// @Router /data/api-v/eventPush/save [post]
func (epc EventPushController) Save(h *bhomeclient.WrapperHandler, c *bhomeclient.Request) *bhomeclient.Reply{
func (epc EventPushController) Save(h *bhomeclient.WrapperHandler, c *bhomeclient.Request) *bhomeclient.Reply {
   var saveBody vo.EventPushVo
   if err := c.BindJSON(&saveBody);err !=nil {
      return &bhomeclient.Reply{ Success: false, Msg: "参数有误"}
   if err := c.BindJSON(&saveBody); err != nil {
      return &bhomeclient.Reply{Success: false, Msg: "参数有误"}
   }
   sv := service.NewEventPushService(h.Bk)
   if sv.Save(&saveBody) {
      return &bhomeclient.Reply{ Success: true, Data: saveBody }
      return &bhomeclient.Reply{Success: true, Data: saveBody}
   } else {
      return &bhomeclient.Reply{ Success: false, Msg: "保存失败"}
      return &bhomeclient.Reply{Success: false, Msg: "保存失败"}
   }
}
@@ -41,19 +43,19 @@
// @Success 200 {string} json "{"code":200, success:true, msg:"", data:""}"
// @Failure 500 {string} json "{"code":500, success:false, msg:"",data:""}"
// @Router /data/api-v/eventPush/findByEventTopic [get]
func (epc EventPushController) FindByEventTopic(h *bhomeclient.WrapperHandler, c *bhomeclient.Request) *bhomeclient.Reply{
func (epc EventPushController) FindByEventTopic(h *bhomeclient.WrapperHandler, c *bhomeclient.Request) *bhomeclient.Reply {
   topic := c.Query("topic")
   childType := c.Query("type")
   if topic == ""{
      return &bhomeclient.Reply{ Success: false, Msg: "参数有误"}
   if topic == "" {
      return &bhomeclient.Reply{Success: false, Msg: "参数有误"}
   }
   sv := service.NewEventPushService(h.Bk)
   list, err := sv.FindByEventTopic(topic, childType)
   if err == nil {
      return &bhomeclient.Reply{ Success: true, Data: list }
      return &bhomeclient.Reply{Success: true, Data: list}
   } else {
      return &bhomeclient.Reply{ Success: false, Msg: err.Error() }
      return &bhomeclient.Reply{Success: false, Msg: err.Error()}
   }
}
@@ -68,11 +70,11 @@
func (epc EventPushController) FindAll(h *bhomeclient.WrapperHandler, c *bhomeclient.Request) *bhomeclient.Reply {
   name := c.Query("name")
   sv := service.NewEventPushService(h.Bk)
   flag,data := sv.FindAll(name)
   flag, data := sv.FindAll(name)
   if flag {
      return &bhomeclient.Reply{ Success: true, Data: data }
   } else{
      return &bhomeclient.Reply{ Success: false, Msg: "查询失败"}
      return &bhomeclient.Reply{Success: true, Data: data}
   } else {
      return &bhomeclient.Reply{Success: false, Msg: "查询失败"}
   }
}
@@ -80,7 +82,7 @@
func (epc EventPushController) FindAllDetails(h *bhomeclient.WrapperHandler, c *bhomeclient.Request) *bhomeclient.Reply {
   sv := service.NewEventPushService(h.Bk)
   data := sv.FindAllDetails()
   return &bhomeclient.Reply{ Success: true, Data: data }
   return &bhomeclient.Reply{Success: true, Data: data}
}
// @Summary 事件推送编辑
@@ -94,22 +96,22 @@
func (epc EventPushController) GetById(h *bhomeclient.WrapperHandler, c *bhomeclient.Request) *bhomeclient.Reply {
   id := c.Query("id")
   logger.Debug("id:", id)
   if id == ""{
      return &bhomeclient.Reply{ Success: false, Msg: "参数有误"}
   if id == "" {
      return &bhomeclient.Reply{Success: false, Msg: "参数有误"}
   }
   sv := service.NewEventPushService(h.Bk)
   flag,data := sv.GetById(id)
   flag, data := sv.GetById(id)
   logger.Debug("getByID FLAG:", flag, " data:", data)
   if flag {
      return &bhomeclient.Reply{ Success: true, Data: data}
   } else{
      return &bhomeclient.Reply{ Success:false, Msg: "查询失败"}
      return &bhomeclient.Reply{Success: true, Data: data}
   } else {
      return &bhomeclient.Reply{Success: false, Msg: "查询失败"}
   }
}
type ChangeStatusVo struct {
   Id string `json:"id"`
   Enable bool `json:"enable"`
   Id     string `json:"id"`
   Enable bool   `json:"enable"`
}
// @Summary 改变enable状态
@@ -123,14 +125,34 @@
func (epc EventPushController) ChangeStatus(h *bhomeclient.WrapperHandler, c *bhomeclient.Request) *bhomeclient.Reply {
   var statusBody ChangeStatusVo
   err := c.BindJSON(&statusBody)
   if err !=nil {
      return &bhomeclient.Reply{ Success: false, Msg: "参数有误"}
   if err != nil {
      return &bhomeclient.Reply{Success: false, Msg: "参数有误"}
   }
   sv := service.NewEventPushService(h.Bk)
   if sv.ChangeStatus(statusBody.Id,statusBody.Enable){
      return &bhomeclient.Reply{ Success:true, Msg: "修改成功"}
   if sv.ChangeStatus(statusBody.Id, statusBody.Enable) {
      //消息提醒
      var epE models.EventPush
      epE.GetById(statusBody.Id)
      //udp推送
      if epE.PushType == 1 {
         msg := map[string]string{
            "type":   "change", // 注意逗号
            "status": "",       // 最后一个元素也需要逗号(Go 语法要求)
            "id":     statusBody.Id,
         }
         if statusBody.Enable {
            msg["status"] = "start"
         } else {
            msg["status"] = "stop"
         }
         jsonStr, _ := json.Marshal(msg)
         go mqtt.Client.Publish(mqtt.MQTT_CONFIG_TOPIC, jsonStr)
      }
      return &bhomeclient.Reply{Success: true, Msg: "修改成功"}
   } else {
      return &bhomeclient.Reply{ Success:false, Msg: "修改失败"}
      return &bhomeclient.Reply{Success: false, Msg: "修改失败"}
   }
}
@@ -145,13 +167,13 @@
// @Router /data/api-v/eventPush/delete [post]
func (epc EventPushController) Delete(h *bhomeclient.WrapperHandler, c *bhomeclient.Request) *bhomeclient.Reply {
   id := c.PostForm("id")
   if id ==""{
      return &bhomeclient.Reply{ Success: false, Msg: "参数有误"}
   if id == "" {
      return &bhomeclient.Reply{Success: false, Msg: "参数有误"}
   }
   sv := service.NewEventPushService(h.Bk)
   if sv.DeleteById(id){
      return &bhomeclient.Reply{ Success:true, Msg: "删除成功"}
   if sv.DeleteById(id) {
      return &bhomeclient.Reply{Success: true, Msg: "删除成功"}
   } else {
      return &bhomeclient.Reply{ Success:false, Msg: "删除失败"}
      return &bhomeclient.Reply{Success: false, Msg: "删除失败"}
   }
}
}