zhangzengfei
2024-05-16 5179bc5c1501aa12e87c1162d5a1f91aea33abd4
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})
}