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