From 5179bc5c1501aa12e87c1162d5a1f91aea33abd4 Mon Sep 17 00:00:00 2001
From: zhangzengfei <zhangzengfei@smartai.com>
Date: 星期四, 16 五月 2024 14:01:22 +0800
Subject: [PATCH] 添加订阅接收,转发

---
 controller/subscribeCtl.go |   33 ++++++++++++++++++++++++++-------
 1 files changed, 26 insertions(+), 7 deletions(-)

diff --git a/controller/subscribeCtl.go b/controller/subscribeCtl.go
index 949c113..7123d4e 100644
--- a/controller/subscribeCtl.go
+++ b/controller/subscribeCtl.go
@@ -1,7 +1,7 @@
 package controller
 
 import (
-	"fmt"
+	"gat1400Exchange/pkg/logger"
 	"gat1400Exchange/repository"
 	"gat1400Exchange/vo"
 	"net/http"
@@ -13,12 +13,14 @@
 
 type SubscribeController struct {
 	Repository repository.SubscribeRepository
+	Srv        repository.CaptureRepository
 }
 
 // 鏋勯�犲嚱鏁�
 func NewSubscribeController() SubscribeController {
 	svr := repository.NewSubscribeRepository()
-	controller := SubscribeController{svr}
+	svr1 := repository.NewCaptureRepository()
+	controller := SubscribeController{svr, svr1}
 
 	return controller
 }
@@ -101,11 +103,28 @@
 }
 
 func (s SubscribeController) Notifications(c *gin.Context) {
-	data, err := c.GetRawData()
-	if err != nil {
-
+	var rsp vo.ResponseStatusList
+	var req vo.RequestSubscribeNotificationBind
+	if err := c.BindJSON(&req); err != nil {
+		c.JSON(http.StatusBadRequest, gin.H{"ResponseStatusListObject": rsp})
+		return
 	}
 
-	fmt.Println("Notifications:", string(data))
-	c.JSON(http.StatusOK, gin.H{"ResponseStatusListObject": ""})
+	logger.Debug("Receive notifications: %+v", req)
+
+	for _, msg := range req.SubscribeNotificationListObject.SubscribeNotificationObject {
+		rsp.ResponseStatusObject = append(rsp.ResponseStatusObject, vo.ResponseStatus{
+			RequestURL:   c.FullPath(),
+			StatusCode:   vo.StatusSuccess,
+			StatusString: vo.StatusString[vo.StatusSuccess],
+			Id:           msg.SubscribeID,
+			LocalTime:    time.Now().Format("20060102150405"),
+		})
+
+		// 杞彂
+		go s.Srv.FaceForward(msg.FaceObjectList.FaceObject)
+	}
+
+	c.Header("Content-Type", "application/VIID+json;charset=UTF-8")
+	c.JSON(http.StatusOK, gin.H{"ResponseStatusListObject": rsp})
 }

--
Gitblit v1.8.0