From cabaf90c4d08a8ba3a1dea12a6aa87683bbcca81 Mon Sep 17 00:00:00 2001
From: zhangzengfei <zhangzengfei@smartai.com>
Date: 星期三, 03 七月 2024 01:07:51 +0800
Subject: [PATCH] 添加布控接口

---
 controller/dispositionCtl.go |   34 +++++++++++++++++
 routes/disposition.go        |   15 +++++++
 util/http.go                 |    1 
 vo/ape.go                    |   10 +++++
 routes/routes.go             |    2 +
 5 files changed, 62 insertions(+), 0 deletions(-)

diff --git a/controller/dispositionCtl.go b/controller/dispositionCtl.go
new file mode 100644
index 0000000..9c07d6c
--- /dev/null
+++ b/controller/dispositionCtl.go
@@ -0,0 +1,34 @@
+package controller
+
+import (
+	"net/http"
+	"time"
+
+	"gat1400Exchange/vo"
+
+	"github.com/gin-gonic/gin"
+)
+
+type DispositionController struct {
+}
+
+// 鏋勯�犲嚱鏁�
+func NewDispositionController() DispositionController {
+	controller := DispositionController{}
+
+	return controller
+}
+
+func (d DispositionController) VIIDDisposition(c *gin.Context) {
+	var rsp vo.ResponseStatusList
+	rsp.ResponseStatusObject = append(rsp.ResponseStatusObject, vo.ResponseStatus{
+		RequestURL:   c.FullPath(),
+		StatusCode:   vo.StatusSuccess,
+		StatusString: vo.StatusString[vo.StatusSuccess],
+		Id:           "",
+		LocalTime:    time.Now().Format("20060102150405"),
+	})
+
+	c.Header("Content-Type", "application/VIID+json;charset=UTF-8")
+	c.JSON(http.StatusOK, gin.H{"ResponseStatusListObject": rsp})
+}
diff --git a/routes/disposition.go b/routes/disposition.go
new file mode 100644
index 0000000..903637c
--- /dev/null
+++ b/routes/disposition.go
@@ -0,0 +1,15 @@
+package routes
+
+import (
+	"gat1400Exchange/controller"
+	"github.com/gin-gonic/gin"
+)
+
+func InitDispositionRouters(r *gin.RouterGroup) gin.IRoutes {
+	dispCtl := controller.NewDispositionController()
+
+	r.POST("/Dispositions", dispCtl.VIIDDisposition)
+	r.PUT("/Dispositions/:id", dispCtl.VIIDDisposition)
+
+	return r
+}
diff --git a/routes/routes.go b/routes/routes.go
index d64926d..946480f 100644
--- a/routes/routes.go
+++ b/routes/routes.go
@@ -34,6 +34,8 @@
 	InitCaptureRouters(viidGroup)
 	// 娉ㄥ唽璁㈤槄閫氱煡鎺ュ彛璺敱
 	InitSubscribesRouters(viidGroup)
+	// 娉ㄥ唽甯冩帶鎺ュ彛璺敱
+	InitDispositionRouters(viidGroup)
 
 	// web api 璺敱鍒嗙粍
 	apiGroup := r.Group("/api")
diff --git a/util/http.go b/util/http.go
index 2820bd0..ff0dcc8 100644
--- a/util/http.go
+++ b/util/http.go
@@ -77,6 +77,7 @@
 		return nil, err
 	}
 
+	cli.CloseIdleConnections()
 	defer resp.Body.Close()
 	body, err := io.ReadAll(resp.Body)
 	if err != nil {
diff --git a/vo/ape.go b/vo/ape.go
index cae2ebd..d820256 100644
--- a/vo/ape.go
+++ b/vo/ape.go
@@ -57,3 +57,13 @@
 type NotificationApeList struct {
 	APEObject []Ape `json:"APEObject"`
 }
+
+type ApeStatus struct {
+	ApeID       string `json:"ApeID" binding:"required"`
+	IsOnline    string `json:"IsOnline" binding:"required"`
+	CurrentTime string `json:"CurrentTime" binding:"required"`
+}
+
+type NotificationApeStatusList struct {
+	APEStatusObject []ApeStatus `json:"APEStatusObject"`
+}

--
Gitblit v1.8.0