From 9ee887fce2f87f7a79d0b94640cf1d341a254319 Mon Sep 17 00:00:00 2001 From: zhangzengfei <zhangzengfei@smartai.com> Date: 星期五, 17 五月 2024 02:55:14 +0800 Subject: [PATCH] 添加webapi, 优化模块启动 --- repository/subscribeRepo.go | 51 ++++++++++++++++++++++++++++++++++++++++++++++----- 1 files changed, 46 insertions(+), 5 deletions(-) diff --git a/repository/subscribeRepo.go b/repository/subscribeRepo.go index 579129e..f6f505f 100644 --- a/repository/subscribeRepo.go +++ b/repository/subscribeRepo.go @@ -1,9 +1,15 @@ package repository import ( + "encoding/json" + "errors" + "fmt" + "gat1400Exchange/client" "gat1400Exchange/models" + "gat1400Exchange/pkg/snowflake" "gat1400Exchange/service" "gat1400Exchange/vo" + "time" ) type SubscribeRepository struct { @@ -13,7 +19,42 @@ return SubscribeRepository{} } -func (s *SubscribeRepository) CreateSubscribe(fromId string, subscribe *vo.Subscribe) error { +func (s *SubscribeRepository) CreateSubscribe(sid string, req *vo.Subscribe) error { + triggerTime := time.Now().Format("20060102150405") + req.SubscribeID = triggerTime + snowflake.GenerateIdStr() + + var subscribeMsg vo.RequestSubscribe + subscribeMsg.SubscribeListObject.SubscribeObject = []vo.Subscribe{*req} + + // 鏌ユ壘涓嬬骇 + var platform models.SubPlatform + err := platform.FindById(sid) + if err != nil { + return err + } + + uri := fmt.Sprintf("http://%s:%d/VIID/Subscribes", platform.RemoteIP, platform.RemotePort) + body, _ := json.Marshal(subscribeMsg) + if client.Subscribe(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) SaveReceiveSubscribe(fromId string, subscribe *vo.Subscribe) error { var sub = models.Subscribe{ Id: subscribe.SubscribeID, Status: subscribe.SubscribeStatus, @@ -31,7 +72,7 @@ return err } -func (s *SubscribeRepository) UpdateSubscribe(subscribe *vo.Subscribe) error { +func (s *SubscribeRepository) UpdateReceiveSubscribe(subscribe *vo.Subscribe) error { var sub = models.Subscribe{} err := sub.FindById(subscribe.SubscribeID) if err != nil { @@ -46,7 +87,7 @@ return sub.Save() } -func (s *SubscribeRepository) DeleteSubscribe(id string) error { +func (s *SubscribeRepository) DeleteReceiveSubscribe(id string) error { var sub = models.Subscribe{} err := sub.DeleteById(id) if err != nil { @@ -58,8 +99,8 @@ return err } -func (s *SubscribeRepository) List() ([]models.Subscribe, error) { +func (s *SubscribeRepository) ListByFromId(id string) ([]models.Subscribe, error) { var sub models.Subscribe - return sub.FindAll() + return sub.FindByFromId(id) } -- Gitblit v1.8.0