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