From 718bcd41127a8c5c93a20ca6dfce6e5c5fcbc4e1 Mon Sep 17 00:00:00 2001
From: liuxiaolong <736321739@qq.com>
Date: 星期四, 31 十月 2019 13:47:24 +0800
Subject: [PATCH] add gbCloud
---
controllers/camera.go | 178 +++++++++++++++++++++++++++++++++++++++++++----------------
1 files changed, 129 insertions(+), 49 deletions(-)
diff --git a/controllers/camera.go b/controllers/camera.go
index 087703d..e7105b2 100644
--- a/controllers/camera.go
+++ b/controllers/camera.go
@@ -4,40 +4,45 @@
"encoding/json"
"fmt"
"strconv"
+ "basic.com/valib/logger.git"
+ "webserver/cache"
"github.com/gin-gonic/gin"
"basic.com/dbapi.git"
"webserver/extend/code"
"webserver/extend/util"
+ "webserver/service"
)
type CameraController struct{}
type CameraVo struct {
- Id string `json:"id"`
- Name string `json:"name"`
- Type int `json:"type" `
- Addr string `json:"addr"`
- Areaid uint `json:"areaid"`
- Longitude float64 `json:"longitude"`
- Latitude float64 `json:"latitude"`
- Rtsp string `json:"rtsp"`
- Ip string `json:"ip"`
- Port int `json:"port"`
- Username string `json:"username"`
- Password string `json:"password"`
- Brand string `json:"brand"`
- Reserved string `json:"reserved"`
+ 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 float32 `json:"longitude"`
+ Latitude float32 `json:"latitude"`
+ Rtsp string `json:"rtsp"`
+ Ip string `json:"ip"`
+ Port int `json:"port"`
+ Username string `json:"username"`
+ Password string `json:"password"`
+ Brand string `json:"brand"`
+ Reserved string `json:"reserved"`
- IsRunning bool `json:"is_running"`//鏄惁姝e湪瑙g爜
- RunEnable bool `json:"run_enable"`//鎺у埗瀹炴椂澶勭悊鎴栬疆璇㈠鐞嗙殑寮�鍏�
- RunType int `json:"run_type"`//澶勭悊绫诲瀷锛�0锛氳疆璇紝1锛氬疄鏃�
- RunServerId string `json:"run_server_id"`//褰撳墠姝e湪澶勭悊鐨勫垎鏋愭湇鍔″櫒id
+ IsRunning bool `json:"is_running"` //鏄惁姝e湪瑙g爜
+ RunEnable bool `json:"run_enable"` //鎺у埗瀹炴椂澶勭悊鎴栬疆璇㈠鐞嗙殑寮�鍏�
+ RunType int `json:"run_type"` //澶勭悊绫诲瀷锛�0锛氳疆璇紝1锛氬疄鏃�
+ RunServerId string `json:"run_server_id"` //褰撳墠姝e湪澶勭悊鐨勫垎鏋愭湇鍔″櫒id
}
// @Summary 娣诲姞鎽勫儚鏈�
// @Description "浼犲叆鍖哄煙鐨刬d锛坅reaid锛夊拰鎽勫儚鏈哄悕瀛�(name) 蹇呴』锛� 鍏朵粬鍙傛暟鍙互鍦ㄦ憚鍍忔満閰嶇疆鐐瑰嚮淇濆瓨杩涜娣诲姞"
+// @Security ApiKeyAuth
// @Accept json
// @Produce json
// @Tags camera
@@ -54,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)
+ paramBody := util.Struct2Map(cam)
+ b, data := api.CameraAdd(paramBody)
+ if b {
+ util.ResponseFormat(c, code.Success, data)
return
}
util.ResponseFormat(c, code.ComError, err)
@@ -66,6 +71,7 @@
// @Summary 鏇存柊鎽勫儚鏈�
// @Description "鐢ㄤ簬鏇存柊鎽勫儚鏈烘搷浣�"
+// @Security ApiKeyAuth
// @Accept json
// @Produce json
// @Tags camera
@@ -82,8 +88,8 @@
util.ResponseFormat(c, code.RequestParamError, "鍙傛暟閿欒")
return
}
- paramBody :=util.Struct2Map(cam)
- if api.CameraAdd(paramBody) {
+ paramBody := util.Struct2Map(cam)
+ if api.CameraUpdate(paramBody) {
util.ResponseFormat(c, code.Success, cam)
return
}
@@ -93,6 +99,7 @@
// @Summary "鍒犻櫎鎽勫儚鏈�"
// @Description "鏍规嵁鎽勫儚鏈篿d鍒犻櫎鎽勫儚鏈�"
+// @Security ApiKeyAuth
// @Produce json
// @Tags camera
// @Param cid path string true "鎽勫儚鏈篿d example: cid0"
@@ -102,16 +109,17 @@
func (ac CameraController) CameraDel(c *gin.Context) {
var api dbapi.CameraApi
cid := c.Param("cid")
-
- if api.CameraDelete(cid){
+ logger.Debug("CameraDel.cid:",cid)
+ if api.CameraDelete(cid) {
util.ResponseFormat(c, code.Success, "鍒犻櫎鎴愬姛")
return
}
- util.ResponseFormat(c, code.ComError,"鍒犻櫎澶辫触")
+ util.ResponseFormat(c, code.ComError, "鍒犻櫎澶辫触")
}
// @Summary 鏄剧ず鎽勫儚鏈�
// @Description "鏄剧ず鎽勫儚鏈�"
+// @Security ApiKeyAuth
// @Produce json
// @Tags camera
// @Param cid path string true "鎽勫儚鏈篿d"
@@ -121,9 +129,9 @@
func (ac CameraController) CameraSel(c *gin.Context) {
var api dbapi.CameraApi
cid := c.Param("cid")
- camera,err := api.GetCameraById(cid)
- if err !=nil {
- util.ResponseFormat(c,code.ComError,"鏌ヨ澶辫触")
+ camera, err := api.GetCameraById(cid)
+ if err != nil {
+ util.ResponseFormat(c, code.ComError, "鏌ヨ澶辫触")
return
}
@@ -164,6 +172,7 @@
// @Summary 灏嗘憚鍍忔満鎸傚埌鎸囧畾鐨勭洰褰曟爲涓�
// @Description 灏嗘憚鍍忔満鎸傚埌鎸囧畾鐨勭洰褰曟爲涓�
+// @Security ApiKeyAuth
// @Produce json
// @Tags camera
// @Param cameraId path string true "鎽勫儚鏈篿d"
@@ -180,6 +189,7 @@
// @Summary 鍒犻櫎鏌愪竴涓洰褰曟爲涓嬬殑鎸囧畾鎽勫儚鏈�
// @Description 鍒犻櫎鏌愪竴涓洰褰曟爲涓嬬殑鎸囧畾鎽勫儚鏈�
+// @Security ApiKeyAuth
// @Produce json
// @Tags camera
// @Param cameraId path string true "鎽勫儚鏈篿d"
@@ -194,8 +204,35 @@
fmt.Println(areaId)
}
+// @Summary 鏍规嵁server鑾峰彇鎵�鏈夋憚鍍忔満鍒楄〃鍙婁俊鎭�
+// @Description 鏍规嵁server鑾峰彇鎵�鏈夋憚鍍忔満鍒楄〃鍙婁俊鎭�
+// @Security ApiKeyAuth
+// @Produce json
+// @Tags camera
+// @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/getAllCamerasByServer [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, "")
+ }
+}
+
// @Summary 鑾峰彇杩愯绫诲瀷鑾峰彇鎽勫儚鏈哄垪琛�
// @Description 鑾峰彇杩愯绫诲瀷鑾峰彇鎽勫儚鏈哄垪琛�
+// @Security ApiKeyAuth
// @Produce json
// @Tags camera
// @Param runType query int true "0锛氭煡杞锛�1锛氭煡瀹炴椂"
@@ -210,8 +247,8 @@
fmt.Println("runType:", runTypeStr)
fmt.Println("cameraName:", cameraName)
runType, err := strconv.Atoi(runTypeStr)
- if err !=nil || (runType !=0 && runType !=1) {
- util.ResponseFormat(c,code.RequestParamError,"鍙傛暟鏈夎")
+ if err != nil || (runType != 0 && runType != 1) {
+ util.ResponseFormat(c, code.RequestParamError, "鍙傛暟鏈夎")
return
}
var api dbapi.CameraApi
@@ -220,65 +257,108 @@
dataBytes, _ := json.Marshal(list)
var cams []CameraVo
json.Unmarshal(dataBytes, &cams)
- util.ResponseFormat(c,code.Success,cams)
+ util.ResponseFormat(c, code.Success, cams)
} else {
- util.ResponseFormat(c,code.ComError,err)
+ util.ResponseFormat(c, code.ComError, err)
}
}
// @Summary 鍒囨崲鎽勫儚鏈鸿繍琛屽疄鏃舵垨杞鐨勫紑鍏�
// @Description 鍒囨崲鎽勫儚鏈鸿繍琛屽疄鏃舵垨杞鐨勫紑鍏�
+// @Security ApiKeyAuth
// @Produce json
// @Tags camera
-// @Param cameraId query string true "鎽勫儚鏈篿d"
-// @Param runEnable query bool true "寮�鍚細true锛屽叧闂細false"
+// @Param cameraId formData string true "鎽勫儚鏈篿d"
+// @Param runEnable formData 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){
+func (cc CameraController) UpdateRunEnable(c *gin.Context) {
cameraId := c.PostForm("cameraId")
enableStr := c.PostForm("runEnable")
runEnable, err := strconv.ParseBool(enableStr)
- if cameraId == "" || err !=nil {
- util.ResponseFormat(c,code.RequestParamError,"鍙傛暟鏈夎")
+ if cameraId == "" || err != nil {
+ util.ResponseFormat(c, code.RequestParamError, "鍙傛暟鏈夎")
return
}
var api dbapi.CameraApi
b, data := api.UpdateRunEnable(cameraId, runEnable)
- fmt.Println("data:",data)
+ fmt.Println("data:", data)
if b {
- util.ResponseFormat(c,code.Success,data)
+ util.ResponseFormat(c, code.Success, data)
} else {
- util.ResponseFormat(c,code.ComError,"鏇存柊澶辫触")
+ util.ResponseFormat(c, code.ComError, "鏇存柊澶辫触")
}
}
+// @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:"閿欒淇℃伅鍐呭"}"
+// @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.UpdateCapture(cid)
+ if err != nil {
+ logger.Debug("UpdateSnapshotUrl.err:",err)
+ util.ResponseFormat(c, code.ComError, "鏇存柊澶辫触")
+ return
+ }
+ util.ResponseFormat(c, code.Success, filename)
+}
+
type CameraChangeRunVo struct {
CameraIds []string `json:"camera_ids"`
- RunType int `json:"run_type"`
+ RunType int `json:"run_type"`
}
// @Summary 鎽勫儚鏈鸿疆璇㈠拰瀹炴椂鐘舵�佸垏鎹�
// @Description 鎽勫儚鏈鸿疆璇㈠拰瀹炴椂鐘舵�佸垏鎹�
+// @Security ApiKeyAuth
// @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){
+func (cc CameraController) ChangeRunType(c *gin.Context) {
var ccrVo CameraChangeRunVo
- if err := c.BindJSON(&ccrVo);err !=nil{
- util.ResponseFormat(c,code.RequestParamError,"鍙傛暟鏈夎")
+ if err := c.BindJSON(&ccrVo); err != nil {
+ util.ResponseFormat(c, code.RequestParamError, "鍙傛暟鏈夎")
return
}
paramBody := util.Struct2Map(ccrVo)
var api dbapi.CameraApi
b, data := api.ChangeRunType(paramBody)
if b {
- util.ResponseFormat(c,code.Success,data)
+ util.ResponseFormat(c, code.Success, data)
} else {
- util.ResponseFormat(c,code.ComError,"鏇存柊澶辫触")
+ util.ResponseFormat(c, code.ComError, "鏇存柊澶辫触")
}
-}
\ No newline at end of file
+}
+
+// @Summary 缁熻瀹炴椂鍜岃疆璇㈢殑杩愯璺暟鎯呭喌
+// @Description 缁熻瀹炴椂鍜岃疆璇㈢殑杩愯璺暟鎯呭喌
+// @Security ApiKeyAuth
+// @Produce json
+// @Tags camera
+// @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/statisticRunInfo [get]
+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