From bae7a9a30b89c519460746cfa19cd7e66a0196e2 Mon Sep 17 00:00:00 2001
From: sunty <1172534965@qq.com>
Date: 星期日, 19 一月 2020 17:13:07 +0800
Subject: [PATCH] update _source list and struct

---
 controllers/camera.go |   70 ++++++++++++++++++++++++++++++++--
 1 files changed, 65 insertions(+), 5 deletions(-)

diff --git a/controllers/camera.go b/controllers/camera.go
index 0afa253..882e043 100644
--- a/controllers/camera.go
+++ b/controllers/camera.go
@@ -1,10 +1,12 @@
 package controllers
 
 import (
+	"basic.com/pubsub/protomsg.git"
 	"encoding/json"
 	"fmt"
 	"strconv"
 	"basic.com/valib/logger.git"
+	"strings"
 	"webserver/cache"
 
 	"github.com/gin-gonic/gin"
@@ -85,6 +87,7 @@
 
 	err := c.BindJSON(&cam)
 	if err != nil {
+		logger.Debug("err:",err)
 		util.ResponseFormat(c, code.RequestParamError, "鍙傛暟閿欒")
 		return
 	}
@@ -123,8 +126,8 @@
 // @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
@@ -134,8 +137,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)
 
 }
 
@@ -266,6 +296,7 @@
 // @Security ApiKeyAuth
 // @Summary 鍒囨崲鎽勫儚鏈鸿繍琛屽疄鏃舵垨杞鐨勫紑鍏�
 // @Description 鍒囨崲鎽勫儚鏈鸿繍琛屽疄鏃舵垨杞鐨勫紑鍏�
+// @Accept x-www-form-urlencoded
 // @Produce json
 // @Tags camera
 // @Param cameraId formData string true "鎽勫儚鏈篿d"
@@ -304,13 +335,42 @@
 func(cc CameraController) UpdateSnapshotUrl(c *gin.Context){
     cid := c.Param("cid")
     //filename, err := service.UpdateSnapshotUrl(cid)
+    if cid == "" {
+		util.ResponseFormat(c, code.RequestParamError, "鍙傛暟鏈夎")
+		return
+	}
+    if strings.HasPrefix(cid, File_Video_Id_Pre) || strings.HasPrefix(cid, File_Img_Id_Pre) || strings.HasPrefix(cid, File_Audio_Id_Pre) {
+		var fileApi dbapi.FileAnalysisApi
+		b, d := fileApi.Show(cid)
+		if b {
+			var file protomsg.FileAnalysis
+			bytes, _ := json.Marshal(d)
+			err := json.Unmarshal(bytes, &file)
+			if err == nil {
+				util.ResponseFormat(c, code.Success, map[string]string{
+					"cameraId": cid,
+					"snapshotUrl": file.SnapshotUrl,
+				})
+				return
+			} else {
+				util.ResponseFormat(c, code.ComError, "鏇存柊澶辫触")
+				return
+			}
+		} else {
+			util.ResponseFormat(c, code.ComError, "鏇存柊澶辫触")
+			return
+		}
+	}
 	filename, err := service.UpdateCapture(cid)
     if err != nil {
     	logger.Debug("UpdateSnapshotUrl.err:",err)
 		util.ResponseFormat(c, code.ComError, "鏇存柊澶辫触")
         return 
     }
-    util.ResponseFormat(c, code.Success, filename)
+    util.ResponseFormat(c, code.Success, map[string]string{
+    	"cameraId": cid,
+    	"snapshotUrl": filename,
+	})
 } 
 
 type CameraChangeRunVo struct {

--
Gitblit v1.8.0