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