| | |
| | | "encoding/json" |
| | | "fmt" |
| | | "strconv" |
| | | "webserver/extend/logger" |
| | | |
| | | "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"` |
| | | 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"`//是否正在解码 |
| | | RunEnable bool `json:"run_enable"`//控制实时处理或轮询处理的开关 |
| | | RunType int `json:"run_type"`//处理类型:0:轮询,1:实时 |
| | | RunServerId string `json:"run_server_id"`//当前正在处理的分析服务器id |
| | | IsRunning bool `json:"is_running"` //是否正在解码 |
| | | RunEnable bool `json:"run_enable"` //控制实时处理或轮询处理的开关 |
| | | RunType int `json:"run_type"` //处理类型:0:轮询,1:实时 |
| | | RunServerId string `json:"run_server_id"` //当前正在处理的分析服务器id |
| | | } |
| | | |
| | | // @Summary 添加摄像机 |
| | |
| | | return |
| | | } |
| | | cam.Id = util.PseudoUuid() |
| | | paramBody :=util.Struct2Map(cam) |
| | | paramBody := util.Struct2Map(cam) |
| | | if api.CameraAdd(paramBody) { |
| | | util.ResponseFormat(c, code.Success, cam) |
| | | return |
| | |
| | | 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 |
| | | } |
| | |
| | | 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 显示摄像机 |
| | |
| | | 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 |
| | | } |
| | | |
| | |
| | | |
| | | runTypeStr := c.Query("runType") |
| | | cameraName := c.Query("cameraName") |
| | | fmt.Println("runType:",runTypeStr) |
| | | fmt.Println("cameraName:",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,"参数有误") |
| | | if err != nil || (runType != 0 && runType != 1) { |
| | | util.ResponseFormat(c, code.RequestParamError, "参数有误") |
| | | return |
| | | } |
| | | var api dbapi.CameraApi |
| | | b,list := api.GetCamerasByRunType(runType) |
| | | 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) |
| | | util.ResponseFormat(c, code.Success, cams) |
| | | } else { |
| | | util.ResponseFormat(c,code.ComError,err) |
| | | util.ResponseFormat(c, code.ComError, err) |
| | | } |
| | | } |
| | | |
| | |
| | | // @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) |
| | | 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 刷新底图 |
| | | // @Produce json |
| | | // @Tags camera |
| | | // @Param cid 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/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"` |
| | | } |
| | | |
| | | // @Summary 摄像机轮询和实时状态切换 |
| | | // @Description 摄像机轮询和实时状态切换 |
| | | // @Produce json |
| | | // @Tags camera |
| | | // @Param cameraId query string true "摄像机id" |
| | | // @Param runType query int true "0:实时切轮询,1:轮询切实时" |
| | | // @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){ |
| | | cameraId := c.PostForm("cameraId") |
| | | runTypeStr := c.PostForm("runType") |
| | | runType,err := strconv.Atoi(runTypeStr) |
| | | if cameraId == "" || err!=nil || (runType !=0 && runType !=1){ |
| | | util.ResponseFormat(c,code.RequestParamError,"参数有误") |
| | | 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(cameraId, runType) |
| | | 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, "更新失败") |
| | | } |
| | | } |
| | | } |
| | | |
| | | |