62 lines
2.2 KiB
Go
62 lines
2.2 KiB
Go
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("财务路由注册完成")
|
|
}
|