From 8c84726593e184fd246d0f3ae7c746117855cf77 Mon Sep 17 00:00:00 2001
From: zhangzengfei <zhangzengfei@smartai.com>
Date: 星期五, 17 五月 2024 02:59:03 +0800
Subject: [PATCH] fix build bug

---
 controller/subscribeCtl.go |   73 +++++++++++++++++++++++++++++-------
 1 files changed, 58 insertions(+), 15 deletions(-)

diff --git a/controller/subscribeCtl.go b/controller/subscribeCtl.go
index 949c113..c5241ee 100644
--- a/controller/subscribeCtl.go
+++ b/controller/subscribeCtl.go
@@ -1,7 +1,8 @@
 package controller
 
 import (
-	"fmt"
+	"gat1400Exchange/config"
+	"gat1400Exchange/pkg/logger"
 	"gat1400Exchange/repository"
 	"gat1400Exchange/vo"
 	"net/http"
@@ -13,24 +14,27 @@
 
 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
 }
 
-func (s SubscribeController) SubscribesList(c *gin.Context) {
-	subList, _ := s.Repository.List()
+func (s SubscribeController) VIIDSubscribesList(c *gin.Context) {
+	fromId := c.GetHeader("User-Identify")
+	subList, _ := s.Repository.ListByFromId(fromId)
 
 	c.Header("Content-Type", "application/VIID+json;charset=UTF-8")
 	c.JSON(http.StatusOK, gin.H{"SubscribeList": subList})
 }
 
-func (s SubscribeController) Subscribes(c *gin.Context) {
+func (s SubscribeController) VIIDSubscribes(c *gin.Context) {
 	var req vo.RequestSubscribe
 	if err := c.BindJSON(&req); err != nil {
 		c.AbortWithStatus(http.StatusBadRequest)
@@ -41,7 +45,7 @@
 
 	var rsp vo.ResponseStatusList
 	for idx, sub := range req.SubscribeListObject.SubscribeObject {
-		if err := s.Repository.CreateSubscribe(fromId, &req.SubscribeListObject.SubscribeObject[idx]); err == nil {
+		if err := s.Repository.SaveReceiveSubscribe(fromId, &req.SubscribeListObject.SubscribeObject[idx]); err == nil {
 			rsp.ResponseStatusObject = append(rsp.ResponseStatusObject, vo.ResponseStatus{
 				RequestURL:   c.FullPath(),
 				StatusCode:   vo.StatusSuccess,
@@ -56,7 +60,7 @@
 	c.JSON(http.StatusOK, gin.H{"ResponseStatusListObject": rsp})
 }
 
-func (s SubscribeController) UpdateSubscribes(c *gin.Context) {
+func (s SubscribeController) VIIDUpdateSubscribes(c *gin.Context) {
 	var req vo.RequestSubscribe
 	if err := c.BindJSON(&req); err != nil {
 		c.AbortWithStatus(http.StatusBadRequest)
@@ -65,7 +69,7 @@
 
 	var rsp vo.ResponseStatusList
 	for idx, sub := range req.SubscribeListObject.SubscribeObject {
-		if err := s.Repository.UpdateSubscribe(&req.SubscribeListObject.SubscribeObject[idx]); err == nil {
+		if err := s.Repository.UpdateReceiveSubscribe(&req.SubscribeListObject.SubscribeObject[idx]); err == nil {
 			rsp.ResponseStatusObject = append(rsp.ResponseStatusObject, vo.ResponseStatus{
 				RequestURL:   c.FullPath(),
 				StatusCode:   vo.StatusSuccess,
@@ -80,12 +84,12 @@
 	c.JSON(http.StatusOK, gin.H{"ResponseStatusListObject": rsp})
 }
 
-func (s SubscribeController) DeleteSubscribe(c *gin.Context) {
+func (s SubscribeController) VIIDDeleteSubscribe(c *gin.Context) {
 	idList := c.Query("IDList")
 	var rsp vo.ResponseStatusList
 
 	for _, id := range strings.Split(idList, ",") {
-		if err := s.Repository.DeleteSubscribe(id); err == nil {
+		if err := s.Repository.DeleteReceiveSubscribe(id); err == nil {
 			rsp.ResponseStatusObject = append(rsp.ResponseStatusObject, vo.ResponseStatus{
 				RequestURL:   c.FullPath(),
 				StatusCode:   vo.StatusSuccess,
@@ -101,11 +105,50 @@
 }
 
 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"),
+		})
+
+		// 杞彂
+		if config.ForwardConf.SyncServer != "" {
+			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})
+}
+
+// CreateSubscribes 娣诲姞涓嬬骇骞冲彴鐨勮闃呮秷鎭�
+func (s SubscribeController) CreateSubscribes(c *gin.Context) {
+	var req vo.Subscribe
+	if err := c.BindJSON(&req); err != nil {
+		c.JSON(http.StatusBadRequest, gin.H{"msg": err.Error()})
+		return
+	}
+
+	if c.Param("id") == "" {
+		c.JSON(http.StatusBadRequest, gin.H{"msg": "涓嬬骇id涓虹┖"})
+	}
+
+	if err := s.Repository.CreateSubscribe(c.Param("id"), &req); err != nil {
+		c.JSON(http.StatusInternalServerError, gin.H{"msg": err.Error()})
+		return
+	}
+
+	c.JSON(http.StatusOK, gin.H{"msg": "ok"})
 }

--
Gitblit v1.8.0