From a3a24e1cf44aa4e95a8684c86455a2b7064ac623 Mon Sep 17 00:00:00 2001 From: zhangzengfei <zhangzengfei@smartai.com> Date: 星期二, 23 七月 2024 04:51:29 +0800 Subject: [PATCH] 定时删除本地存储的图片 --- repository/subscribeRepo.go | 138 +++++++++++++++++++++++++++++++++++++++++++-- 1 files changed, 130 insertions(+), 8 deletions(-) diff --git a/repository/subscribeRepo.go b/repository/subscribeRepo.go index 579129e..5f3d256 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,123 @@ 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) 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} + + // 鏌ユ壘涓嬬骇 + 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.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) RemoteList(sid string) ([]byte, error) { + // 鏌ユ壘涓嬬骇 + var platform models.SubPlatform + err := platform.FindById(sid) + if err != nil { + return nil, err + } + + uri := fmt.Sprintf("http://%s:%d/VIID/Subscribes", platform.RemoteIP, platform.RemotePort) + + return client.GetSubscribes(uri) +} + +func (s *SubscribeRepository) SaveReceiveSubscribe(fromId string, subscribe *vo.Subscribe) error { var sub = models.Subscribe{ Id: subscribe.SubscribeID, Status: subscribe.SubscribeStatus, @@ -26,12 +148,12 @@ return err } - service.UpdateTaskProcs(sub.Id, vo.Msg_Type_Create_Subscribe, &sub) + service.UpdateNotificationTask(sub.Id, vo.Msg_Type_Create_Subscribe, &sub) 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 { @@ -41,25 +163,25 @@ sub.Status = subscribe.SubscribeStatus sub.Ext = *subscribe - service.UpdateTaskProcs(subscribe.SubscribeID, vo.Msg_Type_Update_Subscribe, nil) + service.UpdateNotificationTask(subscribe.SubscribeID, vo.Msg_Type_Update_Subscribe, &sub) 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 { return err } - service.UpdateTaskProcs(id, vo.Msg_Type_Delete_Subscribe, nil) + service.UpdateNotificationTask(id, vo.Msg_Type_Delete_Subscribe, nil) 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