From 9303b69ea569bcb5e581147543a3fd58e90d0d25 Mon Sep 17 00:00:00 2001
From: sunty <1172534965@qq.com>
Date: 星期四, 20 八月 2020 20:05:23 +0800
Subject: [PATCH] add get buckets contrl

---
 controllers/cameraTaskArgs.go |  149 ++++++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 146 insertions(+), 3 deletions(-)

diff --git a/controllers/cameraTaskArgs.go b/controllers/cameraTaskArgs.go
index 5a17256..325d59f 100644
--- a/controllers/cameraTaskArgs.go
+++ b/controllers/cameraTaskArgs.go
@@ -2,16 +2,19 @@
 
 import (
 	"basic.com/dbapi.git"
+	"basic.com/valib/logger.git"
+	"github.com/gin-gonic/gin"
+	"strconv"
+	"strings"
 	"webserver/extend/code"
 	"webserver/extend/util"
-	"github.com/gin-gonic/gin"
 )
 
 type CameraTaskArgsController struct {
 
 }
 
-
+// @Security ApiKeyAuth
 // @Summary 鏍规嵁鎽勫儚鏈篿d鍜屼换鍔d鏌ヨ绠楁硶閰嶇疆璇︽儏
 // @Description 鏍规嵁鎽勫儚鏈篿d鍜屼换鍔d鏌ヨ绠楁硶閰嶇疆璇︽儏
 // @Produce json
@@ -40,6 +43,61 @@
 	}
 }
 
+// @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
@@ -55,11 +113,96 @@
 		return
 	}
 	var api dbapi.CameraTaskArgsApi
-	flag,data:=api.DeleteByGroup(groupId)
+	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

--
Gitblit v1.8.0