electricity_bill_calc_service/router/router.go
2022-09-08 16:10:08 +08:00

53 lines
1.3 KiB
Go

package router
import (
"electricity_bill_calc/controller"
"electricity_bill_calc/logger"
"electricity_bill_calc/response"
"electricity_bill_calc/security"
"github.com/gin-gonic/gin"
"go.uber.org/zap"
)
func Router() *gin.Engine {
router := gin.Default()
router.Use(logger.Logger())
router.Use(Recover)
router.Use(security.SessionRecovery)
controller.InitializeUserController(router)
controller.InitializeRegionController(router)
controller.InitializeChargesController(router)
controller.InitializeParkController(router)
controller.InitializeMaintenanceFeeController(router)
controller.InitializeMeter04kVController(router)
controller.InitializeReportController(router)
controller.InitializeEndUserController(router)
controller.InitializeWithdrawController(router)
controller.InitializeStatisticsController(router)
controller.InitializeGodModeController(router)
return router
}
// 404
func HandleNotFound(c *gin.Context) {
response.NewResult(c).NotFound("指定资源未找到。")
}
// 500
func Recover(c *gin.Context) {
defer func() {
if r := recover(); r != nil {
//打印错误堆栈信息
if err, ok := r.(error); ok {
logger.Error(err.Error(), zap.Error(err))
}
// response.NewResult(c).Error(500, "服务器内部错误")
}
}()
//继续后续接口调用
c.Next()
}