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