From 88d229d880079db1d31af1d4cbed3b8eb12fd47d Mon Sep 17 00:00:00 2001
From: sunty <1172534965@qq.com>
Date: 星期五, 28 六月 2019 14:31:08 +0800
Subject: [PATCH] Merge branch 'master' of http://192.168.1.14:10010/r/webserver

---
 controllers/camera.go |  137 ++++++++++++++++++++++++++++++++++++++-------
 1 files changed, 116 insertions(+), 21 deletions(-)

diff --git a/controllers/camera.go b/controllers/camera.go
index 7d73101..9cf2351 100644
--- a/controllers/camera.go
+++ b/controllers/camera.go
@@ -3,6 +3,7 @@
 import (
 	"encoding/json"
 	"fmt"
+	"strconv"
 
 	"github.com/gin-gonic/gin"
 
@@ -14,20 +15,25 @@
 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"`
+	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"`
+
+	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 娣诲姞鎽勫儚鏈�
@@ -49,7 +55,7 @@
 		return
 	}
 	cam.Id = util.PseudoUuid()
-	paramBody :=util.Struct2Map(cam)
+	paramBody := util.Struct2Map(cam)
 	if api.CameraAdd(paramBody) {
 		util.ResponseFormat(c, code.Success, cam)
 		return
@@ -76,7 +82,7 @@
 		util.ResponseFormat(c, code.RequestParamError, "鍙傛暟閿欒")
 		return
 	}
-	paramBody :=util.Struct2Map(cam)
+	paramBody := util.Struct2Map(cam)
 	if api.CameraAdd(paramBody) {
 		util.ResponseFormat(c, code.Success, cam)
 		return
@@ -97,11 +103,11 @@
 	var api dbapi.CameraApi
 	cid := c.Param("cid")
 
-	if api.CameraDelete(cid){
+	if api.CameraDelete(cid) {
 		util.ResponseFormat(c, code.Success, "鍒犻櫎鎴愬姛")
 		return
 	}
-	util.ResponseFormat(c, code.ComError,"鍒犻櫎澶辫触")
+	util.ResponseFormat(c, code.ComError, "鍒犻櫎澶辫触")
 }
 
 // @Summary 鏄剧ず鎽勫儚鏈�
@@ -115,9 +121,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
 	}
 
@@ -187,3 +193,92 @@
 	fmt.Println(cameraId)
 	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) GetCamerasByRunType(c *gin.Context) {
+
+	runTypeStr := c.Query("runType")
+	cameraName := c.Query("cameraName")
+	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, "鍙傛暟鏈夎")
+		return
+	}
+	var api dbapi.CameraApi
+	b, list := api.GetCamerasByRunType(runType, cameraName)
+	if b {
+		dataBytes, _ := json.Marshal(list)
+		var cams []CameraVo
+		json.Unmarshal(dataBytes, &cams)
+		util.ResponseFormat(c, code.Success, cams)
+	} else {
+		util.ResponseFormat(c, code.ComError, err)
+	}
+}
+
+// @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")
+	runEnable, err := strconv.ParseBool(enableStr)
+	if cameraId == "" || err != nil {
+		util.ResponseFormat(c, code.RequestParamError, "鍙傛暟鏈夎")
+		return
+	}
+
+	var api dbapi.CameraApi
+	b, data := api.UpdateRunEnable(cameraId, runEnable)
+	fmt.Println("data:", data)
+	if b {
+		util.ResponseFormat(c, code.Success, data)
+	} else {
+		util.ResponseFormat(c, code.ComError, "鏇存柊澶辫触")
+	}
+}
+
+type CameraChangeRunVo struct {
+	CameraIds []string `json:"camera_ids"`
+	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 {
+		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)
+	} else {
+		util.ResponseFormat(c, code.ComError, "鏇存柊澶辫触")
+	}
+}

--
Gitblit v1.8.0