From dff98ff959934d17b8222b06e827231374be55eb Mon Sep 17 00:00:00 2001 From: liuxiaolong <liuxiaolong@aiotlink.com> Date: 星期三, 24 六月 2020 19:36:20 +0800 Subject: [PATCH] ruleTemplate instead of task --- vo/cameraRule.go | 56 + go.sum | 8 controllers/cameraTask.go | 766 +++++++++--------- go.mod | 4 controllers/cameraTaskArgs.go | 412 +++++----- controllers/ruleTemplate.go | 120 +++ controllers/task.go | 729 +++++++++--------- controllers/cameraRule.go | 190 ++++ router/router.go | 84 + 9 files changed, 1,373 insertions(+), 996 deletions(-) diff --git a/controllers/cameraRule.go b/controllers/cameraRule.go new file mode 100644 index 0000000..4fbaf75 --- /dev/null +++ b/controllers/cameraRule.go @@ -0,0 +1,190 @@ +package controllers + +import ( + "basic.com/dbapi.git" + "github.com/gin-gonic/gin" + "webserver/extend/code" + "webserver/extend/util" + "webserver/vo" +) + +type CameraRuleController struct { + +} + +type PasteRuleArg struct { + SourceId string `json:"sourceId" binding:"required"` + TargetIds []string `json:"targetIds" binging:"required"` +} + +// @Summary 鏄剧ず鎽勫儚鏈哄満鏅鍒� +// @Description 鏄剧ず鎽勫儚鏈哄満鏅鍒� +// @Accept json +// @Produce json +// @Tags 鎽勫儚鏈鸿鍒� +// @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/rule/{cameraId} [get] +func (crc CameraRuleController) FindByCameraId(c *gin.Context) { + cameraId := c.Param("cameraId") + if cameraId == "" { + util.ResponseFormat(c,code.RequestParamError,"") + return + } + var api dbapi.CameraRuleApi + b,d := api.FindByCameraId(cameraId) + if b { + util.ResponseFormat(c,code.Success,d) + } else { + util.ResponseFormat(c,code.ComError,"") + } +} + +// @Summary 淇濆瓨鎽勫儚鏈虹嫭绔嬭鍒� +// @Description 淇濆瓨鎽勫儚鏈虹嫭绔嬭鍒� +// @Accept json +// @Produce json +// @Tags 鎽勫儚鏈鸿鍒� +// @Param args body vo.GroupRuleVo true "鐙珛瑙勫垯鍙傛暟" +// @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/rule/save [post] +func (crc CameraRuleController) Save(c *gin.Context) { + var reqBody vo.GroupRuleVo + err := c.BindJSON(&reqBody) + if err !=nil { + util.ResponseFormat(c,code.RequestParamError,"") + return + } + param := util.Struct2Map(reqBody) + var api dbapi.CameraRuleApi + if api.Save(param) { + util.ResponseFormat(c,code.Success,"") + } else { + util.ResponseFormat(c,code.ComError,"") + } +} + +// @Summary 澶嶅埗鎽勫儚鏈鸿鍒欏埌閫夊畾鐨勫涓憚鍍忔満 +// @Description 澶嶅埗鎽勫儚鏈鸿鍒欏埌閫夊畾鐨勫涓憚鍍忔満 +// @Accept json +// @Produce json +// @Tags 鎽勫儚鏈鸿鍒� +// @Param args body controllers.PasteRuleArg true "瑙勫垯澶嶅埗鍙傛暟" +// @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/pasteRules [post] +func (crc CameraRuleController) PasteRules(c *gin.Context) { + var reqBody PasteRuleArg + err := c.BindJSON(&reqBody) + if err !=nil { + util.ResponseFormat(c,code.RequestParamError,"") + return + } + param := util.Struct2Map(reqBody) + var api dbapi.CameraRuleApi + if api.PasteRules(param) { + util.ResponseFormat(c,code.Success,"") + } else { + util.ResponseFormat(c,code.ComError,"") + } +} + +// @Summary 淇濆瓨鑱斿姩浠诲姟瑙勫垯鍙傛暟 +// @Description 淇濆瓨鑱斿姩浠诲姟瑙勫垯鍙傛暟 +// @Accept json +// @Produce json +// @Tags 鎽勫儚鏈鸿鍒� +// @Param saveBody body vo.GroupRuleVo true "鑱斿姩浠诲姟瑙勫垯淇濆瓨鍙傛暟" +// @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/rule/saveLinkRulesByGroup [post] +func (crc CameraRuleController) SaveLinkRulesByGroup(c *gin.Context) { + var saveBody vo.GroupRuleVo + if err := c.BindJSON(&saveBody);err !=nil { + util.ResponseFormat(c,code.RequestParamError,"鍙傛暟鏈夎") + return + } + param := util.Struct2Map(saveBody) + var api dbapi.CameraRuleApi + if api.SaveLinkRulesByGroup(param) { + util.ResponseFormat(c,code.Success,saveBody) + } else { + util.ResponseFormat(c,code.ComError, "") + } +} + +// @Summary 鏍规嵁澶氫釜鎽勫儚鏈篿d鏌ヨ鑱斿姩浠诲姟瑙勫垯璁剧疆 +// @Description 鏍规嵁澶氫釜鎽勫儚鏈篿d鏌ヨ鑱斿姩浠诲姟瑙勫垯璁剧疆 +// @Accept json +// @Produce json +// @Tags 鎽勫儚鏈鸿鍒� +// @Param cameraIds body vo.MultiCamera true "鎽勫儚鏈篿ds" +// @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/rule/getLinkRulesByCameraIds [post] +func (crc CameraRuleController) GetLinkRulesByCameraIds(c *gin.Context) { + var idArrVo vo.MultiCamera + if err := c.BindJSON(&idArrVo);err !=nil { + util.ResponseFormat(c,code.RequestParamError,"鍙傛暟鏈夎") + return + } + if idArrVo.CameraIds == nil || len(idArrVo.CameraIds) == 0 { + util.ResponseFormat(c,code.RequestParamError,"鎽勫儚鏈篿d涓嶈兘灏戜簬1") + return + } + param := util.Struct2Map(idArrVo) + var api dbapi.CameraRuleApi + flag, ruleList := api.GetLinkRulesByCameraIds(param) + if flag { + util.ResponseFormat(c,code.Success, ruleList) + } else { + util.ResponseFormat(c,code.ComError,"鏌ヨ澶辫触") + } + +} + +// @Summary 淇敼瑙勫垯缁勬姤璀︾瓑绾� +// @Description 淇敼瑙勫垯缁勬姤璀︾瓑绾� +// @Produce json +// @Tags 鎽勫儚鏈鸿鍒� +// @Param reqBody body vo.GroupAlarmLevelVo true "鍙傛暟" +// @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/rule/updateAlarmLevel [post] +func (crc CameraRuleController) UpdateAlarmLevel(c *gin.Context) { + var reqBody vo.GroupAlarmLevelVo + err := c.BindJSON(&reqBody) + if err != nil { + util.ResponseFormat(c,code.RequestParamError, "") + return + } + param := util.Struct2Map(reqBody) + var api dbapi.CameraRuleApi + if api.UpdateAlarmLevel(param) { + util.ResponseFormat(c, code.Success, "淇敼鎴愬姛")//鎽勫儚鏈轰换鍔″弬鏁板垹闄ゅ畬浜� + } else { + util.ResponseFormat(c, code.ComError, "淇敼澶辫触") + } +} + +// @Summary 鏍规嵁鍒嗙粍id鍒犻櫎鎽勫儚鏈虹畻娉曡鍒� +// @Description 鏍规嵁鍒嗙粍id鍒犻櫎鎽勫儚鏈虹畻娉曡鍒� +// @Produce json +// @Tags CameraTaskArgs +// @Param groupId query 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/rule/deleteByGroup [get] +func (crc CameraRuleController) DeleteByGroup(c *gin.Context) { + groupId := c.Query("groupId") + if groupId == "" { + util.ResponseFormat(c, code.RequestParamError, "id蹇呭~") + return + } + var api dbapi.CameraRuleApi + if api.DeleteByGroup(groupId) { + util.ResponseFormat(c, code.Success, "鍒犻櫎鎴愬姛")//鎽勫儚鏈轰换鍔″弬鏁板垹闄ゅ畬浜� + } + util.ResponseFormat(c, code.ComError, "鍒犻櫎澶辫触") +} \ No newline at end of file diff --git a/controllers/cameraTask.go b/controllers/cameraTask.go index 7ae01fb..452dc60 100644 --- a/controllers/cameraTask.go +++ b/controllers/cameraTask.go @@ -1,384 +1,384 @@ package controllers - -import ( - "basic.com/dbapi.git" - "basic.com/pubsub/esutil.git" - "encoding/json" - "fmt" - "github.com/gin-gonic/gin" - "strconv" - "webserver/cache" - "webserver/extend/code" - "webserver/extend/config" - "webserver/extend/util" - "webserver/models" -) - -type CameraTaskController struct { - -} - -//鐢ㄤ簬鎺ユ敹澶氫釜鎽勫儚鏈虹殑id锛屼互閫楀彿闅斿紑 -type MultiCamera struct { - CameraIds []string `json:"cameraIds"` -} - -type CameraTaskVo struct { - Id string `json:"id"` - CameraId string `json:"camera_id"` - TaskId string `json:"task_id"` //浠诲姟id 鏉ヨ嚜浜庝换鍔¤〃 - TimeRule string `json:"time_rule"` - ReactRule string `json:"react_rule"` - ReactDevice string `json:"react_device"` - DelFlag bool `json:"del_flag"` - UpdateFlag bool `json:"update_flag"` - Enable int `json:"enable"` //榛樿鍚敤 - Sort int `json:"sort"` //浠诲姟鎺掑簭 - IsFull int `json:"is_full"` //鍙傛暟鏄惁璁剧疆瀹屾暣 - LinkTaskId string `json:"link_task_id"` //鑱斿姩浠诲姟缁� -} - -type CameraTaskSaveArg struct { - Id string `json:"id"` - SetType string `json:"set_type" example:"batchTask:鎵归噺浠诲姟,linkTask:鑱斿姩浠诲姟"`//浠诲姟璁剧疆鏂瑰紡锛堟壒閲忚缃繕鏄仈鍔ㄤ换鍔¤缃級 - CameraIds []string `json:"camera_ids"` - TaskId string `json:"task_id"` - GroupId string `json:"group_id"` - GroupText string `json:"group_text"` - GroupRule []CameraTaskArgVo `json:"group_rule"` -} - -type CameraTaskArgGroup struct { - Id string `json:"id"` - CameraTaskId string `json:"camera_task_id"` - GroupId string `json:"group_id"` - GroupText string `json:"group_text"` - AlarmLevel int `json:"alarm_level"` -} - -type CameraTaskArgVo struct { - Id string `json:"id"` - CameraId string `json:"camera_id"`//鎽勫儚鏈篿d - PolygonId string `json:"polygon_id"`//澶氳竟褰d - SdkId string `json:"sdk_id"`//绠楁硶id - SdkArgAlias string `json:"sdk_arg_alias"`//绠楁硶鍙傛暟鍒悕 - Operator string `json:"operator"`//璁$畻鏂瑰紡=,>,>=绛夌瓑 - OperatorType string `json:"operator_type"`//璁$畻鐨勫�肩被鍨� - SdkArgValue string `json:"sdk_arg_value"` //绠楁硶鍙傛暟鍊艰缃� - RuleWithPre string `json:"rule_with_pre"` //涓庝笅涓�鏉$殑閫昏緫杩愮畻绗� - GroupId string `json:"group_id"` -} - -type LinkCameraTasksVo struct { - -} - -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 x-www-form-urlencoded -// @Produce json -// @Tags CameraTask -// @Param cameraId formData string true "鎽勫儚鏈篿d" -// @Param taskId formData 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/cameraTask/addTask [post] -func (ctc CameraTaskController) AddTask(c *gin.Context) { - cameraId := c.PostForm("cameraId") - taskId := c.PostForm("taskId") - if cameraId == "" || taskId == "" { - util.ResponseFormat(c,code.RequestParamError,"鍙傛暟鏈夎") - return - } - var api dbapi.CameraTaskApi - if b,data := api.AddTask(cameraId, taskId);b { - util.ResponseFormat(c,code.AddSuccess, data) - } else { - if data.(string) == "姝ゅ浗鏍囨憚鍍忔満宸插湪鍏跺畠鏈嶅姟鍣ㄩ厤缃换鍔★紒" { - util.ResponseFormat(c,code.AddTaskErr, data) - } else { - util.ResponseFormat(c,code.ComError, data) - } - } -} - -// @Security ApiKeyAuth -// @Summary 鏌ヨ鎵�鏈変换鍔� -// @Description "鏌ヨ鎵�鏈変换鍔�" -// @Produce json -// @Tags CameraTask -// @Param cameraId 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/task/{cameraId} [get] -func (ctc CameraTaskController) CameraTaskAll(c *gin.Context) { - cameraId := c.Param("cameraId") - if cameraId == "" { - util.ResponseFormat(c,code.RequestParamError,"鎽勫儚鏈篿d涓嶈兘涓虹┖") - return - } - var api dbapi.CameraTaskApi - flag,data := api.CameraTaskAll(cameraId) - if flag { - util.ResponseFormat(c,code.Success,data) - } else { - util.ResponseFormat(c,code.ComError,data) - } -} - -// @Security ApiKeyAuth -// @Summary 鎽勫儚鏈轰繚瀛樹换鍔� -// @Description 鎽勫儚鏈轰繚瀛樹换鍔� -// @Accept json -// @Produce json -// @Tags camera -// @Param args body controllers.CameraTaskSaveArg true "鎽勫儚鏈轰换鍔′繚瀛樿姹傚弬鏁�" -// @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/saveTask [post] -func (cc CameraController) CameraTaskSave(c *gin.Context) { - var saveBody CameraTaskSaveArg - err := c.BindJSON(&saveBody) - if err != nil { - util.ResponseFormat(c, code.RequestParamError, "鍙傛暟鏈夎") - return - } - var api dbapi.CameraTaskApi - paramBody := util.Struct2Map(saveBody) - fmt.Println("paramBody:",paramBody) - flag, data := api.CameraTaskSave(paramBody) - fmt.Println("data",data) - if flag { - util.ResponseFormat(c,code.Success,data) - } else { - util.ResponseFormat(c, code.ComError, data) - } -} - -type PasteRuleArg struct { - SourceId string `json:"sourceId" binding:"required"` - TargetIds []string `json:"targetIds" binging:"required"` -} - -// @Summary 澶嶅埗鎽勫儚鏈鸿鍒欏埌閫夊畾鐨勫涓憚鍍忔満 -// @Description 澶嶅埗鎽勫儚鏈鸿鍒欏埌閫夊畾鐨勫涓憚鍍忔満 -// @Accept json -// @Produce json -// @Tags CameraTask -// @Param args body controllers.PasteRuleArg true "瑙勫垯澶嶅埗鍙傛暟" -// @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/pasteRules [post] -func (ctc CameraTaskController) PasteRules(c *gin.Context) { - var reqBody PasteRuleArg - err := c.BindJSON(&reqBody) - if err != nil { - util.ResponseFormat(c, code.RequestParamError, "") - return - } - var api dbapi.CameraTaskApi - if api.PasteRules(reqBody.SourceId, reqBody.TargetIds) { - util.ResponseFormat(c,code.Success,"") - } else { - util.ResponseFormat(c,code.ComError,"") - } -} - -// @Security ApiKeyAuth -// @Summary 鍒犻櫎鎽勫儚鏈虹殑浠诲姟 -// @Description 鍒犻櫎鎽勫儚鏈虹殑浠诲姟 -// @Produce json -// @Tags camera -// @Param cameraId path string true "鎽勫儚鏈篿d" -// @Param taskId 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/delTask/{cameraId}/{taskId} [delete] -func (cc CameraController) CameraDelTask(c *gin.Context) { - cameraId := c.Param("cameraId") - taskId := c.Param("taskId") - if cameraId == "" || taskId == "" { - util.ResponseFormat(c,code.RequestParamError,"鍙傛暟鏈夎") - return - } - var api dbapi.CameraTaskApi - flag,data := api.DeleteCameraTask(cameraId,taskId) - - if flag { - util.ResponseFormat(c, code.Success, data) - } else { - util.ResponseFormat(c, code.ComError, data) - } -} - -type DataTransVo struct { - CameraIds []string `json:"camera_ids"` - TaskId string `json:"task_id"` - IsDataTrans int `json:"is_data_trans"` -} -type GroupAlarmLevelVo struct { - GroupId string `json:"group_id"` - AlarmLevel int `json:"alarm_level"` -} - -// @Security ApiKeyAuth -// @Summary 淇濆瓨浠诲姟鏄惁涓嬩紶鏁版嵁 -// @Description 淇濆瓨浠诲姟鏄惁涓嬩紶鏁版嵁 -// @Accept json -// @Produce json -// @Tags CameraTask -// @Param TransAndAlarmLevel body controllers.DataTransVo true "璇锋眰鍙傛暟缁撴瀯" -// @Success 200 {string} json "{"code":200, success:true, msg:"", data:""}" -// @Failure 500 {string} json "{"code":500, success:false, msg:"", data:""}" -// @Router /data/api-v/cameraTask/saveIsDataTrans [post] -func (ctc CameraTaskController) SaveIsDataTrans(c *gin.Context) { - var transVo DataTransVo - if err := c.BindJSON(&transVo);err!=nil { - util.ResponseFormat(c,code.RequestParamError,"鍙傛暟鏈夎") - return - } - var api dbapi.CameraTaskApi - paramBody := util.Struct2Map(transVo) - - flag ,data := api.SaveIsDataTrans(paramBody) - if flag { - util.ResponseFormat(c,code.Success,data) - } else { - util.ResponseFormat(c,code.ComError,data) - } -} - -// @Security ApiKeyAuth -// @Summary 淇濆瓨瑙勫垯缁勬姤璀︾瓑绾� -// @Description 淇濆瓨瑙勫垯缁勬姤璀︾瓑绾� -// @Accept json -// @Produce json -// @Tags CameraTask -// @Param GroupLevel body controllers.GroupAlarmLevelVo true "alarmLevel" -// @Success 200 {string} json "{"code":200, success:true, msg:"", data:""}" -// @Failure 500 {string} json "{"code":500, success:false, msg:"", data:""}" -// @Router /data/api-v/cameraTask/saveAlarmLevelByGroup [post] -func (ctc CameraTaskController) SaveAlarmLevelByGroup(c *gin.Context) { - var groupLevelVo GroupAlarmLevelVo - if err := c.BindJSON(&groupLevelVo);err !=nil { - util.ResponseFormat(c,code.RequestParamError,"鍙傛暟鏈夎") - return - } - - var api dbapi.CameraTaskApi - flag,data := api.SaveAlarmLevelByGroup(groupLevelVo.GroupId,groupLevelVo.AlarmLevel) - if flag { - util.ResponseFormat(c,code.Success,data) - } else { - util.ResponseFormat(c,code.ComError,data) - } -} - -type CameraTaskStatusVo struct { - CameraId string `json:"cameraId"` - TaskId string `json:"taskId"` - Status int `json:"status"` -} - -// @Security ApiKeyAuth -// @Summary 鏇存柊浠诲姟鐘舵�� -// @Description 鏇存柊浠诲姟鐘舵�� -// @Accept json -// @Produce json -// @Tags CameraTask -// @Param CameraTaskStatus body controllers.CameraTaskStatusVo true "鍙傛暟缁撴瀯浣�" -// @Success 200 {string} json "{"code":200, success:true, msg:"", data:""}" -// @Failure 500 {string} json "{"code":500, success:false, msg:"", data:""}" -// @Router /data/api-v/cameraTask/updateCameraTaskStatus [post] -func (ctc CameraTaskController) UpdateCameraTaskStatus(c *gin.Context) { - var paramVo CameraTaskStatusVo - if err := c.BindJSON(¶mVo);err !=nil { - util.ResponseFormat(c,code.RequestParamError,"鍙傛暟鏈夎") - return - } - var api dbapi.CameraTaskApi - flag, data := api.UpdateCameraTaskStatus(paramVo.CameraId, paramVo.TaskId, paramVo.Status) - if flag { - if data.(string) == "姝や换鍔′负鍋滅敤鐘舵�侊紝璇峰湪浠诲姟绠$悊涓紑鍚紒"{ - util.ResponseFormat(c,code.TaskStoped,data) - } else { - util.ResponseFormat(c,code.UpdateSuccess,data) - } - } else { - util.ResponseFormat(c,code.ComError,data) - } -} \ No newline at end of file +// +//import ( +// "basic.com/dbapi.git" +// "basic.com/pubsub/esutil.git" +// "encoding/json" +// "fmt" +// "github.com/gin-gonic/gin" +// "strconv" +// "webserver/cache" +// "webserver/extend/code" +// "webserver/extend/config" +// "webserver/extend/util" +// "webserver/models" +//) +// +//type CameraTaskController struct { +// +//} +// +////鐢ㄤ簬鎺ユ敹澶氫釜鎽勫儚鏈虹殑id锛屼互閫楀彿闅斿紑 +//type MultiCamera struct { +// CameraIds []string `json:"cameraIds"` +//} +// +//type CameraTaskVo struct { +// Id string `json:"id"` +// CameraId string `json:"camera_id"` +// TaskId string `json:"task_id"` //浠诲姟id 鏉ヨ嚜浜庝换鍔¤〃 +// TimeRule string `json:"time_rule"` +// ReactRule string `json:"react_rule"` +// ReactDevice string `json:"react_device"` +// DelFlag bool `json:"del_flag"` +// UpdateFlag bool `json:"update_flag"` +// Enable int `json:"enable"` //榛樿鍚敤 +// Sort int `json:"sort"` //浠诲姟鎺掑簭 +// IsFull int `json:"is_full"` //鍙傛暟鏄惁璁剧疆瀹屾暣 +// LinkTaskId string `json:"link_task_id"` //鑱斿姩浠诲姟缁� +//} +// +//type CameraTaskSaveArg struct { +// Id string `json:"id"` +// SetType string `json:"set_type" example:"batchTask:鎵归噺浠诲姟,linkTask:鑱斿姩浠诲姟"`//浠诲姟璁剧疆鏂瑰紡锛堟壒閲忚缃繕鏄仈鍔ㄤ换鍔¤缃級 +// CameraIds []string `json:"camera_ids"` +// TaskId string `json:"task_id"` +// GroupId string `json:"group_id"` +// GroupText string `json:"group_text"` +// GroupRule []CameraTaskArgVo `json:"group_rule"` +//} +// +//type CameraTaskArgGroup struct { +// Id string `json:"id"` +// CameraTaskId string `json:"camera_task_id"` +// GroupId string `json:"group_id"` +// GroupText string `json:"group_text"` +// AlarmLevel int `json:"alarm_level"` +//} +// +//type CameraTaskArgVo struct { +// Id string `json:"id"` +// CameraId string `json:"camera_id"`//鎽勫儚鏈篿d +// PolygonId string `json:"polygon_id"`//澶氳竟褰d +// SdkId string `json:"sdk_id"`//绠楁硶id +// SdkArgAlias string `json:"sdk_arg_alias"`//绠楁硶鍙傛暟鍒悕 +// Operator string `json:"operator"`//璁$畻鏂瑰紡=,>,>=绛夌瓑 +// OperatorType string `json:"operator_type"`//璁$畻鐨勫�肩被鍨� +// SdkArgValue string `json:"sdk_arg_value"` //绠楁硶鍙傛暟鍊艰缃� +// RuleWithPre string `json:"rule_with_pre"` //涓庝笅涓�鏉$殑閫昏緫杩愮畻绗� +// GroupId string `json:"group_id"` +//} +// +//type LinkCameraTasksVo struct { +// +//} +// +//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 x-www-form-urlencoded +//// @Produce json +//// @Tags CameraTask +//// @Param cameraId formData string true "鎽勫儚鏈篿d" +//// @Param taskId formData 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/cameraTask/addTask [post] +//func (ctc CameraTaskController) AddTask(c *gin.Context) { +// cameraId := c.PostForm("cameraId") +// taskId := c.PostForm("taskId") +// if cameraId == "" || taskId == "" { +// util.ResponseFormat(c,code.RequestParamError,"鍙傛暟鏈夎") +// return +// } +// var api dbapi.CameraTaskApi +// if b,data := api.AddTask(cameraId, taskId);b { +// util.ResponseFormat(c,code.AddSuccess, data) +// } else { +// if data.(string) == "姝ゅ浗鏍囨憚鍍忔満宸插湪鍏跺畠鏈嶅姟鍣ㄩ厤缃换鍔★紒" { +// util.ResponseFormat(c,code.AddTaskErr, data) +// } else { +// util.ResponseFormat(c,code.ComError, data) +// } +// } +//} +// +//// @Security ApiKeyAuth +//// @Summary 鏌ヨ鎵�鏈変换鍔� +//// @Description "鏌ヨ鎵�鏈変换鍔�" +//// @Produce json +//// @Tags CameraTask +//// @Param cameraId 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/task/{cameraId} [get] +//func (ctc CameraTaskController) CameraTaskAll(c *gin.Context) { +// cameraId := c.Param("cameraId") +// if cameraId == "" { +// util.ResponseFormat(c,code.RequestParamError,"鎽勫儚鏈篿d涓嶈兘涓虹┖") +// return +// } +// var api dbapi.CameraTaskApi +// flag,data := api.CameraTaskAll(cameraId) +// if flag { +// util.ResponseFormat(c,code.Success,data) +// } else { +// util.ResponseFormat(c,code.ComError,data) +// } +//} +// +//// @Security ApiKeyAuth +//// @Summary 鎽勫儚鏈轰繚瀛樹换鍔� +//// @Description 鎽勫儚鏈轰繚瀛樹换鍔� +//// @Accept json +//// @Produce json +//// @Tags camera +//// @Param args body controllers.CameraTaskSaveArg true "鎽勫儚鏈轰换鍔′繚瀛樿姹傚弬鏁�" +//// @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/saveTask [post] +//func (cc CameraController) CameraTaskSave(c *gin.Context) { +// var saveBody CameraTaskSaveArg +// err := c.BindJSON(&saveBody) +// if err != nil { +// util.ResponseFormat(c, code.RequestParamError, "鍙傛暟鏈夎") +// return +// } +// var api dbapi.CameraTaskApi +// paramBody := util.Struct2Map(saveBody) +// fmt.Println("paramBody:",paramBody) +// flag, data := api.CameraTaskSave(paramBody) +// fmt.Println("data",data) +// if flag { +// util.ResponseFormat(c,code.Success,data) +// } else { +// util.ResponseFormat(c, code.ComError, data) +// } +//} +// +//type PasteRuleArg struct { +// SourceId string `json:"sourceId" binding:"required"` +// TargetIds []string `json:"targetIds" binging:"required"` +//} +// +//// @Summary 澶嶅埗鎽勫儚鏈鸿鍒欏埌閫夊畾鐨勫涓憚鍍忔満 +//// @Description 澶嶅埗鎽勫儚鏈鸿鍒欏埌閫夊畾鐨勫涓憚鍍忔満 +//// @Accept json +//// @Produce json +//// @Tags CameraTask +//// @Param args body controllers.PasteRuleArg true "瑙勫垯澶嶅埗鍙傛暟" +//// @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/pasteRules [post] +//func (ctc CameraTaskController) PasteRules(c *gin.Context) { +// var reqBody PasteRuleArg +// err := c.BindJSON(&reqBody) +// if err != nil { +// util.ResponseFormat(c, code.RequestParamError, "") +// return +// } +// var api dbapi.CameraTaskApi +// if api.PasteRules(reqBody.SourceId, reqBody.TargetIds) { +// util.ResponseFormat(c,code.Success,"") +// } else { +// util.ResponseFormat(c,code.ComError,"") +// } +//} +// +//// @Security ApiKeyAuth +//// @Summary 鍒犻櫎鎽勫儚鏈虹殑浠诲姟 +//// @Description 鍒犻櫎鎽勫儚鏈虹殑浠诲姟 +//// @Produce json +//// @Tags camera +//// @Param cameraId path string true "鎽勫儚鏈篿d" +//// @Param taskId 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/delTask/{cameraId}/{taskId} [delete] +//func (cc CameraController) CameraDelTask(c *gin.Context) { +// cameraId := c.Param("cameraId") +// taskId := c.Param("taskId") +// if cameraId == "" || taskId == "" { +// util.ResponseFormat(c,code.RequestParamError,"鍙傛暟鏈夎") +// return +// } +// var api dbapi.CameraTaskApi +// flag,data := api.DeleteCameraTask(cameraId,taskId) +// +// if flag { +// util.ResponseFormat(c, code.Success, data) +// } else { +// util.ResponseFormat(c, code.ComError, data) +// } +//} +// +//type DataTransVo struct { +// CameraIds []string `json:"camera_ids"` +// TaskId string `json:"task_id"` +// IsDataTrans int `json:"is_data_trans"` +//} +//type GroupAlarmLevelVo struct { +// GroupId string `json:"group_id"` +// AlarmLevel int `json:"alarm_level"` +//} +// +//// @Security ApiKeyAuth +//// @Summary 淇濆瓨浠诲姟鏄惁涓嬩紶鏁版嵁 +//// @Description 淇濆瓨浠诲姟鏄惁涓嬩紶鏁版嵁 +//// @Accept json +//// @Produce json +//// @Tags CameraTask +//// @Param TransAndAlarmLevel body controllers.DataTransVo true "璇锋眰鍙傛暟缁撴瀯" +//// @Success 200 {string} json "{"code":200, success:true, msg:"", data:""}" +//// @Failure 500 {string} json "{"code":500, success:false, msg:"", data:""}" +//// @Router /data/api-v/cameraTask/saveIsDataTrans [post] +//func (ctc CameraTaskController) SaveIsDataTrans(c *gin.Context) { +// var transVo DataTransVo +// if err := c.BindJSON(&transVo);err!=nil { +// util.ResponseFormat(c,code.RequestParamError,"鍙傛暟鏈夎") +// return +// } +// var api dbapi.CameraTaskApi +// paramBody := util.Struct2Map(transVo) +// +// flag ,data := api.SaveIsDataTrans(paramBody) +// if flag { +// util.ResponseFormat(c,code.Success,data) +// } else { +// util.ResponseFormat(c,code.ComError,data) +// } +//} +// +//// @Security ApiKeyAuth +//// @Summary 淇濆瓨瑙勫垯缁勬姤璀︾瓑绾� +//// @Description 淇濆瓨瑙勫垯缁勬姤璀︾瓑绾� +//// @Accept json +//// @Produce json +//// @Tags CameraTask +//// @Param GroupLevel body controllers.GroupAlarmLevelVo true "alarmLevel" +//// @Success 200 {string} json "{"code":200, success:true, msg:"", data:""}" +//// @Failure 500 {string} json "{"code":500, success:false, msg:"", data:""}" +//// @Router /data/api-v/cameraTask/saveAlarmLevelByGroup [post] +//func (ctc CameraTaskController) SaveAlarmLevelByGroup(c *gin.Context) { +// var groupLevelVo GroupAlarmLevelVo +// if err := c.BindJSON(&groupLevelVo);err !=nil { +// util.ResponseFormat(c,code.RequestParamError,"鍙傛暟鏈夎") +// return +// } +// +// var api dbapi.CameraTaskApi +// flag,data := api.SaveAlarmLevelByGroup(groupLevelVo.GroupId,groupLevelVo.AlarmLevel) +// if flag { +// util.ResponseFormat(c,code.Success,data) +// } else { +// util.ResponseFormat(c,code.ComError,data) +// } +//} +// +//type CameraTaskStatusVo struct { +// CameraId string `json:"cameraId"` +// TaskId string `json:"taskId"` +// Status int `json:"status"` +//} +// +//// @Security ApiKeyAuth +//// @Summary 鏇存柊浠诲姟鐘舵�� +//// @Description 鏇存柊浠诲姟鐘舵�� +//// @Accept json +//// @Produce json +//// @Tags CameraTask +//// @Param CameraTaskStatus body controllers.CameraTaskStatusVo true "鍙傛暟缁撴瀯浣�" +//// @Success 200 {string} json "{"code":200, success:true, msg:"", data:""}" +//// @Failure 500 {string} json "{"code":500, success:false, msg:"", data:""}" +//// @Router /data/api-v/cameraTask/updateCameraTaskStatus [post] +//func (ctc CameraTaskController) UpdateCameraTaskStatus(c *gin.Context) { +// var paramVo CameraTaskStatusVo +// if err := c.BindJSON(¶mVo);err !=nil { +// util.ResponseFormat(c,code.RequestParamError,"鍙傛暟鏈夎") +// return +// } +// var api dbapi.CameraTaskApi +// flag, data := api.UpdateCameraTaskStatus(paramVo.CameraId, paramVo.TaskId, paramVo.Status) +// if flag { +// if data.(string) == "姝や换鍔′负鍋滅敤鐘舵�侊紝璇峰湪浠诲姟绠$悊涓紑鍚紒"{ +// util.ResponseFormat(c,code.TaskStoped,data) +// } else { +// util.ResponseFormat(c,code.UpdateSuccess,data) +// } +// } else { +// util.ResponseFormat(c,code.ComError,data) +// } +//} \ No newline at end of file diff --git a/controllers/cameraTaskArgs.go b/controllers/cameraTaskArgs.go index 325d59f..56fc57c 100644 --- a/controllers/cameraTaskArgs.go +++ b/controllers/cameraTaskArgs.go @@ -1,208 +1,208 @@ package controllers -import ( - "basic.com/dbapi.git" - "basic.com/valib/logger.git" - "github.com/gin-gonic/gin" - "strconv" - "strings" - "webserver/extend/code" - "webserver/extend/util" -) - -type CameraTaskArgsController struct { - -} - -// @Security ApiKeyAuth -// @Summary 鏍规嵁鎽勫儚鏈篿d鍜屼换鍔d鏌ヨ绠楁硶閰嶇疆璇︽儏 -// @Description 鏍规嵁鎽勫儚鏈篿d鍜屼换鍔d鏌ヨ绠楁硶閰嶇疆璇︽儏 -// @Produce json -// @Tags CameraTaskArgs -// @Param cameraId query string true "鎽勫儚鏈篿d" -// @Param taskId query string true "浠诲姟id" -// @Param set_type query string true "浠诲姟绫诲瀷" -// @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/getRulesByCameraAndTask [get] -func (controller CameraTaskArgsController) FindByCameraAndTask(c *gin.Context) { - cameraId := c.Query("cameraId") - taskId := c.Query("taskId") - setType := c.Query("set_type") - if cameraId == "" || taskId == "" || setType == "" { - util.ResponseFormat(c,code.RequestParamError,"鎽勫儚鏈篿d鍜屼换鍔d涓嶈兘涓虹┖") - return - } - var api dbapi.CameraTaskArgsApi - flag,data := api.FindByCameraAndTask(cameraId,taskId,setType) - - if flag { - util.ResponseFormat(c, code.Success, data) - } else { - util.ResponseFormat(c, code.ComError, data) - } -} - -// @Security ApiKeyAuth -// @Summary 鏍规嵁澶氫釜鎽勫儚鏈篿d鏌ヨ鑱斿姩浠诲姟瑙勫垯璁剧疆 -// @Description 鏍规嵁澶氫釜鎽勫儚鏈篿d鏌ヨ鑱斿姩浠诲姟瑙勫垯璁剧疆 -// @Accept json -// @Produce json -// @Tags CameraTaskArgs -// @Param cameraIds body controllers.MultiCamera true "鎽勫儚鏈篿ds" -// @Success 200 {string} json "{"code":200, success:true, msg:"", data:""}" -// @Failure 500 {string} json "{"code":500, success:false, msg:"",data:""}" -// @Router /data/api-v/cameraTaskArgs/getLinkRulesByCameraIds [post] -func (controller CameraTaskArgsController) GetLinkRulesByCameraIds(c *gin.Context) { - var cameraIdsVo MultiCamera - if err := c.BindJSON(&cameraIdsVo);err !=nil { - util.ResponseFormat(c,code.RequestParamError,"鍙傛暟鏈夎") - return - } - var api dbapi.CameraTaskArgsApi - paramBody := util.Struct2Map(cameraIdsVo) - flag,data := api.GetLinkRulesByCameraIds(paramBody) - if flag { - util.ResponseFormat(c,code.Success,data) - } else { - util.ResponseFormat(c,code.ComError,data) - } -} - -// @Security ApiKeyAuth -// @Summary 鏍规嵁鍒嗙粍id鍒囨崲甯冮槻鎴栨挙闃� -// @Description 鏍规嵁鍒嗙粍id鍒囨崲甯冮槻鎴栨挙闃� -// @Accept x-www-form-urlencoded -// @Produce json -// @Tags CameraTaskArgs -// @Param groupId formData string true "浠诲姟绠楁硶鍙傛暟鍒嗙粍id" -// @Param defenceState formData bool true "甯冮槻鐘舵��,false:鎾ら槻锛宼rue锛氬竷闃�" -// @Success 200 {string} json "{"code":200, success:true, msg:"", data:""}" -// @Failure 500 {string} json "{"code":500, success:false, msg:"",data:""}" -// @Router /data/api-v/cameraTaskArgs/updateDefenceStateByGroup [post] -func (controller CameraTaskArgsController) UpdateDefenceStateByGroup(c *gin.Context){ - groupId := c.PostForm("groupId") - str := c.PostForm("defenceState") - logger.Debug("defenceState:",str) - defenceState, err := strconv.ParseBool(str) - if groupId =="" || err !=nil{ - util.ResponseFormat(c, code.RequestParamError, "鍙傛暟鏈夎") - return - } - var api dbapi.CameraTaskArgsApi - if b,data := api.UpdateDefenceStateByGroup(groupId,defenceState);b{ - util.ResponseFormat(c,code.UpdateSuccess,data) - } else { - util.ResponseFormat(c,code.ComError,data) - } -} - -// @Security ApiKeyAuth -// @SUmmary 鏍规嵁鍒嗙粍id鍒犻櫎鎽勫儚鏈虹畻娉曡鍒� -// @Description 鏍规嵁鍒嗙粍id鍒犻櫎鎽勫儚鏈虹畻娉曡鍒� -// @Produce json -// @Tags CameraTaskArgs -// @Param groupId query 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/cameraTaskArgs/deleteByGroup [get] -func (controller CameraTaskArgsController)DeleteByGroup(c *gin.Context) { - groupId := c.Query("groupId") - if groupId == "" { - util.ResponseFormat(c, code.RequestParamError, "id蹇呭~") - return - } - var api dbapi.CameraTaskArgsApi - flag,data := api.DeleteByGroup(groupId) - if flag { - util.ResponseFormat(c,code.Success,data) - } else { - util.ResponseFormat(c,code.ComError,"鍒犻櫎澶辫触") - } - -} - -type SaveLinkRulesGroupVo struct { - LinkTaskId string `json:"link_task_id"`//鑱斿姩浠诲姟id - GroupId string `json:"group_id"`//鍒嗙粍id - GroupText string `json:"group_text"`//缁勮鍒欐枃瀛� - Rules []LinkRuleArgVo `json:"rules"`//缁勫唴鐨勮鍒� -} - -type LinkRuleArgVo struct { - TaskId string `json:"task_id"` - CameraTaskArgs -} - -type CameraTaskArgs struct { - Id string `json:"id"` - CameraTaskId string `json:"camera_task_id"`//camera_tasks琛ㄧ殑涓婚敭锛屾憚鍍忔満鍜屼换鍔″叧鑱攊d鎴栬�呰仈鍔ㄤ换鍔d - CameraId string `json:"camera_id"`//鎽勫儚鏈篿d - PolygonId string `json:"polygon_id"`//澶氳竟褰d - SdkId string `json:"sdk_id"`//绠楁硶id - SdkArgAlias string `json:"sdk_arg_alias"`//绠楁硶鍙傛暟鍒悕 - Operator string `json:"operator"`//璁$畻鏂瑰紡=,>,>=绛夌瓑 - OperatorType string `json:"operator_type"`//璁$畻鐨勫�肩被鍨� - SdkArgValue string `json:"sdk_arg_value"` //绠楁硶鍙傛暟鍊艰缃� - Sort int `json:"sort"`//鎺掑簭 - RuleWithPre string `json:"rule_with_pre"`//涓庝笂涓�鏉¤褰曠殑閫昏緫杩愮畻瑙勫垯锛�&&,||锛� - GroupId string `json:"group_id"`//鍒嗙粍id -} - -// @Security ApiKeyAuth -// @Summary 淇濆瓨鑱斿姩浠诲姟瑙勫垯鍙傛暟 -// @Description 淇濆瓨鑱斿姩浠诲姟瑙勫垯鍙傛暟 -// @Accept json -// @Produce json -// @Param saveBody body controllers.SaveLinkRulesGroupVo true "鑱斿姩浠诲姟瑙勫垯淇濆瓨鍙傛暟" -// @Success 200 {string} json "{"code":200, success:true, msg:"", data:""}" -// @Failure 500 {string} json "{"code":500, success:false, msg:"",data:""}" -// @Router /data/api-v/cameraTaskArgs/saveLinkRulesByGroup [post] -func (controller CameraTaskArgsController) SaveLinkRulesByGroup(c *gin.Context) { - var saveBody SaveLinkRulesGroupVo - if err := c.BindJSON(&saveBody);err !=nil { - util.ResponseFormat(c,code.RequestParamError,"鍙傛暟鏈夎") - return - } - var api dbapi.CameraTaskArgsApi - paramBody := util.Struct2Map(saveBody) - flag,data := api.SaveLinkRulesByGroup(paramBody) - if flag { - util.ResponseFormat(c,code.Success,data) - } else { - util.ResponseFormat(c,code.ComError,data) - } -} - -type RuleApply2AllVo struct { - CameraId string `json:"camera_id" binding:"required"`//瑙勫垯鎷ユ湁鑰卛d -} - -// @Summary 灏嗘湰鏉¤鍒欏簲鐢ㄥ埌鎵�鏈夋湰鍦拌棰� -// @Description 灏嗘湰鏉¤鍒欏簲鐢ㄥ埌鎵�鏈夋湰鍦拌棰� -// @Produce json -// @Tags CameraTaskArgs -// @Param args body controllers.RuleApply2AllVo true "瑙勫垯搴旂敤鍒版墍鏈夋湰鍦拌棰戣姹傚弬鏁�" -// @Success 200 {string} json "{"code":200, success:true, msg:"", data:""}" -// @Failure 500 {string} json "{"code":500, success:false, msg:"",data:""}" -// @Router /data/api-v/cameraTaskArgs/ruleApply2All [post] -func (controller CameraTaskArgsController) RuleApply2All(c *gin.Context) { - var saveBody RuleApply2AllVo - err := c.BindJSON(&saveBody) - if err !=nil { - util.ResponseFormat(c, code.RequestParamError, "鍙傛暟鏈夎") - return - } - if !strings.HasPrefix(saveBody.CameraId, File_Video_Id_Pre) && !strings.HasPrefix(saveBody.CameraId, File_Img_Id_Pre) && !!strings.HasPrefix(saveBody.CameraId, File_Audio_Id_Pre) { - util.ResponseFormat(c, code.RequestParamError, "鍙傛暟鏈夎") - return - } - var api dbapi.CameraTaskApi - paramBody := util.Struct2Map(saveBody) - flag, data := api.RuleApply2All(paramBody) - if flag { - util.ResponseFormat(c,code.Success,data) - } else { - util.ResponseFormat(c, code.ComError, data) - } -} \ No newline at end of file +//import ( +// "basic.com/dbapi.git" +// "basic.com/valib/logger.git" +// "github.com/gin-gonic/gin" +// "strconv" +// "strings" +// "webserver/extend/code" +// "webserver/extend/util" +//) +// +//type CameraTaskArgsController struct { +// +//} +// +//// @Security ApiKeyAuth +//// @Summary 鏍规嵁鎽勫儚鏈篿d鍜屼换鍔d鏌ヨ绠楁硶閰嶇疆璇︽儏 +//// @Description 鏍规嵁鎽勫儚鏈篿d鍜屼换鍔d鏌ヨ绠楁硶閰嶇疆璇︽儏 +//// @Produce json +//// @Tags CameraTaskArgs +//// @Param cameraId query string true "鎽勫儚鏈篿d" +//// @Param taskId query string true "浠诲姟id" +//// @Param set_type query string true "浠诲姟绫诲瀷" +//// @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/getRulesByCameraAndTask [get] +//func (controller CameraTaskArgsController) FindByCameraAndTask(c *gin.Context) { +// cameraId := c.Query("cameraId") +// taskId := c.Query("taskId") +// setType := c.Query("set_type") +// if cameraId == "" || taskId == "" || setType == "" { +// util.ResponseFormat(c,code.RequestParamError,"鎽勫儚鏈篿d鍜屼换鍔d涓嶈兘涓虹┖") +// return +// } +// var api dbapi.CameraTaskArgsApi +// flag,data := api.FindByCameraAndTask(cameraId,taskId,setType) +// +// if flag { +// util.ResponseFormat(c, code.Success, data) +// } else { +// util.ResponseFormat(c, code.ComError, data) +// } +//} +// +//// @Security ApiKeyAuth +//// @Summary 鏍规嵁澶氫釜鎽勫儚鏈篿d鏌ヨ鑱斿姩浠诲姟瑙勫垯璁剧疆 +//// @Description 鏍规嵁澶氫釜鎽勫儚鏈篿d鏌ヨ鑱斿姩浠诲姟瑙勫垯璁剧疆 +//// @Accept json +//// @Produce json +//// @Tags CameraTaskArgs +//// @Param cameraIds body controllers.MultiCamera true "鎽勫儚鏈篿ds" +//// @Success 200 {string} json "{"code":200, success:true, msg:"", data:""}" +//// @Failure 500 {string} json "{"code":500, success:false, msg:"",data:""}" +//// @Router /data/api-v/cameraTaskArgs/getLinkRulesByCameraIds [post] +//func (controller CameraTaskArgsController) GetLinkRulesByCameraIds(c *gin.Context) { +// var cameraIdsVo MultiCamera +// if err := c.BindJSON(&cameraIdsVo);err !=nil { +// util.ResponseFormat(c,code.RequestParamError,"鍙傛暟鏈夎") +// return +// } +// var api dbapi.CameraTaskArgsApi +// paramBody := util.Struct2Map(cameraIdsVo) +// flag,data := api.GetLinkRulesByCameraIds(paramBody) +// if flag { +// util.ResponseFormat(c,code.Success,data) +// } else { +// util.ResponseFormat(c,code.ComError,data) +// } +//} +// +//// @Security ApiKeyAuth +//// @Summary 鏍规嵁鍒嗙粍id鍒囨崲甯冮槻鎴栨挙闃� +//// @Description 鏍规嵁鍒嗙粍id鍒囨崲甯冮槻鎴栨挙闃� +//// @Accept x-www-form-urlencoded +//// @Produce json +//// @Tags CameraTaskArgs +//// @Param groupId formData string true "浠诲姟绠楁硶鍙傛暟鍒嗙粍id" +//// @Param defenceState formData bool true "甯冮槻鐘舵��,false:鎾ら槻锛宼rue锛氬竷闃�" +//// @Success 200 {string} json "{"code":200, success:true, msg:"", data:""}" +//// @Failure 500 {string} json "{"code":500, success:false, msg:"",data:""}" +//// @Router /data/api-v/cameraTaskArgs/updateDefenceStateByGroup [post] +//func (controller CameraTaskArgsController) UpdateDefenceStateByGroup(c *gin.Context){ +// groupId := c.PostForm("groupId") +// str := c.PostForm("defenceState") +// logger.Debug("defenceState:",str) +// defenceState, err := strconv.ParseBool(str) +// if groupId =="" || err !=nil{ +// util.ResponseFormat(c, code.RequestParamError, "鍙傛暟鏈夎") +// return +// } +// var api dbapi.CameraTaskArgsApi +// if b,data := api.UpdateDefenceStateByGroup(groupId,defenceState);b{ +// util.ResponseFormat(c,code.UpdateSuccess,data) +// } else { +// util.ResponseFormat(c,code.ComError,data) +// } +//} +// +//// @Security ApiKeyAuth +//// @SUmmary 鏍规嵁鍒嗙粍id鍒犻櫎鎽勫儚鏈虹畻娉曡鍒� +//// @Description 鏍规嵁鍒嗙粍id鍒犻櫎鎽勫儚鏈虹畻娉曡鍒� +//// @Produce json +//// @Tags CameraTaskArgs +//// @Param groupId query 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/cameraTaskArgs/deleteByGroup [get] +//func (controller CameraTaskArgsController)DeleteByGroup(c *gin.Context) { +// groupId := c.Query("groupId") +// if groupId == "" { +// util.ResponseFormat(c, code.RequestParamError, "id蹇呭~") +// return +// } +// var api dbapi.CameraTaskArgsApi +// flag,data := api.DeleteByGroup(groupId) +// if flag { +// util.ResponseFormat(c,code.Success,data) +// } else { +// util.ResponseFormat(c,code.ComError,"鍒犻櫎澶辫触") +// } +// +//} +// +//type SaveLinkRulesGroupVo struct { +// LinkTaskId string `json:"link_task_id"`//鑱斿姩浠诲姟id +// GroupId string `json:"group_id"`//鍒嗙粍id +// GroupText string `json:"group_text"`//缁勮鍒欐枃瀛� +// Rules []LinkRuleArgVo `json:"rules"`//缁勫唴鐨勮鍒� +//} +// +//type LinkRuleArgVo struct { +// TaskId string `json:"task_id"` +// CameraTaskArgs +//} +// +//type CameraTaskArgs struct { +// Id string `json:"id"` +// CameraTaskId string `json:"camera_task_id"`//camera_tasks琛ㄧ殑涓婚敭锛屾憚鍍忔満鍜屼换鍔″叧鑱攊d鎴栬�呰仈鍔ㄤ换鍔d +// CameraId string `json:"camera_id"`//鎽勫儚鏈篿d +// PolygonId string `json:"polygon_id"`//澶氳竟褰d +// SdkId string `json:"sdk_id"`//绠楁硶id +// SdkArgAlias string `json:"sdk_arg_alias"`//绠楁硶鍙傛暟鍒悕 +// Operator string `json:"operator"`//璁$畻鏂瑰紡=,>,>=绛夌瓑 +// OperatorType string `json:"operator_type"`//璁$畻鐨勫�肩被鍨� +// SdkArgValue string `json:"sdk_arg_value"` //绠楁硶鍙傛暟鍊艰缃� +// Sort int `json:"sort"`//鎺掑簭 +// RuleWithPre string `json:"rule_with_pre"`//涓庝笂涓�鏉¤褰曠殑閫昏緫杩愮畻瑙勫垯锛�&&,||锛� +// GroupId string `json:"group_id"`//鍒嗙粍id +//} +// +//// @Security ApiKeyAuth +//// @Summary 淇濆瓨鑱斿姩浠诲姟瑙勫垯鍙傛暟 +//// @Description 淇濆瓨鑱斿姩浠诲姟瑙勫垯鍙傛暟 +//// @Accept json +//// @Produce json +//// @Param saveBody body controllers.SaveLinkRulesGroupVo true "鑱斿姩浠诲姟瑙勫垯淇濆瓨鍙傛暟" +//// @Success 200 {string} json "{"code":200, success:true, msg:"", data:""}" +//// @Failure 500 {string} json "{"code":500, success:false, msg:"",data:""}" +//// @Router /data/api-v/cameraTaskArgs/saveLinkRulesByGroup [post] +//func (controller CameraTaskArgsController) SaveLinkRulesByGroup(c *gin.Context) { +// var saveBody SaveLinkRulesGroupVo +// if err := c.BindJSON(&saveBody);err !=nil { +// util.ResponseFormat(c,code.RequestParamError,"鍙傛暟鏈夎") +// return +// } +// var api dbapi.CameraTaskArgsApi +// paramBody := util.Struct2Map(saveBody) +// flag,data := api.SaveLinkRulesByGroup(paramBody) +// if flag { +// util.ResponseFormat(c,code.Success,data) +// } else { +// util.ResponseFormat(c,code.ComError,data) +// } +//} +// +//type RuleApply2AllVo struct { +// CameraId string `json:"camera_id" binding:"required"`//瑙勫垯鎷ユ湁鑰卛d +//} +// +//// @Summary 灏嗘湰鏉¤鍒欏簲鐢ㄥ埌鎵�鏈夋湰鍦拌棰� +//// @Description 灏嗘湰鏉¤鍒欏簲鐢ㄥ埌鎵�鏈夋湰鍦拌棰� +//// @Produce json +//// @Tags CameraTaskArgs +//// @Param args body controllers.RuleApply2AllVo true "瑙勫垯搴旂敤鍒版墍鏈夋湰鍦拌棰戣姹傚弬鏁�" +//// @Success 200 {string} json "{"code":200, success:true, msg:"", data:""}" +//// @Failure 500 {string} json "{"code":500, success:false, msg:"",data:""}" +//// @Router /data/api-v/cameraTaskArgs/ruleApply2All [post] +//func (controller CameraTaskArgsController) RuleApply2All(c *gin.Context) { +// var saveBody RuleApply2AllVo +// err := c.BindJSON(&saveBody) +// if err !=nil { +// util.ResponseFormat(c, code.RequestParamError, "鍙傛暟鏈夎") +// return +// } +// if !strings.HasPrefix(saveBody.CameraId, File_Video_Id_Pre) && !strings.HasPrefix(saveBody.CameraId, File_Img_Id_Pre) && !!strings.HasPrefix(saveBody.CameraId, File_Audio_Id_Pre) { +// util.ResponseFormat(c, code.RequestParamError, "鍙傛暟鏈夎") +// return +// } +// var api dbapi.CameraTaskApi +// paramBody := util.Struct2Map(saveBody) +// flag, data := api.RuleApply2All(paramBody) +// if flag { +// util.ResponseFormat(c,code.Success,data) +// } else { +// util.ResponseFormat(c, code.ComError, data) +// } +//} \ No newline at end of file diff --git a/controllers/ruleTemplate.go b/controllers/ruleTemplate.go new file mode 100644 index 0000000..293aa12 --- /dev/null +++ b/controllers/ruleTemplate.go @@ -0,0 +1,120 @@ +package controllers + +import ( + "basic.com/dbapi.git" + "basic.com/pubsub/protomsg.git" + "bytes" + "encoding/json" + "github.com/gin-gonic/gin" + "github.com/gogo/protobuf/jsonpb" + "webserver/extend/code" + "webserver/extend/util" +) + +type RuleTemplateController struct { + +} + +var jsonpbMarshaler = &jsonpb.Marshaler{ + EnumsAsInts: true, + EmitDefaults: true, + OrigName: true, +} + +// @Summary 淇濆瓨鍦烘櫙妯℃澘 +// @Description 淇濆瓨鍦烘櫙妯℃澘 +// @Accept json +// @Produce json +// @Tags 鍦烘櫙妯℃澘 +// @Param reqBody body models.RuleTemplate true "妯℃澘淇濆瓨鍙傛暟" +// @Success 200 {string} json "{"code":200, success:true, msg:"", data:""}" +// @Failure 500 {string} json "{"code":500, success:false, msg:"",data:""}" +// @Router /data/api-v/template/rule/save [post] +func (rtc RuleTemplateController) Save(c *gin.Context) { + var reqBody map[string]interface{} + c.BindJSON(&reqBody) + var api dbapi.RuleTemplateApi + if api.Save(reqBody) { + util.ResponseFormat(c, code.Success, "淇濆瓨鎴愬姛") + } else { + util.ResponseFormat(c, code.ComError, "淇濆瓨澶辫触") + } +} + +// @Summary 缂栬緫 +// @Description 缂栬緫 +// @Accept json +// @Produce json +// @Tags 鍦烘櫙妯℃澘 +// @Param id 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/template/rule/{id} [get] +func (rtc RuleTemplateController) Show(c *gin.Context) { + id := c.Param("id") + if id == "" { + util.ResponseFormat(c,code.RequestParamError, "鍙傛暟鏈夎") + return + } + var api dbapi.RuleTemplateApi + b, d := api.Show(id) + if b { + util.ResponseFormat(c,code.Success, d) + } else { + util.ResponseFormat(c,code.ComError, "") + } +} + +// @Summary 鏍规嵁id鍒犻櫎鍦烘櫙妯℃澘 +// @Description 鏍规嵁id鍒犻櫎鍦烘櫙妯℃澘 +// @Accept json +// @Produce json +// @Tags 鍦烘櫙妯℃澘 +// @Param id 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/template/rule/{id} [delete] +func (rtc RuleTemplateController) Delete(c *gin.Context) { + id := c.Param("id") + if id == "" { + util.ResponseFormat(c,code.RequestParamError, "鍙傛暟鏈夎") + return + } + var api dbapi.RuleTemplateApi + if api.Delete(id) { + util.ResponseFormat(c,code.Success, "鍒犻櫎鎴愬姛") + } else { + util.ResponseFormat(c,code.ComError, "") + } +} + +// @Summary 鏌ユ壘鎵�鏈夊満鏅ā鏉� +// @Description 鏌ユ壘鎵�鏈夊満鏅ā鏉� +// @Accept json +// @Produce json +// @Tags 鍦烘櫙妯℃澘 +// @Success 200 {string} json "{"code":200, success:true, msg:"", data:""}" +// @Failure 500 {string} json "{"code":500, success:false, msg:"",data:""}" +// @Router /data/api-v/template/rule [get] +func (rtc RuleTemplateController) FindAll(c *gin.Context) { + var api dbapi.RuleTemplateApi + b, templates := api.FindAll() + if b { + var result protomsg.RuleTemplateList + for _,r := range templates { + result.List = append(result.List, &r) + } + + var _buffer bytes.Buffer + err := jsonpbMarshaler.Marshal(&_buffer, &result) + if err == nil { + jsonB := _buffer.Bytes() + var m map[string]interface{} + json.Unmarshal(jsonB, &m) + util.ResponseFormat(c,code.Success, m) + return + } + } else { + util.ResponseFormat(c, code.ComError, "") + } +} \ No newline at end of file diff --git a/controllers/task.go b/controllers/task.go index 8c2e205..b66a0f1 100644 --- a/controllers/task.go +++ b/controllers/task.go @@ -1,16 +1,8 @@ package controllers import ( - "basic.com/dbapi.git" - "basic.com/pubsub/esutil.git" - "basic.com/pubsub/protomsg.git" - "encoding/json" - "strconv" - "time" - "webserver/cache" - "webserver/extend/config" - "github.com/gin-gonic/gin" + "time" "webserver/extend/code" "webserver/extend/util" ) @@ -38,37 +30,37 @@ FaceExtract_VirtualSdkId = "virtual-faceextract-sdk-pull"//缁撴灉杈撳嚭鐨勭畻娉昳d ) -// @Security ApiKeyAuth -// @Summary 鏌ユ壘鎵�鏈変换鍔★紝鍖呭惈浠诲姟淇℃伅鍜屽搴旂殑绠楁硶淇℃伅 -// @Description 鏌ユ壘鎵�鏈変换鍔� -// @Produce json -// @Tags task -// @Success 200 {string} json "{"code":200, msg:"璇锋眰澶勭悊鎴愬姛",data:"",success:true}" -// @Failure 500 {string} json "{"code":500, msg:"璇锋眰澶辫触",data:"",success:false}" -// @Router /data/api-v/task/findAll [GET] -func (tc TaskController) FindAll(c *gin.Context) { - // 鏄剧ず鎵�鏈変换鍔�: 鑾峰彇淇℃伅 - var taskApi dbapi.TaskApi - - taskInfos := taskApi.FindAll() - var arr []protomsg.TaskSdkInfo - for _,ti :=range taskInfos{ - if ti.Task.Taskid != FaceExtract_VirtualTaskId{ - arr = append(arr,ti) - } - } - var tasks []TaskSdkVo - dataBytes, err := json.Marshal(arr) - if err !=nil { - util.ResponseFormat(c,code.ComError,[]TaskSdkVo{}) - } else { - if err := json.Unmarshal(dataBytes, &tasks);err !=nil { - util.ResponseFormat(c,code.ComError,[]TaskSdkVo{}) - } else { - util.ResponseFormat(c,code.Success,tasks) - } - } -} +//// @Security ApiKeyAuth +//// @Summary 鏌ユ壘鎵�鏈変换鍔★紝鍖呭惈浠诲姟淇℃伅鍜屽搴旂殑绠楁硶淇℃伅 +//// @Description 鏌ユ壘鎵�鏈変换鍔� +//// @Produce json +//// @Tags task +//// @Success 200 {string} json "{"code":200, msg:"璇锋眰澶勭悊鎴愬姛",data:"",success:true}" +//// @Failure 500 {string} json "{"code":500, msg:"璇锋眰澶辫触",data:"",success:false}" +//// @Router /data/api-v/task/findAll [GET] +//func (tc TaskController) FindAll(c *gin.Context) { +// // 鏄剧ず鎵�鏈変换鍔�: 鑾峰彇淇℃伅 +// var taskApi dbapi.TaskApi +// +// taskInfos := taskApi.FindAll() +// var arr []protomsg.TaskSdkInfo +// for _,ti :=range taskInfos{ +// if ti.Task.Taskid != FaceExtract_VirtualTaskId{ +// arr = append(arr,ti) +// } +// } +// var tasks []TaskSdkVo +// dataBytes, err := json.Marshal(arr) +// if err !=nil { +// util.ResponseFormat(c,code.ComError,[]TaskSdkVo{}) +// } else { +// if err := json.Unmarshal(dataBytes, &tasks);err !=nil { +// util.ResponseFormat(c,code.ComError,[]TaskSdkVo{}) +// } else { +// util.ResponseFormat(c,code.Success,tasks) +// } +// } +//} // @Security ApiKeyAuth // @Summary 妫�绱㈤〉闈㈣幏鍙栨墍鏈変换鍔″垪琛紙鍖呭惈宸插垹闄ょ殑浠诲姟锛� @@ -80,333 +72,334 @@ // @Router /data/api-v/task/aggregateTaskList [GET] func (tc TaskController) AggregateTaskList(c *gin.Context) { // 鏄剧ず鎵�鏈変换鍔�: 鑾峰彇淇℃伅 - var taskApi dbapi.TaskApi - - taskInfos := taskApi.FindAll() - m := make(map[string]string) - var arr []protomsg.TaskSdkInfo - for _,ti :=range taskInfos{ - if ti.Task.Taskid != FaceExtract_VirtualTaskId{ - arr = append(arr,ti) - m[ti.Task.Taskid] = ti.Task.Taskid - } - } - var tasks []TaskSdkVo - dataBytes, err := json.Marshal(arr) - if err !=nil { - util.ResponseFormat(c,code.ComError,[]TaskSdkVo{}) - } else { - if err := json.Unmarshal(dataBytes, &tasks);err !=nil { - util.ResponseFormat(c,code.ComError,[]TaskSdkVo{}) - } else { - //澶勭悊宸茶鍒犻櫎鐨勪换鍔� - 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 - tasks = append(tasks, TaskSdkVo{ - Task:TaskVo{ - Taskid: taskId, - Taskname: tM["taskName"].(string), - DelFlag: true, - }, - Sdks:[]SdkVo{}, - }) - } - } - } - } - - util.ResponseFormat(c,code.Success,tasks) - } - } + //var taskApi dbapi.TaskApi + // + //taskInfos := taskApi.FindAll() + //m := make(map[string]string) + //var arr []protomsg.TaskSdkInfo + //for _,ti :=range taskInfos{ + // if ti.Task.Taskid != FaceExtract_VirtualTaskId{ + // arr = append(arr,ti) + // m[ti.Task.Taskid] = ti.Task.Taskid + // } + //} + //var tasks []TaskSdkVo + //dataBytes, err := json.Marshal(arr) + //if err !=nil { + // util.ResponseFormat(c,code.ComError,[]TaskSdkVo{}) + //} else { + // if err := json.Unmarshal(dataBytes, &tasks);err !=nil { + // util.ResponseFormat(c,code.ComError,[]TaskSdkVo{}) + // } else { + // //澶勭悊宸茶鍒犻櫎鐨勪换鍔� + // 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 + // tasks = append(tasks, TaskSdkVo{ + // Task:TaskVo{ + // Taskid: taskId, + // Taskname: tM["taskName"].(string), + // DelFlag: true, + // }, + // Sdks:[]SdkVo{}, + // }) + // } + // } + // } + // } + // + // util.ResponseFormat(c,code.Success,tasks) + // } + //} + util.ResponseFormat(c,code.Success,[]interface{}{}) } -// @Security ApiKeyAuth -// @Summary 娣诲姞浠诲姟 -// @Description 鏌ユ壘鎵�鏈変换鍔� -// @Accept json -// @Produce json -// @Tags task -// @Param reqMap body controllers.TaskVo false "浠诲姟AAA" -// @Success 200 {string} json "{"code":200, msg:"璇锋眰澶勭悊鎴愬姛",data:"",success:true}" -// @Failure 500 {string} json "{"code":500, msg:"璇锋眰澶辫触",data:"",success:false}" -// @Router /data/api-v/task/addTask [POST] -func (tc TaskController) AddTask(c *gin.Context) { - var task TaskVo - var taskApi dbapi.TaskApi - err := c.BindJSON(&task) - if err !=nil { - util.ResponseFormat(c,code.RequestParamError,"鍙傛暟鏈夎") - return - } - paramBody := util.Struct2Map(task) - flag, data := taskApi.Add(paramBody) - if !flag { - util.ResponseFormat(c, code.ComError, data) - return - } - - util.ResponseFormat(c, code.Success, data) -} - -type TaskSdkAdd struct { - TaskId string `json:"taskId"` - Sdks []SdkSort `json:"sdks"` -} -type SdkSort struct { - SdkId string `json:"sdkId"` - Sort int `json:"sort"` -} - -// @Security ApiKeyAuth -// @Summary 缁欎换鍔℃坊鍔犵畻娉� -// @Description 浠诲姟娣诲姞绠楁硶 -// @Accept json -// @Produce json -// @Tags task -// @Param taskSdkAdd body controllers.TaskSdkAdd true "浠诲姟id" -// @Success 200 {string} json "{"code":200, msg:"璇锋眰澶勭悊鎴愬姛",data:"",success:true}" -// @Failure 500 {string} json "{"code":500, msg:"璇锋眰澶辫触",data:"",success:false}" -// @Router /data/api-v/task/addTaskSdk [post] -func (tc TaskController) AddTaskSdk(c *gin.Context) { - var addVo TaskSdkAdd - err := c.BindJSON(&addVo) - if err !=nil || addVo.TaskId == "" || len(addVo.Sdks)==0 { - util.ResponseFormat(c,code.RequestParamError,"鍙傛暟鏈夎") - return - } - paramBody := util.Struct2Map(addVo) - var taskApi dbapi.TaskApi - flag,data := taskApi.AddTaskSdk(paramBody) - if flag { - util.ResponseFormat(c, code.Success, data) - } else { - util.ResponseFormat(c,code.ComError,data) - } -} - -// @Security ApiKeyAuth -// @Summary 浠诲姟鍒犻櫎绠楁硶 -// @Description 鏍规嵁taskid鍜宻dkid鍒犻櫎 -// @Produce json -// @Tags task -// @Param taskId query string true "浠诲姟id" -// @Param sdkId query string true "绠楁硶id" -// @Success 200 {string} json "{"code":200, msg:"璇锋眰澶勭悊鎴愬姛",data:"",success:true}" -// @Failure 500 {string} json "{"code":500, msg:"璇锋眰澶辫触",data:"",success:false}" -// @Router /data/api-v/task/delTaskSdk [GET] -func (tc TaskController) DeleteTaskSdk(c *gin.Context) { - var taskApi dbapi.TaskApi - taskId := c.Query("taskId") - sdkId := c.Query("sdkId") - if taskId == "" || sdkId == "" { - util.ResponseFormat(c,code.RequestParamError,"鍙傛暟鏈夎") - return - } - flag,data := taskApi.DeleteTaskSdk(taskId,sdkId) - if flag { - util.ResponseFormat(c, code.Success, data) - } else { - util.ResponseFormat(c,code.ComError, data) - } -} - -// @Security ApiKeyAuth -// @Summary 鏇存柊浠诲姟鍚嶇О -// @Description 鏇存柊浠诲姟鍚嶇О -// @Accept x-www-form-urlencoded -// @Produce json -// @Tags task -// @Param taskId formData string true "taskId" -// @Param taskName formData string true "taskName" -// @Success 200 {string} json "{"code":200, msg:"",data:"",success:true}" -// @Failure 500 {string} json "{"code":500, msg:"",data:"",success:false}" -// @Router /data/api-v/task/updateTaskName [POST] -func (tc TaskController) UpdateTaskName(c *gin.Context) { - taskId := c.PostForm("taskId") - taskName := c.PostForm("taskName") - if taskId == "" || taskName == "" { - util.ResponseFormat(c,code.RequestParamError,"鍙傛暟鏈夎") - return - } - var api dbapi.TaskApi - if api.UpdateTaskName(taskId, taskName) { - util.ResponseFormat(c,code.UpdateSuccess,"鏇存柊鎴愬姛") - } else { - util.ResponseFormat(c,code.ComError,"鏇存柊澶辫触") - } - -} - -type TaskStatusVo struct { - TaskId string `json:"taskId"` - Enable bool `json:"enable"` -} - -// @Security ApiKeyAuth -// @Summary 鏇存柊浠诲姟鐘舵�� -// @Description 锛堢畻娉曚笉鍙�,鍙洿鏂颁换鍔$姸鎬侊級 -// @Accept json -// @Produce json -// @Tags task -// @Param taskStatus body controllers.TaskStatusVo true "鍙傛暟" -// @Success 200 {string} json "{"code":200, msg:"璇锋眰澶勭悊鎴愬姛",data:"",success:true}" -// @Failure 500 {string} json "{"code":500, msg:"璇锋眰澶辫触",data:"",success:false}" -// @Router /data/api-v/task/updateTaskStatus [POST] -func (tc TaskController) UpdateTaskStatus(c *gin.Context) { - var tsvo TaskStatusVo - err := c.BindJSON(&tsvo) - if err !=nil { - util.ResponseFormat(c,code.RequestParamError,"鍙傛暟鏈夎") - return - } - var taskApi dbapi.TaskApi - paramBody := util.Struct2Map(tsvo) - flag, data := taskApi.UpdateTaskStatus(paramBody) - if flag { - util.ResponseFormat(c,code.Success,data) - } else { - util.ResponseFormat(c,code.ComError,data) - } -} - -// @Security ApiKeyAuth -// @Summary 鍒犻櫎浠诲姟 -// @Description 鏍规嵁浠诲姟id鍒犻櫎浠诲姟 -// @Produce json -// @Tags task -// @Param taskId query string true "浠诲姟id" -// @Success 200 {string} json "{"code":200, msg:"璇锋眰澶勭悊鎴愬姛",data:"",success:true}" -// @Failure 500 {string} json "{"code":500, msg:"璇锋眰澶辫触",data:"",success:false}" -// @Router /data/api-v/task/delete [GET] -func (tc TaskController) DeleteTask(c *gin.Context) { - var taskApi dbapi.TaskApi - taskId := c.Query("taskId") - if taskId == "" { - util.ResponseFormat(c,code.RequestParamError,"鍙傛暟鏈夎") - return - } - flag, data := taskApi.Delete(taskId) - if flag { - util.ResponseFormat(c,code.Success,data) - } else { - util.ResponseFormat(c,code.ComError,data) - } - -} - -type TaskSdkRules struct { - TaskId string `json:"taskId"` - SdkId string `json:"sdkId"` - Rules []TaskSdkRuleVo `json:"rules"` -} - -type TaskSdkRuleVo struct { - Id string `json:"id"` - SdkArgAlias string `json:"sdk_arg_alias"` - Operator string `json:"operator"` - SdkArgValue string `json:"sdk_arg_value"` -} - -// @Security ApiKeyAuth -// @Summary 淇濆瓨绠楁硶瑙勫垯 -// @Description 淇濆瓨绠楁硶瑙勫垯 -// @Accept json -// @Produce json -// @Tags 绠楁硶瑙勫垯 -// @Param sdkrules body controllers.TaskSdkRules true "绠楁硶鍙傛暟瑙勫垯" -// @Success 200 {string} json "{"code":200, success:true, msg:"", data:""}" -// @Failure 500 {string} json "{"code":500, success:false, msg:"",data:""}" -// @Router /data/api-v/task/saveTaskSdkRule [post] -func (tc TaskController) SaveTaskSdkRule(c *gin.Context) { - var rules TaskSdkRules - err := c.BindJSON(&rules) - if err !=nil || rules.TaskId == "" || rules.SdkId == "" || len(rules.Rules) == 0 { - util.ResponseFormat(c,code.RequestParamError,"鍙傛暟鏈夎") - return - } - paramBody := util.Struct2Map(rules) - var api dbapi.TaskSdkRuleApi - b,d := api.SaveTaskSdkRule(paramBody) - if b { - util.ResponseFormat(c,code.Success,d) - } else { - util.ResponseFormat(c,code.ComError,"淇濆瓨澶辫触") - } -} - -// @Security ApiKeyAuth -// @Summary 鍒犻櫎绠楁硶瑙勫垯 -// @Description 鍒犻櫎绠楁硶瑙勫垯 -// @Accept x-www-form-urlencoded -// @Produce json -// @Tags 绠楁硶瑙勫垯 -// @Param taskId formData string true "taskId" -// @Param sdkId formData string true "sdkId" -// @Success 200 {string} json "{"code":200, success:true, msg:"", data:""}" -// @Failure 500 {string} json "{"code":500, success:false, msg:"",data:""}" -// @Router /data/api-v/task/deleteTaskSdkRule [post] -func (tc TaskController) DeleteTaskSdkRule(c *gin.Context) { - taskId := c.PostForm("taskId") - sdkId := c.PostForm("sdkId") - if taskId == "" || sdkId == "" { - util.ResponseFormat(c,code.RequestParamError,"鍙傛暟鏈夎") - return - } - var api dbapi.TaskSdkRuleApi - if api.DeleteTaskSdkRule(taskId, sdkId) { - util.ResponseFormat(c,code.Success,"鍒犻櫎鎴愬姛") - } else { - util.ResponseFormat(c,code.ComError, "鍒犻櫎澶辫触") - } -} - -// @Security ApiKeyAuth -// @Summary 鏌ヨ绠楁硶瑙勫垯 -// @Description 鏌ヨ绠楁硶瑙勫垯 -// @Produce json -// @Tags 绠楁硶瑙勫垯 -// @Param taskId query string true "浠诲姟id" -// @Param sdkId query 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/task/getRulesByTaskSdk [get] -func (tc TaskController) GetRulesByTaskSdk(c *gin.Context) { - taskId := c.Query("taskId") - sdkId := c.Query("sdkId") - if taskId == "" || sdkId == ""{ - util.ResponseFormat(c,code.RequestParamError,"鍙傛暟鏈夎") - return - } - var taskSdkApi dbapi.TaskSdkRuleApi - b, d := taskSdkApi.GetRulesByTaskSdk(taskId, sdkId) - if b { - util.ResponseFormat(c,code.Success,d) - } else { - util.ResponseFormat(c,code.ComError,"鏌ヨ澶辫触") - } -} - -// @Security ApiKeyAuth -// @Summary 缁熻姣忎釜浠诲姟鐨勬憚鍍忔満鏁伴噺 -// @Description 缁熻姣忎釜浠诲姟鐨勬憚鍍忔満鏁伴噺 -// @Produce json -// @Tags task -// @Success 200 {string} json "{"code":200, success:true, msg:"", data:""}" -// @Failure 500 {string} json "{"code":500, success:false, msg:"",data:""}" -// @Router /data/api-v/task/statisticTaskCamera [get] -func (tc TaskController) StatisticTaskCamera(c *gin.Context) { - var taskApi dbapi.TaskApi - b,d := taskApi.StatisticTaskCamera() - if b { - util.ResponseFormat(c,code.Success, d) - } else { - util.ResponseFormat(c,code.ComError, "") - } -} +//// @Security ApiKeyAuth +//// @Summary 娣诲姞浠诲姟 +//// @Description 鏌ユ壘鎵�鏈変换鍔� +//// @Accept json +//// @Produce json +//// @Tags task +//// @Param reqMap body controllers.TaskVo false "浠诲姟AAA" +//// @Success 200 {string} json "{"code":200, msg:"璇锋眰澶勭悊鎴愬姛",data:"",success:true}" +//// @Failure 500 {string} json "{"code":500, msg:"璇锋眰澶辫触",data:"",success:false}" +//// @Router /data/api-v/task/addTask [POST] +//func (tc TaskController) AddTask(c *gin.Context) { +// var task TaskVo +// var taskApi dbapi.TaskApi +// err := c.BindJSON(&task) +// if err !=nil { +// util.ResponseFormat(c,code.RequestParamError,"鍙傛暟鏈夎") +// return +// } +// paramBody := util.Struct2Map(task) +// flag, data := taskApi.Add(paramBody) +// if !flag { +// util.ResponseFormat(c, code.ComError, data) +// return +// } +// +// util.ResponseFormat(c, code.Success, data) +//} +// +//type TaskSdkAdd struct { +// TaskId string `json:"taskId"` +// Sdks []SdkSort `json:"sdks"` +//} +//type SdkSort struct { +// SdkId string `json:"sdkId"` +// Sort int `json:"sort"` +//} +// +//// @Security ApiKeyAuth +//// @Summary 缁欎换鍔℃坊鍔犵畻娉� +//// @Description 浠诲姟娣诲姞绠楁硶 +//// @Accept json +//// @Produce json +//// @Tags task +//// @Param taskSdkAdd body controllers.TaskSdkAdd true "浠诲姟id" +//// @Success 200 {string} json "{"code":200, msg:"璇锋眰澶勭悊鎴愬姛",data:"",success:true}" +//// @Failure 500 {string} json "{"code":500, msg:"璇锋眰澶辫触",data:"",success:false}" +//// @Router /data/api-v/task/addTaskSdk [post] +//func (tc TaskController) AddTaskSdk(c *gin.Context) { +// var addVo TaskSdkAdd +// err := c.BindJSON(&addVo) +// if err !=nil || addVo.TaskId == "" || len(addVo.Sdks)==0 { +// util.ResponseFormat(c,code.RequestParamError,"鍙傛暟鏈夎") +// return +// } +// paramBody := util.Struct2Map(addVo) +// var taskApi dbapi.TaskApi +// flag,data := taskApi.AddTaskSdk(paramBody) +// if flag { +// util.ResponseFormat(c, code.Success, data) +// } else { +// util.ResponseFormat(c,code.ComError,data) +// } +//} +// +//// @Security ApiKeyAuth +//// @Summary 浠诲姟鍒犻櫎绠楁硶 +//// @Description 鏍规嵁taskid鍜宻dkid鍒犻櫎 +//// @Produce json +//// @Tags task +//// @Param taskId query string true "浠诲姟id" +//// @Param sdkId query string true "绠楁硶id" +//// @Success 200 {string} json "{"code":200, msg:"璇锋眰澶勭悊鎴愬姛",data:"",success:true}" +//// @Failure 500 {string} json "{"code":500, msg:"璇锋眰澶辫触",data:"",success:false}" +//// @Router /data/api-v/task/delTaskSdk [GET] +//func (tc TaskController) DeleteTaskSdk(c *gin.Context) { +// var taskApi dbapi.TaskApi +// taskId := c.Query("taskId") +// sdkId := c.Query("sdkId") +// if taskId == "" || sdkId == "" { +// util.ResponseFormat(c,code.RequestParamError,"鍙傛暟鏈夎") +// return +// } +// flag,data := taskApi.DeleteTaskSdk(taskId,sdkId) +// if flag { +// util.ResponseFormat(c, code.Success, data) +// } else { +// util.ResponseFormat(c,code.ComError, data) +// } +//} +// +//// @Security ApiKeyAuth +//// @Summary 鏇存柊浠诲姟鍚嶇О +//// @Description 鏇存柊浠诲姟鍚嶇О +//// @Accept x-www-form-urlencoded +//// @Produce json +//// @Tags task +//// @Param taskId formData string true "taskId" +//// @Param taskName formData string true "taskName" +//// @Success 200 {string} json "{"code":200, msg:"",data:"",success:true}" +//// @Failure 500 {string} json "{"code":500, msg:"",data:"",success:false}" +//// @Router /data/api-v/task/updateTaskName [POST] +//func (tc TaskController) UpdateTaskName(c *gin.Context) { +// taskId := c.PostForm("taskId") +// taskName := c.PostForm("taskName") +// if taskId == "" || taskName == "" { +// util.ResponseFormat(c,code.RequestParamError,"鍙傛暟鏈夎") +// return +// } +// var api dbapi.TaskApi +// if api.UpdateTaskName(taskId, taskName) { +// util.ResponseFormat(c,code.UpdateSuccess,"鏇存柊鎴愬姛") +// } else { +// util.ResponseFormat(c,code.ComError,"鏇存柊澶辫触") +// } +// +//} +// +//type TaskStatusVo struct { +// TaskId string `json:"taskId"` +// Enable bool `json:"enable"` +//} +// +//// @Security ApiKeyAuth +//// @Summary 鏇存柊浠诲姟鐘舵�� +//// @Description 锛堢畻娉曚笉鍙�,鍙洿鏂颁换鍔$姸鎬侊級 +//// @Accept json +//// @Produce json +//// @Tags task +//// @Param taskStatus body controllers.TaskStatusVo true "鍙傛暟" +//// @Success 200 {string} json "{"code":200, msg:"璇锋眰澶勭悊鎴愬姛",data:"",success:true}" +//// @Failure 500 {string} json "{"code":500, msg:"璇锋眰澶辫触",data:"",success:false}" +//// @Router /data/api-v/task/updateTaskStatus [POST] +//func (tc TaskController) UpdateTaskStatus(c *gin.Context) { +// var tsvo TaskStatusVo +// err := c.BindJSON(&tsvo) +// if err !=nil { +// util.ResponseFormat(c,code.RequestParamError,"鍙傛暟鏈夎") +// return +// } +// var taskApi dbapi.TaskApi +// paramBody := util.Struct2Map(tsvo) +// flag, data := taskApi.UpdateTaskStatus(paramBody) +// if flag { +// util.ResponseFormat(c,code.Success,data) +// } else { +// util.ResponseFormat(c,code.ComError,data) +// } +//} +// +//// @Security ApiKeyAuth +//// @Summary 鍒犻櫎浠诲姟 +//// @Description 鏍规嵁浠诲姟id鍒犻櫎浠诲姟 +//// @Produce json +//// @Tags task +//// @Param taskId query string true "浠诲姟id" +//// @Success 200 {string} json "{"code":200, msg:"璇锋眰澶勭悊鎴愬姛",data:"",success:true}" +//// @Failure 500 {string} json "{"code":500, msg:"璇锋眰澶辫触",data:"",success:false}" +//// @Router /data/api-v/task/delete [GET] +//func (tc TaskController) DeleteTask(c *gin.Context) { +// var taskApi dbapi.TaskApi +// taskId := c.Query("taskId") +// if taskId == "" { +// util.ResponseFormat(c,code.RequestParamError,"鍙傛暟鏈夎") +// return +// } +// flag, data := taskApi.Delete(taskId) +// if flag { +// util.ResponseFormat(c,code.Success,data) +// } else { +// util.ResponseFormat(c,code.ComError,data) +// } +// +//} +// +//type TaskSdkRules struct { +// TaskId string `json:"taskId"` +// SdkId string `json:"sdkId"` +// Rules []TaskSdkRuleVo `json:"rules"` +//} +// +//type TaskSdkRuleVo struct { +// Id string `json:"id"` +// SdkArgAlias string `json:"sdk_arg_alias"` +// Operator string `json:"operator"` +// SdkArgValue string `json:"sdk_arg_value"` +//} +// +//// @Security ApiKeyAuth +//// @Summary 淇濆瓨绠楁硶瑙勫垯 +//// @Description 淇濆瓨绠楁硶瑙勫垯 +//// @Accept json +//// @Produce json +//// @Tags 绠楁硶瑙勫垯 +//// @Param sdkrules body controllers.TaskSdkRules true "绠楁硶鍙傛暟瑙勫垯" +//// @Success 200 {string} json "{"code":200, success:true, msg:"", data:""}" +//// @Failure 500 {string} json "{"code":500, success:false, msg:"",data:""}" +//// @Router /data/api-v/task/saveTaskSdkRule [post] +//func (tc TaskController) SaveTaskSdkRule(c *gin.Context) { +// var rules TaskSdkRules +// err := c.BindJSON(&rules) +// if err !=nil || rules.TaskId == "" || rules.SdkId == "" || len(rules.Rules) == 0 { +// util.ResponseFormat(c,code.RequestParamError,"鍙傛暟鏈夎") +// return +// } +// paramBody := util.Struct2Map(rules) +// var api dbapi.TaskSdkRuleApi +// b,d := api.SaveTaskSdkRule(paramBody) +// if b { +// util.ResponseFormat(c,code.Success,d) +// } else { +// util.ResponseFormat(c,code.ComError,"淇濆瓨澶辫触") +// } +//} +// +//// @Security ApiKeyAuth +//// @Summary 鍒犻櫎绠楁硶瑙勫垯 +//// @Description 鍒犻櫎绠楁硶瑙勫垯 +//// @Accept x-www-form-urlencoded +//// @Produce json +//// @Tags 绠楁硶瑙勫垯 +//// @Param taskId formData string true "taskId" +//// @Param sdkId formData string true "sdkId" +//// @Success 200 {string} json "{"code":200, success:true, msg:"", data:""}" +//// @Failure 500 {string} json "{"code":500, success:false, msg:"",data:""}" +//// @Router /data/api-v/task/deleteTaskSdkRule [post] +//func (tc TaskController) DeleteTaskSdkRule(c *gin.Context) { +// taskId := c.PostForm("taskId") +// sdkId := c.PostForm("sdkId") +// if taskId == "" || sdkId == "" { +// util.ResponseFormat(c,code.RequestParamError,"鍙傛暟鏈夎") +// return +// } +// var api dbapi.TaskSdkRuleApi +// if api.DeleteTaskSdkRule(taskId, sdkId) { +// util.ResponseFormat(c,code.Success,"鍒犻櫎鎴愬姛") +// } else { +// util.ResponseFormat(c,code.ComError, "鍒犻櫎澶辫触") +// } +//} +// +//// @Security ApiKeyAuth +//// @Summary 鏌ヨ绠楁硶瑙勫垯 +//// @Description 鏌ヨ绠楁硶瑙勫垯 +//// @Produce json +//// @Tags 绠楁硶瑙勫垯 +//// @Param taskId query string true "浠诲姟id" +//// @Param sdkId query 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/task/getRulesByTaskSdk [get] +//func (tc TaskController) GetRulesByTaskSdk(c *gin.Context) { +// taskId := c.Query("taskId") +// sdkId := c.Query("sdkId") +// if taskId == "" || sdkId == ""{ +// util.ResponseFormat(c,code.RequestParamError,"鍙傛暟鏈夎") +// return +// } +// var taskSdkApi dbapi.TaskSdkRuleApi +// b, d := taskSdkApi.GetRulesByTaskSdk(taskId, sdkId) +// if b { +// util.ResponseFormat(c,code.Success,d) +// } else { +// util.ResponseFormat(c,code.ComError,"鏌ヨ澶辫触") +// } +//} +// +//// @Security ApiKeyAuth +//// @Summary 缁熻姣忎釜浠诲姟鐨勬憚鍍忔満鏁伴噺 +//// @Description 缁熻姣忎釜浠诲姟鐨勬憚鍍忔満鏁伴噺 +//// @Produce json +//// @Tags task +//// @Success 200 {string} json "{"code":200, success:true, msg:"", data:""}" +//// @Failure 500 {string} json "{"code":500, success:false, msg:"",data:""}" +//// @Router /data/api-v/task/statisticTaskCamera [get] +//func (tc TaskController) StatisticTaskCamera(c *gin.Context) { +// var taskApi dbapi.TaskApi +// b,d := taskApi.StatisticTaskCamera() +// if b { +// util.ResponseFormat(c,code.Success, d) +// } else { +// util.ResponseFormat(c,code.ComError, "") +// } +//} diff --git a/go.mod b/go.mod index 9f5de4d..19ed098 100644 --- a/go.mod +++ b/go.mod @@ -3,12 +3,12 @@ go 1.12 require ( - basic.com/dbapi.git v0.0.0-20200312083548-4b84d53ed3bf + basic.com/dbapi.git v0.0.0-20200624110237-a6e8debca64b // indirect basic.com/fileServer/WeedFSClient.git v0.0.0-20190919054037-0182b6c3f5cb basic.com/gb28181api.git v0.0.0-20191028082253-472438a8407b basic.com/pubsub/cache.git v0.0.0-20190718093725-6a413e1d7d48 basic.com/pubsub/esutil.git v0.0.0-20200114073900-ad9de8362777 - basic.com/pubsub/protomsg.git v0.0.0-20200605082339-fe3f28d45337 + basic.com/pubsub/protomsg.git v0.0.0-20200624085547-386ecad53ae3 // indirect basic.com/valib/capture.git v0.0.0-20191204103802-89c923cf2abe basic.com/valib/deliver.git v0.0.0-20190531095353-25d8c3b20051 basic.com/valib/godraw.git v0.0.0-20191122082247-26e9987cd183 diff --git a/go.sum b/go.sum index 82c2b41..05588f9 100644 --- a/go.sum +++ b/go.sum @@ -1,5 +1,5 @@ -basic.com/dbapi.git v0.0.0-20200312083548-4b84d53ed3bf h1:d0h3A4bJ6oB2+rHRDA0UJ6FG1zX6HKvIhFfEZyJ7s5Y= -basic.com/dbapi.git v0.0.0-20200312083548-4b84d53ed3bf/go.mod h1:eDXPnxaz6jZPDvBSk7ya7oSASWPCuUEgRTJCjsfKt/Q= +basic.com/dbapi.git v0.0.0-20200624110237-a6e8debca64b h1:JspPr7IsNBBq9TrlfWZjFMWKobkhkvHC8d+MUJp8VaU= +basic.com/dbapi.git v0.0.0-20200624110237-a6e8debca64b/go.mod h1:eDXPnxaz6jZPDvBSk7ya7oSASWPCuUEgRTJCjsfKt/Q= basic.com/fileServer/WeedFSClient.git v0.0.0-20190919054037-0182b6c3f5cb h1:fM6DojeInFSCFO+wkba1jtyPiSDqw0jYKi4Tk+e+ka4= basic.com/fileServer/WeedFSClient.git v0.0.0-20190919054037-0182b6c3f5cb/go.mod h1:FTryK8BsVLfUplx8a3+l8hJWub6VbAWZCUH7sPRZaso= basic.com/gb28181api.git v0.0.0-20191028082253-472438a8407b h1:Qh7x2PY3HA9B404Llq+olY5/YlGYrM58bpOHa2CGcro= @@ -10,8 +10,8 @@ basic.com/pubsub/esutil.git v0.0.0-20191120125514-865efa73a9ae/go.mod h1:yIvppFPFGC61DOdm71ujnsxZBMFUu2yKjr5O43bMWCw= basic.com/pubsub/esutil.git v0.0.0-20200114073900-ad9de8362777 h1:gTeuhepfLgOchD6bqydsGGV6KCj/UaseQQgo4DFyhGQ= basic.com/pubsub/esutil.git v0.0.0-20200114073900-ad9de8362777/go.mod h1:yIvppFPFGC61DOdm71ujnsxZBMFUu2yKjr5O43bMWCw= -basic.com/pubsub/protomsg.git v0.0.0-20200605082339-fe3f28d45337 h1:6LTdIfHUZkfemhkuQnXXaeXRdnm4459PyxMd36AXV20= -basic.com/pubsub/protomsg.git v0.0.0-20200605082339-fe3f28d45337/go.mod h1:un5NV5VWQoblVLZfx1Rt5vyLgwR0jI92d3VJhfrJhWU= +basic.com/pubsub/protomsg.git v0.0.0-20200624085547-386ecad53ae3 h1:j9UtxEMVKvul6hS1hbb4BtPjpb4HwV/IZ76A5QVQU94= +basic.com/pubsub/protomsg.git v0.0.0-20200624085547-386ecad53ae3/go.mod h1:un5NV5VWQoblVLZfx1Rt5vyLgwR0jI92d3VJhfrJhWU= basic.com/valib/capture.git v0.0.0-20191204103802-89c923cf2abe h1:uh3u7DuSOw6AwzvPC1EM19sw1Skks1EUJddcbHDKI9M= basic.com/valib/capture.git v0.0.0-20191204103802-89c923cf2abe/go.mod h1:y+h7VUnoSQ3jOtf2K3twXNA8fYDfyUsifSswcyKLgNw= basic.com/valib/deliver.git v0.0.0-20190531095353-25d8c3b20051/go.mod h1:bkYiTUGzckyNOjAgn9rB/DOjFzwoSHJlruuWQ6hu6IY= diff --git a/router/router.go b/router/router.go index d45ed44..6b45b65 100644 --- a/router/router.go +++ b/router/router.go @@ -31,8 +31,8 @@ deleteDataController := new(controllers.DeleteDataController) cameraTimeRuleController := new(controllers.CameraTimeruleController) polygonController := new(controllers.CameraPolygonController) - cameraTaskController := new(controllers.CameraTaskController) - cameraTaskArgsController := new(controllers.CameraTaskArgsController) + //cameraTaskController := new(controllers.CameraTaskController) + //cameraTaskArgsController := new(controllers.CameraTaskArgsController) dicController := new(controllers.DictionaryController) userController := new(controllers.UserController) eventPushController := new(controllers.EventPushController) @@ -48,6 +48,8 @@ icController := new(controllers.InfoController) gb28181C := new(controllers.Gb28181Controller) fStackC := new(controllers.FileStackController) + cameraRuleController := new (controllers.CameraRuleController) + rtc := new(controllers.RuleTemplateController) urlPrefix := "/data/api-v" // wp 娣诲姞 璺緞 鍓嶇紑 @@ -110,12 +112,12 @@ camera.POST("/updateCameraArea", cameraController.UpdateCameraArea) camera.GET("/updateSnapshotUrl/:cid", cameraController.UpdateSnapshotUrl) - camera.POST("/alltask", cameraTaskController.FindTasksByCameraIds) - camera.GET("/task/:cameraId", cameraTaskController.CameraTaskAll) + //camera.POST("/alltask", cameraTaskController.FindTasksByCameraIds) + //camera.GET("/task/:cameraId", cameraTaskController.CameraTaskAll) - camera.DELETE("/delTask/:cameraId/:taskId", cameraController.CameraDelTask) - camera.POST("/saveTask", cameraController.CameraTaskSave) - camera.GET("/getRulesByCameraAndTask", cameraTaskArgsController.FindByCameraAndTask) + //camera.DELETE("/delTask/:cameraId/:taskId", cameraController.CameraDelTask) + //camera.POST("/saveTask", cameraController.CameraTaskSave) + //camera.GET("/getRulesByCameraAndTask", cameraTaskArgsController.FindByCameraAndTask) camera.GET("/getCamerasByRunType", cameraController.GetCamerasByRunType) camera.POST("/updateRunEnable", cameraController.UpdateRunEnable) camera.POST("/changeRunType", cameraController.ChangeRunType) @@ -123,26 +125,42 @@ camera.POST("/ptzControl", ptzController.Move) camera.GET("/statisticRunInfo", cameraController.StatisticRunInfo) - camera.POST("/pasteRules", cameraTaskController.PasteRules) + //camera.POST("/pasteRules", cameraTaskController.PasteRules) } - cameraTaskArgsApi := r.Group(urlPrefix + "/cameraTaskArgs") + rtcApi := r.Group(urlPrefix + "/template") { - cameraTaskArgsApi.GET("/deleteByGroup", cameraTaskArgsController.DeleteByGroup) - cameraTaskArgsApi.POST("/getLinkRulesByCameraIds", cameraTaskArgsController.GetLinkRulesByCameraIds) - cameraTaskArgsApi.POST("/saveLinkRulesByGroup", cameraTaskArgsController.SaveLinkRulesByGroup) - cameraTaskArgsApi.POST("/updateDefenceStateByGroup", cameraTaskArgsController.UpdateDefenceStateByGroup) - - cameraTaskArgsApi.POST("/ruleApply2All", cameraTaskArgsController.RuleApply2All) + rtcApi.POST("/rule/save", rtc.Save) + rtcApi.GET("/rule/:id", rtc.Show) + rtcApi.DELETE("/rule/:id", rtc.Delete) + rtcApi.GET("/rule", rtc.FindAll) } - - cameraTaskApi := r.Group(urlPrefix + "/cameraTask") + cameraRuleApi :=r.Group(urlPrefix+"/camera/rule") { - cameraTaskApi.POST("/saveIsDataTrans", cameraTaskController.SaveIsDataTrans) - cameraTaskApi.POST("/saveAlarmLevelByGroup", cameraTaskController.SaveAlarmLevelByGroup) - cameraTaskApi.POST("/updateCameraTaskStatus", cameraTaskController.UpdateCameraTaskStatus) - cameraTaskApi.POST("/addTask", cameraTaskController.AddTask) + cameraRuleApi.GET("/:cameraId", cameraRuleController.FindByCameraId) + cameraRuleApi.GET("/deleteByGroup",cameraRuleController.DeleteByGroup) + cameraRuleApi.POST("/getLinkRulesByCameraIds",cameraRuleController.GetLinkRulesByCameraIds) + cameraRuleApi.POST("/save", cameraRuleController.Save) + cameraRuleApi.POST("/saveLinkRulesByGroup",cameraRuleController.SaveLinkRulesByGroup) } + + //cameraTaskArgsApi := r.Group(urlPrefix + "/cameraTaskArgs") + //{ + // cameraTaskArgsApi.GET("/deleteByGroup", cameraTaskArgsController.DeleteByGroup) + // cameraTaskArgsApi.POST("/getLinkRulesByCameraIds", cameraTaskArgsController.GetLinkRulesByCameraIds) + // cameraTaskArgsApi.POST("/saveLinkRulesByGroup", cameraTaskArgsController.SaveLinkRulesByGroup) + // cameraTaskArgsApi.POST("/updateDefenceStateByGroup", cameraTaskArgsController.UpdateDefenceStateByGroup) + // + // cameraTaskArgsApi.POST("/ruleApply2All", cameraTaskArgsController.RuleApply2All) + //} + + //cameraTaskApi := r.Group(urlPrefix + "/cameraTask") + //{ + // cameraTaskApi.POST("/saveIsDataTrans", cameraTaskController.SaveIsDataTrans) + // cameraTaskApi.POST("/saveAlarmLevelByGroup", cameraTaskController.SaveAlarmLevelByGroup) + // cameraTaskApi.POST("/updateCameraTaskStatus", cameraTaskController.UpdateCameraTaskStatus) + // cameraTaskApi.POST("/addTask", cameraTaskController.AddTask) + //} polygon := r.Group(urlPrefix + "/polygon") { @@ -156,19 +174,19 @@ // 浠诲姟绠$悊 task := r.Group(urlPrefix + "/task") { - task.GET("/findAll", taskController.FindAll) + //task.GET("/findAll", taskController.FindAll) task.GET("/aggregateTaskList", taskController.AggregateTaskList) - task.POST("/addTask", taskController.AddTask) - task.POST("/updateTaskStatus", taskController.UpdateTaskStatus) - task.GET("/delete", taskController.DeleteTask) - task.POST("/addTaskSdk", taskController.AddTaskSdk) - task.GET("/delTaskSdk", taskController.DeleteTaskSdk) - task.POST("/updateTaskName", taskController.UpdateTaskName) - task.GET("/getRulesByTaskSdk", taskController.GetRulesByTaskSdk) - task.POST("/deleteTaskSdkRule", taskController.DeleteTaskSdkRule) - task.POST("/saveTaskSdkRule", taskController.SaveTaskSdkRule) - - task.GET("/statisticTaskCamera", taskController.StatisticTaskCamera) + //task.POST("/addTask", taskController.AddTask) + //task.POST("/updateTaskStatus", taskController.UpdateTaskStatus) + //task.GET("/delete", taskController.DeleteTask) + //task.POST("/addTaskSdk", taskController.AddTaskSdk) + //task.GET("/delTaskSdk", taskController.DeleteTaskSdk) + //task.POST("/updateTaskName", taskController.UpdateTaskName) + //task.GET("/getRulesByTaskSdk", taskController.GetRulesByTaskSdk) + //task.POST("/deleteTaskSdkRule", taskController.DeleteTaskSdkRule) + //task.POST("/saveTaskSdkRule", taskController.SaveTaskSdkRule) + // + //task.GET("/statisticTaskCamera", taskController.StatisticTaskCamera) } // 妫�绱� 鏌ヨ 鑺傜偣鎿嶄綔 diff --git a/vo/cameraRule.go b/vo/cameraRule.go new file mode 100644 index 0000000..b2ce8ee --- /dev/null +++ b/vo/cameraRule.go @@ -0,0 +1,56 @@ +package vo + +//鐢ㄤ簬鎺ユ敹澶氫釜鎽勫儚鏈虹殑id锛屼互閫楀彿闅斿紑 +type MultiCamera struct { + CameraIds []string `json:"cameraIds"` +} + +type GroupAlarmLevelVo struct { + GroupId string `json:"group_id" binding:"required"` + AlarmLevel int `json:"alarm_level"` +} + +type CFInfo struct { + Id string `json:"id"` + Name string `json:"name"` + RunType int `json:"run_type"` +} + +type CameraSInfo struct { + CFInfo + RunServerName string `json:"runServerName"` +} + +type CameraAndRules struct { + CameraInfo CameraSInfo `json:"cameraInfo"` + AllGroupRules []GroupRuleVo `json:"rules"` +} + +type GroupRuleVo struct { + CameraIds []string `json:"cameraIds"` //宸︿晶閫変腑鐨勬憚鍍忔満,鍙互鏄涓� + Id string `json:"id" example:"缁勮鍒欑殑id"` + + GroupText string `json:"group_text" binding:"required"` + AlarmLevel int `json:"alarm_level"` + Rules []CameraRuleBase `json:"rules" binding:"required"` + SetType string `json:"set_type"` + + TemplateId string `json:"template_id"` + TimeRuleId string `json:"time_rule_id"` //鏃堕棿娈� + SceneName string `json:"scene_name" binding:"required"` //鍦烘櫙鍚嶇О锛屼粠妯℃澘鏉ワ紝淇敼鍗宠嚜瀹氫箟 + Desc string `json:"desc"` //鍦烘櫙鎻忚堪 + Enable bool `json:"enable"` +} + +type CameraRuleBase struct { + CameraId string `json:"camera_id"` //鎽勫儚鏈篿d + PolygonId string `json:"polygon_id"` //澶氳竟褰d + SdkId string `json:"sdk_id"` //绠楁硶id + SdkArgAlias string `json:"sdk_arg_alias"` //绠楁硶鍙傛暟鍒悕 + Operator string `json:"operator"` //璁$畻鏂瑰紡=,>,>=绛夌瓑 + OperatorType string `json:"operator_type"` //璁$畻鐨勫�肩被鍨� + SdkArgValue string `json:"sdk_arg_value"` //绠楁硶鍙傛暟鍊艰缃� + Sort int `json:"sort"` //鎺掑簭 + RuleWithPre string `json:"rule_with_pre"` //涓庝笂涓�鏉¤褰曠殑閫昏緫杩愮畻瑙勫垯锛�&&,||锛� + GroupId string `json:"group_id"` //鍒嗙粍id +} \ No newline at end of file -- Gitblit v1.8.0