From 263c7b18ce7f18f1222318f6e0e499e907895a52 Mon Sep 17 00:00:00 2001
From: liuxiaolong <736321739@qq.com>
Date: 星期三, 13 十一月 2019 19:33:39 +0800
Subject: [PATCH] fix

---
 controllers/camera.go |  135 ++++++++++++++++++++++++---------------------
 1 files changed, 72 insertions(+), 63 deletions(-)

diff --git a/controllers/camera.go b/controllers/camera.go
index 9956bc1..5b3a707 100644
--- a/controllers/camera.go
+++ b/controllers/camera.go
@@ -12,6 +12,7 @@
 	"webserver/extend/code"
 	"webserver/extend/util"
     "webserver/service"
+	"webserver/cache"
 )
 
 type CameraController struct{}
@@ -19,11 +20,12 @@
 type CameraVo struct {
 	Id        string  `json:"id"`
 	Name      string  `json:"name"`
+	Alias     string  `json:"alias"` //鎽勫儚鏈虹殑鍒悕
 	Type      int     `json:"type" `
 	Addr      string  `json:"addr"`
-	Areaid    string    `json:"areaid"`
-	Longitude float64 `json:"longitude"`
-	Latitude  float64 `json:"latitude"`
+	Areaid    string  `json:"areaid"`
+	Longitude float32 `json:"longitude"`
+	Latitude  float32 `json:"latitude"`
 	Rtsp      string  `json:"rtsp"`
 	Ip        string  `json:"ip"`
 	Port      int     `json:"port"`
@@ -40,6 +42,7 @@
 
 // @Summary 娣诲姞鎽勫儚鏈�
 // @Description  "浼犲叆鍖哄煙鐨刬d锛坅reaid锛夊拰鎽勫儚鏈哄悕瀛�(name) 蹇呴』锛� 鍏朵粬鍙傛暟鍙互鍦ㄦ憚鍍忔満閰嶇疆鐐瑰嚮淇濆瓨杩涜娣诲姞"
+// @Security ApiKeyAuth
 // @Accept json
 // @Produce json
 // @Tags camera
@@ -56,10 +59,10 @@
 		util.ResponseFormat(c, code.RequestParamError, "鍙傛暟閿欒")
 		return
 	}
-	cam.Id = util.PseudoUuid()
 	paramBody := util.Struct2Map(cam)
-	if api.CameraAdd(paramBody) {
-		util.ResponseFormat(c, code.Success, cam)
+	b, data := api.CameraAdd(paramBody)
+	if b {
+		util.ResponseFormat(c, code.Success, data)
 		return
 	}
 	util.ResponseFormat(c, code.ComError, err)
@@ -68,6 +71,7 @@
 
 // @Summary 鏇存柊鎽勫儚鏈�
 // @Description "鐢ㄤ簬鏇存柊鎽勫儚鏈烘搷浣�"
+// @Security ApiKeyAuth
 // @Accept json
 // @Produce json
 // @Tags camera
@@ -95,6 +99,7 @@
 
 // @Summary "鍒犻櫎鎽勫儚鏈�"
 // @Description "鏍规嵁鎽勫儚鏈篿d鍒犻櫎鎽勫儚鏈�"
+// @Security ApiKeyAuth
 // @Produce json
 // @Tags camera
 // @Param cid path string true "鎽勫儚鏈篿d example: cid0"
@@ -114,11 +119,12 @@
 
 // @Summary 鏄剧ず鎽勫儚鏈�
 // @Description "鏄剧ず鎽勫儚鏈�"
+// @Security ApiKeyAuth
 // @Produce json
 // @Tags camera
 // @Param cid path string true "鎽勫儚鏈篿d"
-// @Success 200 {string} json "{"code":200, success:true,  msg:"璇锋眰澶勭悊鎴愬姛", data:"鎽勫儚鏈轰俊鎭�"}"
-// @Failure 500 {string} json "{"code":500, success:false   msg:"",data:"閿欒淇℃伅鍐呭"}"
+// @Success 200 {string} json "{"code":200, success:true, msg:"", data:""}"
+// @Failure 500 {string} json "{"code":500, success:false, msg:"",data:""}"
 // @Router /data/api-v/camera/show/{cid} [get]
 func (ac CameraController) CameraSel(c *gin.Context) {
 	var api dbapi.CameraApi
@@ -128,8 +134,35 @@
 		util.ResponseFormat(c, code.ComError, "鏌ヨ澶辫触")
 		return
 	}
-
-	util.ResponseFormat(c, code.Success, camera)
+	//2019-11-02鏂板闇�姹傦紝鏄剧ず姣忎釜鎽勫儚鏈虹殑澶勭悊鏈嶅姟鍣ㄤ俊鎭�,褰掑睘鐨勮妭鐐规湇鍔″櫒鍚嶇О
+	m := util.Struct2Map(camera)
+	m["runServerName"] = ""
+	if camera.RunServerId !="" {
+		localConf, e := cache.GetServerInfo()
+		if e ==nil {
+			if camera.RunServerId == localConf.ServerId {//褰掑睘鏈彴鏈嶅姟鍣�
+				m["runServerName"] = localConf.ServerName
+			} else {//灞炰簬鍏朵粬鏈嶅姟鍣�
+				var clusterApi dbapi.ClusterApi
+				b, data := clusterApi.FindCluster()
+				if b && data !=nil {
+					cb, _ := json.Marshal(data)
+					var clu ClusterDb
+					if err := json.Unmarshal(cb, &clu);err ==nil {
+						if len(clu.Nodes) >0 {
+							for _,n :=range clu.Nodes {
+								if camera.RunServerId == n.NodeId {
+									m["runServerName"] = n.NodeName
+									break
+								}
+							}
+						}
+					}
+				}
+			}
+		}
+	}
+	util.ResponseFormat(c, code.Success, m)
 
 }
 
@@ -164,15 +197,6 @@
 	return json.Marshal(test)
 }
 
-// @Summary 灏嗘憚鍍忔満鎸傚埌鎸囧畾鐨勭洰褰曟爲涓�
-// @Description 灏嗘憚鍍忔満鎸傚埌鎸囧畾鐨勭洰褰曟爲涓�
-// @Produce json
-// @Tags camera
-// @Param cameraId path string true "鎽勫儚鏈篿d"
-// @Param areaId path string true "鐩綍鍖哄煙id"
-// @Success 200 {string} json "{"code":200, success:true, msg:"璇锋眰澶勭悊鎴愬姛", data:""}"
-// @Failure 500 {string} json "{"code":500, success:false, msg:"",data:"閿欒淇℃伅鍐呭"}"
-// @Router /data/api-v/camera/cameraAreaAdd [get]
 func (ac CameraController) CameraAreaAdd(c *gin.Context) {
 	cameraId := c.Param("cameraId")
 	areaId := c.Param("areaId")
@@ -180,15 +204,6 @@
 	fmt.Println(areaId)
 }
 
-// @Summary 鍒犻櫎鏌愪竴涓洰褰曟爲涓嬬殑鎸囧畾鎽勫儚鏈�
-// @Description 鍒犻櫎鏌愪竴涓洰褰曟爲涓嬬殑鎸囧畾鎽勫儚鏈�
-// @Produce json
-// @Tags camera
-// @Param cameraId path string true "鎽勫儚鏈篿d"
-// @Param areaId  path string true "鎸囧畾鐩綍鍖哄煙id"
-// @Success 200 {string} json "{"code":200, success:true, msg:"璇锋眰澶勭悊鎴愬姛", data:""}"
-// @Failure 500 {string} json "{"code":500, success:false, msg:"",data:"閿欒淇℃伅鍐呭"}"
-// @Router /data/api-v/camera/cameraAreaDel [get]
 func (ac CameraController) CameraAreaDel(c *gin.Context) {
 	cameraId := c.Param("cameraId")
 	areaId := c.Param("areaId")
@@ -196,15 +211,23 @@
 	fmt.Println(areaId)
 }
 
-// @Summary 鑾峰彇杩愯绫诲瀷鑾峰彇鎽勫儚鏈哄垪琛�
-// @Description 鑾峰彇杩愯绫诲瀷鑾峰彇鎽勫儚鏈哄垪琛�
-// @Produce json
-// @Tags camera
-// @Param runType query int true "0锛氭煡杞锛�1锛氭煡瀹炴椂"
-// @Param cameraName query string false "鏌ヨ鏉′欢"
-// @Success 200 {string} json "{"code":200, success:true, msg:"", data:""}"
-// @Failure 500 {string} json "{"code":500, success:false, msg:"",data:""}"
-// @Router /data/api-v/camera/getCamerasByRunType [get]
+func (cc CameraController) GetAllCamerasByServer(c *gin.Context) {
+	localConf, err2 := cache.GetServerInfo()
+	if err2 !=nil || localConf.ServerId == "" {
+		logger.Debug("localConfig is wrong!!!")
+		util.ResponseFormat(c,code.ComError,"鏈嶅姟鍣ㄦ湰鏈烘湭閰嶇疆serverId")
+		return
+	}
+	var api dbapi.CameraApi
+	cameraName := c.Query("cameraName")
+	b,d := api.GetAllCamerasByServer(localConf.ServerId, cameraName)
+	if b {
+		util.ResponseFormat(c,code.Success, d)
+	} else {
+		util.ResponseFormat(c,code.ComError, "")
+	}
+}
+
 func (cc CameraController) GetCamerasByRunType(c *gin.Context) {
 
 	runTypeStr := c.Query("runType")
@@ -228,15 +251,6 @@
 	}
 }
 
-// @Summary 鍒囨崲鎽勫儚鏈鸿繍琛屽疄鏃舵垨杞鐨勫紑鍏�
-// @Description 鍒囨崲鎽勫儚鏈鸿繍琛屽疄鏃舵垨杞鐨勫紑鍏�
-// @Produce json
-// @Tags camera
-// @Param cameraId query string true "鎽勫儚鏈篿d"
-// @Param runEnable query bool true "寮�鍚細true锛屽叧闂細false"
-// @Success 200 {string} json "{"code":200, success:true, msg:"", data:""}"
-// @Failure 500 {string} json "{"code":500, success:false, msg:"",data:""}"
-// @Router /data/api-v/camera/updateRunEnable [post]
 func (cc CameraController) UpdateRunEnable(c *gin.Context) {
 	cameraId := c.PostForm("cameraId")
 	enableStr := c.PostForm("runEnable")
@@ -256,18 +270,12 @@
 	}
 }
 
-// @Summary  鏇存柊搴曞浘
-// @Description 鍒锋柊搴曞浘
-// @Produce json
-// @Tags camera
-// @Param cid path string true "鎽勫儚鏈篿d"
-// @Success 200 {string} json "{"code":200, success:true,  msg:"", data:"杩斿洖鐨勬枃浠舵湇鍔″櫒鍦板潃"}"
-// @Failure 500 {string} json "{"code":500, success:false   msg:"",data:"閿欒淇℃伅鍐呭"}"
-// @Router /data/api-v/camera/updateSnapshotUrl/{cid} [get]
 func(cc CameraController) UpdateSnapshotUrl(c *gin.Context){
     cid := c.Param("cid")
-    filename, err := service.UpdateSnapshotUrl(cid)
+    //filename, err := service.UpdateSnapshotUrl(cid)
+	filename, err := service.UpdateCapture(cid)
     if err != nil {
+    	logger.Debug("UpdateSnapshotUrl.err:",err)
 		util.ResponseFormat(c, code.ComError, "鏇存柊澶辫触")
         return 
     }
@@ -279,14 +287,6 @@
 	RunType   int      `json:"run_type"`
 }
 
-// @Summary 鎽勫儚鏈鸿疆璇㈠拰瀹炴椂鐘舵�佸垏鎹�
-// @Description 鎽勫儚鏈鸿疆璇㈠拰瀹炴椂鐘舵�佸垏鎹�
-// @Produce json
-// @Tags camera
-// @Param changeRunBody body controllers.CameraChangeRunVo true "鍙傛暟缁撴瀯浣�,0锛氬疄鏃跺垏杞锛�1锛氳疆璇㈠垏瀹炴椂"
-// @Success 200 {string} json "{"code":200, success:true, msg:"", data:""}"
-// @Failure 500 {string} json "{"code":500, success:false, msg:"",data:""}"
-// @Router /data/api-v/camera/changeRunType [post]
 func (cc CameraController) ChangeRunType(c *gin.Context) {
 	var ccrVo CameraChangeRunVo
 	if err := c.BindJSON(&ccrVo); err != nil {
@@ -303,4 +303,13 @@
 	}
 }
 
+func (cc CameraController) StatisticRunInfo(c *gin.Context) {
+	var api dbapi.CameraApi
+	b, d := api.StatisticRunInfo()
+	if b {
+		util.ResponseFormat(c,code.Success,d)
+	} else {
+		util.ResponseFormat(c,code.ComError,"")
+	}
+}
 

--
Gitblit v1.8.0