From 2bd2068c999cda5bda8c0787ed0dcaac6cb7afdb Mon Sep 17 00:00:00 2001 From: zhangzengfei <zhangzengfei@iotlink.com> Date: 星期四, 31 十月 2019 13:27:46 +0800 Subject: [PATCH] feat: add system reboot api --- controllers/camera.go | 100 +++++++++++++++++++++++++++++++++++++++++++++----- 1 files changed, 90 insertions(+), 10 deletions(-) diff --git a/controllers/camera.go b/controllers/camera.go index 9cf2351..e7105b2 100644 --- a/controllers/camera.go +++ b/controllers/camera.go @@ -4,12 +4,15 @@ "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{} @@ -17,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 uint `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"` @@ -38,6 +42,7 @@ // @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) + 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 @@ -83,7 +89,7 @@ return } paramBody := util.Struct2Map(cam) - if api.CameraAdd(paramBody) { + 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,7 +109,7 @@ func (ac CameraController) CameraDel(c *gin.Context) { var api dbapi.CameraApi cid := c.Param("cid") - + logger.Debug("CameraDel.cid:",cid) if api.CameraDelete(cid) { util.ResponseFormat(c, code.Success, "鍒犻櫎鎴愬姛") return @@ -112,6 +119,7 @@ // @Summary 鏄剧ず鎽勫儚鏈� // @Description "鏄剧ず鎽勫儚鏈�" +// @Security ApiKeyAuth // @Produce json // @Tags camera // @Param cid path string true "鎽勫儚鏈篿d" @@ -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锛氭煡瀹炴椂" @@ -228,10 +265,11 @@ // @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] @@ -254,6 +292,27 @@ } } +// @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"` @@ -261,6 +320,7 @@ // @Summary 鎽勫儚鏈鸿疆璇㈠拰瀹炴椂鐘舵�佸垏鎹� // @Description 鎽勫儚鏈鸿疆璇㈠拰瀹炴椂鐘舵�佸垏鎹� +// @Security ApiKeyAuth // @Produce json // @Tags camera // @Param changeRunBody body controllers.CameraChangeRunVo true "鍙傛暟缁撴瀯浣�,0锛氬疄鏃跺垏杞锛�1锛氳疆璇㈠垏瀹炴椂" @@ -282,3 +342,23 @@ util.ResponseFormat(c, code.ComError, "鏇存柊澶辫触") } } + +// @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