From 9e8d8b630affc4a4be428c775264ef4b0e5104b3 Mon Sep 17 00:00:00 2001
From: zhangzengfei <zhangzengfei@smartai.com>
Date: 星期五, 17 五月 2024 15:25:45 +0800
Subject: [PATCH] 添加取消订阅接口

---
 repository/subscribeRepo.go |   37 +++++++++++++++++++++++++++++++++++++
 1 files changed, 37 insertions(+), 0 deletions(-)

diff --git a/repository/subscribeRepo.go b/repository/subscribeRepo.go
index ec3bb73..c924b80 100644
--- a/repository/subscribeRepo.go
+++ b/repository/subscribeRepo.go
@@ -53,6 +53,43 @@
 
 	return err
 }
+
+func (s *SubscribeRepository) CancelSubscribe(sid string, req *vo.Subscribe) error {
+	var subscribeMsg vo.RequestCancelSubscribe
+	subscribeMsg.SubscribeObject = *req
+
+	if req.SubscribeID == "" {
+		return errors.New("璁㈤槄娑堟伅涓婚涓虹┖")
+	}
+
+	// 鏌ユ壘涓嬬骇
+	var platform models.SubPlatform
+	err := platform.FindById(sid)
+	if err != nil {
+		return err
+	}
+
+	uri := fmt.Sprintf("http://%s:%d/VIID/Subscribes/%s", platform.RemoteIP, platform.RemotePort, req.SubscribeID)
+	body, _ := json.Marshal(subscribeMsg)
+	if client.UpdateSubscribe(uri, body) != vo.StatusSuccess {
+		return errors.New("鍙戦�佽闃呮秷鎭け璐�")
+	}
+
+	var sub = models.Subscribe{
+		Id:     req.SubscribeID,
+		Status: req.SubscribeStatus,
+		FromId: sid,
+		Ext:    *req,
+	}
+
+	err = sub.Save()
+	if err != nil {
+		return err
+	}
+
+	return err
+}
+
 func (s *SubscribeRepository) UpdateSubscribe(sid string, req *vo.Subscribe) error {
 	var subscribeMsg vo.RequestSubscribe
 	subscribeMsg.SubscribeListObject.SubscribeObject = []vo.Subscribe{*req}

--
Gitblit v1.8.0