From e5be7a7ed63d4b4e4267057d84b77c4bd3c16781 Mon Sep 17 00:00:00 2001 From: zhangzengfei <zhangzengfei@smartai.com> Date: 星期四, 16 五月 2024 13:09:28 +0800 Subject: [PATCH] 添加订阅修改接口 --- routes/subscribe.go | 2 ++ controller/subscribeCtl.go | 31 +++++++++++++++++++++++++++++++ repository/subscribeRepo.go | 25 +++++++++++++++++++++++-- 3 files changed, 56 insertions(+), 2 deletions(-) diff --git a/controller/subscribeCtl.go b/controller/subscribeCtl.go index 9ef4d86..949c113 100644 --- a/controller/subscribeCtl.go +++ b/controller/subscribeCtl.go @@ -23,6 +23,13 @@ return controller } +func (s SubscribeController) SubscribesList(c *gin.Context) { + subList, _ := s.Repository.List() + + 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) { var req vo.RequestSubscribe if err := c.BindJSON(&req); err != nil { @@ -49,6 +56,30 @@ c.JSON(http.StatusOK, gin.H{"ResponseStatusListObject": rsp}) } +func (s SubscribeController) UpdateSubscribes(c *gin.Context) { + var req vo.RequestSubscribe + if err := c.BindJSON(&req); err != nil { + c.AbortWithStatus(http.StatusBadRequest) + return + } + + var rsp vo.ResponseStatusList + for idx, sub := range req.SubscribeListObject.SubscribeObject { + if err := s.Repository.UpdateSubscribe(&req.SubscribeListObject.SubscribeObject[idx]); err == nil { + rsp.ResponseStatusObject = append(rsp.ResponseStatusObject, vo.ResponseStatus{ + RequestURL: c.FullPath(), + StatusCode: vo.StatusSuccess, + StatusString: vo.StatusString[vo.StatusSuccess], + Id: sub.SubscribeID, + LocalTime: time.Now().Format("20060102150405"), + }) + } + } + + c.Header("Content-Type", "application/VIID+json;charset=UTF-8") + c.JSON(http.StatusOK, gin.H{"ResponseStatusListObject": rsp}) +} + func (s SubscribeController) DeleteSubscribe(c *gin.Context) { idList := c.Query("IDList") var rsp vo.ResponseStatusList diff --git a/repository/subscribeRepo.go b/repository/subscribeRepo.go index f5101b6..579129e 100644 --- a/repository/subscribeRepo.go +++ b/repository/subscribeRepo.go @@ -13,7 +13,7 @@ return SubscribeRepository{} } -func (a *SubscribeRepository) CreateSubscribe(fromId string, subscribe *vo.Subscribe) error { +func (s *SubscribeRepository) CreateSubscribe(fromId string, subscribe *vo.Subscribe) error { var sub = models.Subscribe{ Id: subscribe.SubscribeID, Status: subscribe.SubscribeStatus, @@ -31,7 +31,22 @@ return err } -func (a *SubscribeRepository) DeleteSubscribe(id string) error { +func (s *SubscribeRepository) UpdateSubscribe(subscribe *vo.Subscribe) error { + var sub = models.Subscribe{} + err := sub.FindById(subscribe.SubscribeID) + if err != nil { + return err + } + + sub.Status = subscribe.SubscribeStatus + sub.Ext = *subscribe + + service.UpdateTaskProcs(subscribe.SubscribeID, vo.Msg_Type_Update_Subscribe, nil) + + return sub.Save() +} + +func (s *SubscribeRepository) DeleteSubscribe(id string) error { var sub = models.Subscribe{} err := sub.DeleteById(id) if err != nil { @@ -42,3 +57,9 @@ return err } + +func (s *SubscribeRepository) List() ([]models.Subscribe, error) { + var sub models.Subscribe + + return sub.FindAll() +} diff --git a/routes/subscribe.go b/routes/subscribe.go index 9710832..0147e13 100644 --- a/routes/subscribe.go +++ b/routes/subscribe.go @@ -8,7 +8,9 @@ func InitSubscribesRouters(r *gin.RouterGroup) gin.IRoutes { subCtl := controller.NewSubscribeController() + r.GET("/Subscribes", subCtl.SubscribesList) r.POST("/Subscribes", subCtl.Subscribes) + r.PUT("/Subscribes", subCtl.UpdateSubscribes) r.DELETE("/Subscribes", subCtl.DeleteSubscribe) r.POST("/SubscribeNotifications", subCtl.Notifications) -- Gitblit v1.8.0