From 9d88c7c467f8d93af4aab9ba0b6d6c01c2ffc546 Mon Sep 17 00:00:00 2001 From: sunty <1172534965@qq.com> Date: 星期四, 20 八月 2020 20:35:30 +0800 Subject: [PATCH] add get buckets contrl --- controllers/cameraTask.go | 176 ++++++++++++++++++++++++++++++++-------------------------- 1 files changed, 98 insertions(+), 78 deletions(-) diff --git a/controllers/cameraTask.go b/controllers/cameraTask.go index 452dc60..4389f11 100644 --- a/controllers/cameraTask.go +++ b/controllers/cameraTask.go @@ -1,4 +1,20 @@ package controllers + +import ( + "basic.com/dbapi.git" + "basic.com/pubsub/esutil.git" + "basic.com/valib/logger.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" @@ -14,14 +30,14 @@ // "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"` @@ -73,78 +89,82 @@ // //} // -//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 "鎽勫儚鏈篿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/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 "鎽勫儚鏈篿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/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) + } else { + logger.Debug("alltask err:", err) + } + } + } + logger.Debug("alltask camRuleArr:", camRuleArr) + 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) + if taskId != "" { + 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 鎽勫儚鏈烘坊鍔犱竴涓换鍔� -- Gitblit v1.8.0