From 2d33ef788ab96646c72c717e28013100540c8430 Mon Sep 17 00:00:00 2001 From: liuxiaolong <736321739@qq.com> Date: 星期二, 25 六月 2019 20:12:31 +0800 Subject: [PATCH] eventPush done --- controllers/eventPush.go | 191 +++++++++++++++++++++++++++++++++++++++++++++++ controllers/dictionary.go | 23 +++++ middlewares/auth/jwt.go | 7 - router/router.go | 13 +++ 4 files changed, 230 insertions(+), 4 deletions(-) diff --git a/controllers/dictionary.go b/controllers/dictionary.go index 4c66dd2..9794cbe 100644 --- a/controllers/dictionary.go +++ b/controllers/dictionary.go @@ -27,4 +27,27 @@ } else { util.ResponseFormat(c,code.ComError,data) } +} + +// @Summary 鏍规嵁鐖禝D鏌ユ壘瀛楀吀 +// @Description 鏍规嵁鐖禝D鏌ユ壘瀛楀吀 +// @Produce json +// @Tags 瀛楀吀 +// @Param parentId query string false "parentId" +// @Success 200 {string} json "{"code":200, success:true, msg:"璇锋眰澶勭悊鎴愬姛", data:"鎴愬姛淇℃伅"}" +// @Failure 500 {string} json "{"code":500, success:false, msg:"",data:"閿欒淇℃伅鍐呭"}" +// @Router /data/api-v/dictionary/findByParentId [get] +func (controller DictionaryController) FindByParentId(c *gin.Context) { + parentId := c.Query("parentId") + if parentId == "" { + util.ResponseFormat(c,code.RequestParamError,"鍙傛暟鏈夎") + return + } + var api dbapi.DicApi + flag, data := api.FindByParentId(parentId) + if flag { + util.ResponseFormat(c,code.Success,data) + } else { + util.ResponseFormat(c,code.ComError,"鏌ヨ澶辫触") + } } \ No newline at end of file diff --git a/controllers/eventPush.go b/controllers/eventPush.go index 2d32936..b604fcd 100644 --- a/controllers/eventPush.go +++ b/controllers/eventPush.go @@ -1 +1,192 @@ package controllers + +import ( + "basic.com/dbapi.git" + "github.com/gin-gonic/gin" + "webserver/extend/code" + "webserver/extend/util" +) + +type EventPushController struct { + +} + +type EventPushVo struct { + Id string `json:"id"` + Name string `json:"name"` + TimeStart string `json:"time_start"` + TimeEnd string `json:"time_end"` + IsSatisfyAll bool `json:"is_satisfy_all"` + RuleText string `json:"rule_text"` + Enable bool `json:"enable"` + LinkType string `json:"link_type"` + LinkDevice string `json:"link_device"` + + IpPorts []EventPushServerPortVo `json:"ip_ports"` + Urls []EventUrlVo `json:"urls"` + Rules []EventPushRuleVo `json:"rules"` +} + +type EventPushRuleVo struct { + Id string `json:"id"` + TopicType string `json:"topic_type"`//鍙傛暟涓婚,鐩墠鍒嗕负浜旂被锛堟憚鍍忔満銆佸簳搴撱�佷换鍔°�佷汉鍛樸�佹姤璀︾瓑绾э級 + TopicArg string `json:"topic_arg"`//涓婚瀵瑰簲鐨勫叿浣撳弬鏁� + Operator string `json:"operator"` + OperatorType string `json:"operator_type"` + RuleValue string `json:"rule_value"` + EventPushId string `json:"event_push_id"` +} + +type EventPushServerPortVo struct { + ServerIp string `json:"server_ip"` + Port int `json:"port"` + Enable bool `json:"enable"` +} + +type EventUrlVo struct { + Url string `json:"url"` + Enable bool `json:"enable"` +} + +// @Summary 浜嬩欢鎺ㄩ�佷繚瀛� +// @Description 浜嬩欢鎺ㄩ�佷繚瀛� +// @Tags 浜嬩欢鎺ㄩ�� +// @Param SaveArgs body controllers.EventPushVo 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/eventPush/save [post] +func (epc EventPushController) Save(c *gin.Context){ + var saveBody EventPushVo + if err := c.BindJSON(&saveBody);err !=nil { + util.ResponseFormat(c,code.RequestParamError,"鍙傛暟鏈夎") + return + } + var api dbapi.EventPushApi + paramBody := util.Struct2Map(saveBody) + flag, data := api.Save(paramBody) + if flag { + util.ResponseFormat(c,code.Success,data) + } else { + util.ResponseFormat(c,code.ComError,data) + } +} + +// @Summary 鏍规嵁浜嬩欢鎺ㄩ�佷富棰樼殑涓�绾у拰浜岀骇閫夐」鑾峰彇鏈�鍚庝笅鎷夎彍鍗曞垪琛� +// @Description 鏍规嵁浜嬩欢鎺ㄩ�佷富棰樼殑涓�绾у拰浜岀骇閫夐」鑾峰彇鏈�鍚庝笅鎷夎彍鍗曞垪琛� +// @Produce json +// @Tags 浜嬩欢鎺ㄩ�� +// @Param topic query string true "涓�绾т富棰橀�夐」,渚嬪锛歝amera(鎽勫儚鏈�)" +// @Param type query string true "瀛愰�夐」绫诲瀷锛屼緥濡傦細name锛堝悕绉帮級鎴朼ddr锛堜綅缃級" +// @Success 200 {string} json "{"code":200, success:true, msg:"", data:""}" +// @Failure 500 {string} json "{"code":500, success:false, msg:"",data:""}" +// @Router /data/api-v/eventPush/findByEventTopic [get] +func (epc EventPushController) FindByEventTopic(c *gin.Context){ + topic := c.Query("topic") + childType := c.Query("type") + if topic == ""{ + util.ResponseFormat(c,code.RequestParamError,"鍙傛暟鏈夎") + return + } + var api dbapi.EventPushApi + flag, data := api.FindByEventTopic(topic, childType) + if flag { + util.ResponseFormat(c,code.Success,data) + } else { + util.ResponseFormat(c,code.ComError,data) + } +} + +// @Summary 鏌ュ叏閮� +// @Description 鏌ュ叏閮� +// @Produce json +// @Tags 浜嬩欢鎺ㄩ�� +// @Param name query string false "浜嬩欢鍚嶇О" +// @Success 200 {string} json "{"code":200, success:true, msg:"", data:""}" +// @Failure 500 {string} json "{"code":500, success:false, msg:"",data:""}" +// @Router /data/api-v/eventPush/findAll [get] +func (controller EventPushController) FindAll(c *gin.Context){ + name := c.Query("name") + var api dbapi.EventPushApi + flag,data := api.FindAll(name) + if flag { + util.ResponseFormat(c,code.Success,data) + } else{ + util.ResponseFormat(c,code.ComError,"") + } +} + +// @Summary 浜嬩欢鎺ㄩ�佺紪杈� +// @Description 浜嬩欢鎺ㄩ�佺紪杈� +// @Produce json +// @Tags 浜嬩欢鎺ㄩ�� +// @Param id 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/eventPush/getById [get] +func (controller EventPushController) GetById(c *gin.Context){ + id := c.Query("id") + if id == ""{ + util.ResponseFormat(c,code.RequestParamError,"鍙傛暟鏈夎") + return + } + var api dbapi.EventPushApi + flag,data := api.GetById(id) + if flag { + util.ResponseFormat(c,code.Success, data) + } else{ + util.ResponseFormat(c,code.ComError,"") + } +} + +type ChangeStatusVo struct { + Id string `json:"id"` + Enable bool `json:"enable"` +} + +// @Summary 鏀瑰彉enable鐘舵�� +// @Description 鏀瑰彉enable鐘舵�� +// @Produce json +// @Tags 浜嬩欢鎺ㄩ�� +// @Param statusBody body controllers.ChangeStatusVo 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/eventPush/changeStatus [post] +func (controller EventPushController) ChangeStatus(c *gin.Context){ + var statusBody ChangeStatusVo + err := c.BindJSON(&statusBody) + if err !=nil { + util.ResponseFormat(c,code.RequestParamError,"鍙傛暟鏈夎") + return + } + var api dbapi.EventPushApi + flag, data := api.ChangeStatus(statusBody.Id, statusBody.Enable) + if flag{ + util.ResponseFormat(c,code.Success,data) + } else { + util.ResponseFormat(c,code.ComError,data) + } +} + +// @Summary 鏍规嵁id鍒犻櫎 +// @Description 鏍规嵁id鍒犻櫎 +// @Accept x-www-form-urlencoded +// @Produce json +// @Tags 浜嬩欢鎺ㄩ�� +// @Param id 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/eventPush/delete [post] +func (controller EventPushController) Delete(c *gin.Context){ + id := c.PostForm("id") + if id ==""{ + util.ResponseFormat(c,code.RequestParamError,"鍙傛暟鏈夎") + return + } + var api dbapi.EventPushApi + flag, data := api.Delete(id) + if flag{ + util.ResponseFormat(c,code.Success,data) + } else { + util.ResponseFormat(c,code.ComError,data) + } +} diff --git a/middlewares/auth/jwt.go b/middlewares/auth/jwt.go index c7074e2..01fdab9 100644 --- a/middlewares/auth/jwt.go +++ b/middlewares/auth/jwt.go @@ -2,7 +2,6 @@ import ( "encoding/json" - "errors" jwtLib "github.com/dgrijalva/jwt-go" "github.com/dgrijalva/jwt-go/request" "github.com/gin-gonic/gin" @@ -64,7 +63,7 @@ return b,nil }) if err !=nil { - panic(err) + return nil } } else { jwtToken = jwtUser.(map[string]interface{})["token"].(*jwtLib.Token) @@ -72,7 +71,7 @@ if claims,ok :=jwtToken.Claims.(jwtLib.MapClaims);ok && jwtToken.Valid{ var user map[string]interface{} if err := json.Unmarshal([]byte(claims["user"].(string)), &user); err != nil { - panic(err) + return nil } c.Set("User", map[string]interface{}{ "token": jwtToken, @@ -80,7 +79,7 @@ }) return user } else { - panic(errors.New("decode jwt user claims fail")) + return nil } } diff --git a/router/router.go b/router/router.go index cabb1e3..6425bd8 100644 --- a/router/router.go +++ b/router/router.go @@ -7,6 +7,8 @@ "github.com/szuecs/gin-glog" "time" "webserver/controllers" + + _ "webserver/docs" ) func NewRouter() *gin.Engine { @@ -32,6 +34,7 @@ cameraTaskArgsController :=new(controllers.CameraTaskArgsController) dicController :=new(controllers.DictionaryController) userController :=new(controllers.UserController) + eventPushController :=new(controllers.EventPushController) urlPrefix := "/data/api-v" // wp 娣诲姞 璺緞 鍓嶇紑 userApi :=r.Group(urlPrefix+"/user") @@ -166,6 +169,16 @@ dicApi :=r.Group(urlPrefix+"/dictionary") { dicApi.GET("/findByType",dicController.FindByType) + dicApi.GET("/findByParentId",dicController.FindByParentId) + } + eventPushApi :=r.Group(urlPrefix+"/eventPush") + { + eventPushApi.POST("/save",eventPushController.Save) + eventPushApi.GET("/findByEventTopic",eventPushController.FindByEventTopic) + eventPushApi.GET("/findAll",eventPushController.FindAll) + eventPushApi.GET("/getById",eventPushController.GetById) + eventPushApi.POST("/changeStatus",eventPushController.ChangeStatus) + eventPushApi.POST("/delete",eventPushController.Delete) } // 鏂囦欢 涓婁紶 -- Gitblit v1.8.0