From eac932eb827c93e2e998ac1210c3f5e548af0dbf Mon Sep 17 00:00:00 2001
From: qixiaoning <jony.kee@outlook.com>
Date: 星期四, 28 八月 2025 09:10:14 +0800
Subject: [PATCH] 推送回显地址bug,实时监控接口摄像机名称直接取video_point_name,

---
 push-service/controllers/eventPush.go |   98 ++++++++++++++++++++++++++++++-------------------
 1 files changed, 60 insertions(+), 38 deletions(-)

diff --git a/push-service/controllers/eventPush.go b/push-service/controllers/eventPush.go
index 89e11d9..95853ac 100644
--- a/push-service/controllers/eventPush.go
+++ b/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": "",       // 鏈�鍚庝竴涓厓绱犱篃闇�瑕侀�楀彿锛圙o 璇硶瑕佹眰锛�
+				"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: "鍒犻櫎澶辫触"}
 	}
-}
\ No newline at end of file
+}

--
Gitblit v1.8.0