| | |
| | | package controllers |
| | | |
| | | import ( |
| | | "basic.com/dbapi.git" |
| | | "basic.com/pubsub/esutil.git" |
| | | "encoding/json" |
| | | "github.com/gin-gonic/gin" |
| | | "strconv" |
| | | "webserver/cache" |
| | | "webserver/extend/code" |
| | | "webserver/extend/config" |
| | | "webserver/extend/util" |
| | | "webserver/models" |
| | | "webserver/vo" |
| | | ) |
| | | |
| | | // |
| | | //import ( |
| | | // "basic.com/dbapi.git" |
| | |
| | | // "webserver/models" |
| | | //) |
| | | // |
| | | //type CameraTaskController struct { |
| | | type CameraTaskController struct { |
| | | |
| | | } |
| | | // |
| | | //} |
| | | // |
| | | ////用于接收多个摄像机的id,以逗号隔开 |
| | | //type MultiCamera struct { |
| | | // CameraIds []string `json:"cameraIds"` |
| | | //} |
| | | //用于接收多个摄像机的id,以逗号隔开 |
| | | type MultiCamera struct { |
| | | CameraIds []string `json:"cameraIds"` |
| | | } |
| | | // |
| | | //type CameraTaskVo struct { |
| | | // Id string `json:"id"` |
| | |
| | | // |
| | | //} |
| | | // |
| | | //type CameraTaskInfoVo struct { |
| | | // Camera models.Camera `json:"camera"` |
| | | // Tasks []models.Task `json:"tasks"` |
| | | // Polygon CameraPolygonVo `json:"polygon"` |
| | | //} |
| | | type CameraTaskInfoVo struct { |
| | | Camera models.Camera `json:"camera"` |
| | | Tasks []models.Task `json:"tasks"` |
| | | Polygon CameraPolygonVo `json:"polygon"` |
| | | } |
| | | // |
| | | //// @Security ApiKeyAuth |
| | | //// @Summary 查询所有任务 |
| | | //// @Description "查询所有任务" |
| | | //// @Accept json |
| | | //// @Produce json |
| | | //// @Tags CameraTask |
| | | //// @Param cameraIds body controllers.MultiCamera false "摄像机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/alltask [post] |
| | | //func (ctc CameraTaskController) FindTasksByCameraIds(c *gin.Context){ |
| | | // var mulCamera MultiCamera |
| | | // c.BindJSON(&mulCamera) |
| | | // var api dbapi.CameraTaskApi |
| | | // flag, data := api.FindTasksByCameraIds(mulCamera.CameraIds) |
| | | // if flag { |
| | | // bytes, _ := json.Marshal(data) |
| | | // var camTInfo []CameraTaskInfoVo |
| | | // json.Unmarshal(bytes, &camTInfo) |
| | | // |
| | | // //处理已被删除的任务 |
| | | // |
| | | // var delTasks []models.Task |
| | | // var taskApi dbapi.TaskApi |
| | | // taskInfos := taskApi.FindAll() |
| | | // m := make(map[string]string) |
| | | // for _,ti :=range taskInfos{ |
| | | // if ti.Task.Taskid != FaceExtract_VirtualTaskId{ |
| | | // m[ti.Task.Taskid] = ti.Task.Taskid |
| | | // } |
| | | // } |
| | | // localConf, _ := cache.GetServerInfo() |
| | | // if localConf.AlarmIp != "" && localConf.ServerId != "" && localConf.AlarmPort>0 { |
| | | // indexName := config.EsInfo.EsIndex.AiOcean.IndexName |
| | | // esTaskM, e := esutil.AggregateTaskList(localConf.AlarmIp, strconv.Itoa(int(localConf.AlarmPort)), indexName, localConf.ServerId) |
| | | // if e==nil && esTaskM !=nil { |
| | | // for _,tM :=range esTaskM { |
| | | // if _,ok := m[tM["taskId"].(string)];!ok {//表示此任务已被删除 |
| | | // taskId := tM["taskId"].(string) |
| | | // m[taskId] = taskId |
| | | // delTasks = append(delTasks, models.Task{ |
| | | // Taskid: taskId, |
| | | // Taskname: tM["taskName"].(string), |
| | | // DelFlag: true, |
| | | // }) |
| | | // } |
| | | // } |
| | | // } |
| | | // } |
| | | // var result []CameraTaskInfoVo |
| | | // if camTInfo != nil { |
| | | // for _, camIn := range camTInfo { |
| | | // nIfn := CameraTaskInfoVo{ |
| | | // Camera: camIn.Camera, |
| | | // Polygon: camIn.Polygon, |
| | | // Tasks: append(camIn.Tasks, delTasks...), |
| | | // } |
| | | // result = append(result, nIfn) |
| | | // } |
| | | // } |
| | | // |
| | | // util.ResponseFormat(c,code.Success, result) |
| | | // } else { |
| | | // util.ResponseFormat(c,code.ComError,data) |
| | | // } |
| | | //} |
| | | // @Security ApiKeyAuth |
| | | // @Summary 查询所有任务 |
| | | // @Description "查询所有任务" |
| | | // @Accept json |
| | | // @Produce json |
| | | // @Tags 摄像机规则 |
| | | // @Param cameraIds body controllers.MultiCamera false "摄像机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/alltask [post] |
| | | func (ctc CameraTaskController) FindTasksByCameraIds(c *gin.Context){ |
| | | var mulCamera MultiCamera |
| | | c.BindJSON(&mulCamera) |
| | | var api dbapi.CameraRuleApi |
| | | |
| | | var camRuleArr []vo.CameraAndRules |
| | | for _,camId :=range mulCamera.CameraIds { |
| | | if b, d := api.FindByCameraId(camId); b { |
| | | bytes, _ := json.Marshal(d) |
| | | var camTInfo []vo.CameraAndRules |
| | | if err := json.Unmarshal(bytes, &camTInfo); err ==nil { |
| | | camRuleArr = append(camRuleArr, camTInfo...) |
| | | } |
| | | } |
| | | } |
| | | var result []SceneIfDelResult |
| | | m := make(map[string]string) |
| | | for _,cg :=range camRuleArr { |
| | | for _,g := range cg.AllGroupRules { |
| | | m[g.Id] = g.SceneName |
| | | result = append(result, SceneIfDelResult{ |
| | | Id: g.Id, |
| | | Name: g.SceneName, |
| | | IsDelete: false, |
| | | }) |
| | | } |
| | | } |
| | | |
| | | localConf, _ := cache.GetServerInfo() |
| | | if localConf.AlarmIp != "" && localConf.ServerId != "" && localConf.AlarmPort>0 { |
| | | indexName := config.EsInfo.EsIndex.AiOcean.IndexName |
| | | esTaskM, e := esutil.AggregateTaskList(localConf.AlarmIp, strconv.Itoa(int(localConf.AlarmPort)), indexName, localConf.ServerId) |
| | | if e==nil && esTaskM !=nil { |
| | | for _,tM :=range esTaskM { |
| | | if _,ok := m[tM["taskId"].(string)];!ok {//表示此任务已被删除 |
| | | taskId := tM["taskId"].(string) |
| | | taskName := tM["taskName"].(string) |
| | | result = append(result, SceneIfDelResult{ |
| | | Id: taskId, |
| | | Name: taskName, |
| | | IsDelete: true, |
| | | }) |
| | | } |
| | | } |
| | | } |
| | | } |
| | | |
| | | util.ResponseFormat(c,code.Success, result) |
| | | } |
| | | |
| | | type SceneIfDelResult struct { |
| | | Id string `json:"id"` |
| | | Name string `json:"name"` |
| | | IsDelete bool `json:"isDelete"` |
| | | } |
| | | // |
| | | //// @Security ApiKeyAuth |
| | | //// @Summary 摄像机添加一个任务 |