package routes import ( "tyapi-server/internal/infrastructure/http/handlers" sharedhttp "tyapi-server/internal/shared/http" "tyapi-server/internal/shared/middleware" "go.uber.org/zap" ) // FinanceRoutes 财务路由注册器 type FinanceRoutes struct { financeHandler *handlers.FinanceHandler authMiddleware *middleware.JWTAuthMiddleware logger *zap.Logger } // NewFinanceRoutes 创建财务路由注册器 func NewFinanceRoutes( financeHandler *handlers.FinanceHandler, authMiddleware *middleware.JWTAuthMiddleware, logger *zap.Logger, ) *FinanceRoutes { return &FinanceRoutes{ financeHandler: financeHandler, authMiddleware: authMiddleware, logger: logger, } } // Register 注册财务相关路由 func (r *FinanceRoutes) Register(router *sharedhttp.GinRouter) { // 财务路由组,需要用户认证 engine := router.GetEngine() financeGroup := engine.Group("/api/v1/finance") financeGroup.Use(r.authMiddleware.Handle()) { // 钱包相关路由 walletGroup := financeGroup.Group("/wallet") { walletGroup.POST("", r.financeHandler.CreateWallet) // 创建钱包 walletGroup.GET("", r.financeHandler.GetWallet) // 获取钱包信息 walletGroup.PUT("", r.financeHandler.UpdateWallet) // 更新钱包 walletGroup.POST("/recharge", r.financeHandler.Recharge) // 充值 walletGroup.POST("/withdraw", r.financeHandler.Withdraw) // 提现 walletGroup.POST("/transaction", r.financeHandler.WalletTransaction) // 钱包交易 walletGroup.GET("/stats", r.financeHandler.GetWalletStats) // 获取钱包统计 } // 用户密钥相关路由 secretsGroup := financeGroup.Group("/secrets") { secretsGroup.POST("", r.financeHandler.CreateUserSecrets) // 创建用户密钥 secretsGroup.GET("", r.financeHandler.GetUserSecrets) // 获取用户密钥 secretsGroup.POST("/regenerate", r.financeHandler.RegenerateAccessKey) // 重新生成访问密钥 secretsGroup.POST("/deactivate", r.financeHandler.DeactivateUserSecrets) // 停用用户密钥 } } r.logger.Info("财务路由注册完成") }