com.snow.auto_monitor/app/http/routes/route.go

125 lines
3.8 KiB
Go

package routes
/**
* 配置路由
*/
import (
"com.snow.auto_monitor/app/http/controllers"
"com.snow.auto_monitor/app/http/middlewares"
"com.snow.auto_monitor/app/http/trace"
"com.snow.auto_monitor/app/utils/metric"
"com.snow.auto_monitor/config"
merCon "com.snow.auto_monitor/app/http/controllers/merchant"
ordersCon "com.snow.auto_monitor/app/http/controllers/orders"
proCon "com.snow.auto_monitor/app/http/controllers/product"
transCon "com.snow.auto_monitor/app/http/controllers/transfersys"
wlCon "com.snow.auto_monitor/app/http/controllers/whitelist"
zlCon "com.snow.auto_monitor/app/http/controllers/zhiliansys"
"github.com/gin-gonic/gin"
"github.com/qit-team/snow-core/http/middleware"
"github.com/qit-team/snow-core/log/logger"
ginSwagger "github.com/swaggo/gin-swagger"
"github.com/swaggo/gin-swagger/swaggerFiles"
)
// api路由配置
func RegisterRoute(router *gin.Engine) {
//middleware: 服务错误处理 => 生成请求id => access log
router.Use(middlewares.ServerRecovery(), middleware.GenRequestId,
middleware.GenContextKit, middleware.AccessLog(), middlewares.VerifyIp(),
middlewares.Cors())
if config.GetConf().PrometheusCollectEnable && config.IsEnvEqual(config.ProdEnv) {
router.Use(middlewares.CollectMetric())
metric.Init(metric.EnableRuntime(), metric.EnableProcess())
metricHandler := metric.Handler()
router.GET("/metrics", func(ctx *gin.Context) {
metricHandler.ServeHTTP(ctx.Writer, ctx.Request)
})
}
if len(config.GetConf().SkyWalkingOapServer) > 0 && config.IsEnvEqual(config.ProdEnv) {
err := trace.InitTracer(config.GetConf().ServiceName, config.GetConf().SkyWalkingOapServer)
if err != nil {
logger.Error(nil, "InitTracer", err.Error())
} else {
router.Use(middlewares.Trace())
}
}
router.NoRoute(controllers.Error404)
router.GET("/hello", controllers.HandleHello)
router.POST("/test", controllers.HandleTest)
router.POST("/test_validator", controllers.HandleTestValidator)
//api版本
v1 := router.Group("/v1")
{
v1.GET("/banner_list", controllers.GetBannerList)
}
merchant := router.Group("/merchant")
{
merchant.POST("/get_by_id", merCon.GetById)
merchant.POST("/search", merCon.Search)
merchant.POST("/create", merCon.Create)
// merchant.POST("/update", merCon.Update)
// merchant.POST("/delete", merCon.Delete)
}
orders := router.Group("/orders")
orders.Use(middlewares.VerifyHtmlIp())
{
orders.POST("/get_by_id", ordersCon.GetById)
orders.POST("/search", ordersCon.Search)
// orders.POST("/create", ordersCon.Create)
// orders.POST("/update", ordersCon.Update)
// orders.POST("/delete", ordersCon.Delete)
}
product := router.Group("/product")
product.Use(middlewares.VerifyHtmlIp())
{
product.POST("/get_by_id", proCon.GetById)
product.POST("/search", proCon.Search)
product.POST("/create", proCon.Create)
product.POST("/update", proCon.Update)
product.POST("/delete", proCon.Delete)
}
whitelist := router.Group("/whitelist")
whitelist.Use(middlewares.VerifyHtmlIp())
{
whitelist.POST("/get_by_id", wlCon.GetById)
whitelist.POST("/search", wlCon.Search)
whitelist.POST("/create", wlCon.Create)
whitelist.POST("/update", wlCon.Update)
whitelist.POST("/delete", wlCon.Delete)
}
zhilian := router.Group("/zhilian")
// zhilian.Use(middlewares.VerifySign())
zhilian.Use(middlewares.RequestLog())
{
zhilian.POST("/recharge/order", zlCon.CreateOrder)
zhilian.POST("/recharge/query", zlCon.GetByOutTradeNo)
}
transfersys := router.Group("/transfersys")
transfersys.Use(middlewares.RequestLog())
{
transfersys.GET("/recharge/get_order", transCon.GetOrder)
transfersys.POST("/recharge/finish", transCon.FinishOrder)
}
temp := router.Group("temp")
temp.Use(middlewares.VerifyHtmlIp())
temp.Use(middlewares.RequestLog())
{
temp.POST("/recharge/order", zlCon.CreateOrder)
}
router.GET("/swagger/*any", ginSwagger.WrapHandler(swaggerFiles.Handler))
}