2025-07-13 16:36:20 +08:00
|
|
|
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 {
|
2025-07-28 01:46:39 +08:00
|
|
|
financeHandler *handlers.FinanceHandler
|
|
|
|
|
authMiddleware *middleware.JWTAuthMiddleware
|
|
|
|
|
adminAuthMiddleware *middleware.AdminAuthMiddleware
|
|
|
|
|
logger *zap.Logger
|
2025-07-13 16:36:20 +08:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// NewFinanceRoutes 创建财务路由注册器
|
|
|
|
|
func NewFinanceRoutes(
|
|
|
|
|
financeHandler *handlers.FinanceHandler,
|
|
|
|
|
authMiddleware *middleware.JWTAuthMiddleware,
|
2025-07-28 01:46:39 +08:00
|
|
|
adminAuthMiddleware *middleware.AdminAuthMiddleware,
|
2025-07-13 16:36:20 +08:00
|
|
|
logger *zap.Logger,
|
|
|
|
|
) *FinanceRoutes {
|
|
|
|
|
return &FinanceRoutes{
|
2025-07-28 01:46:39 +08:00
|
|
|
financeHandler: financeHandler,
|
|
|
|
|
authMiddleware: authMiddleware,
|
|
|
|
|
adminAuthMiddleware: adminAuthMiddleware,
|
|
|
|
|
logger: logger,
|
2025-07-13 16:36:20 +08:00
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// Register 注册财务相关路由
|
|
|
|
|
func (r *FinanceRoutes) Register(router *sharedhttp.GinRouter) {
|
|
|
|
|
engine := router.GetEngine()
|
2025-07-28 01:46:39 +08:00
|
|
|
|
|
|
|
|
// 支付宝回调路由(不需要认证)
|
|
|
|
|
alipayGroup := engine.Group("/api/v1/finance/alipay")
|
|
|
|
|
{
|
|
|
|
|
alipayGroup.POST("/callback", r.financeHandler.HandleAlipayCallback) // 支付宝异步回调
|
|
|
|
|
alipayGroup.GET("/return", r.financeHandler.HandleAlipayReturn) // 支付宝同步回调
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// 财务路由组,需要用户认证
|
2025-07-13 16:36:20 +08:00
|
|
|
financeGroup := engine.Group("/api/v1/finance")
|
|
|
|
|
financeGroup.Use(r.authMiddleware.Handle())
|
|
|
|
|
{
|
|
|
|
|
// 钱包相关路由
|
|
|
|
|
walletGroup := financeGroup.Group("/wallet")
|
|
|
|
|
{
|
2025-07-28 01:46:39 +08:00
|
|
|
walletGroup.GET("", r.financeHandler.GetWallet) // 获取钱包信息
|
|
|
|
|
walletGroup.GET("/transactions", r.financeHandler.GetUserWalletTransactions) // 获取钱包交易记录
|
|
|
|
|
walletGroup.GET("/recharge-config", r.financeHandler.GetRechargeConfig) // 获取充值配置
|
|
|
|
|
walletGroup.POST("/alipay-recharge", r.financeHandler.CreateAlipayRecharge) // 创建支付宝充值订单
|
|
|
|
|
walletGroup.GET("/recharge-records", r.financeHandler.GetUserRechargeRecords) // 用户充值记录分页
|
|
|
|
|
walletGroup.GET("/alipay-order-status", r.financeHandler.GetAlipayOrderStatus) // 获取支付宝订单状态
|
2025-07-13 16:36:20 +08:00
|
|
|
}
|
2025-07-28 01:46:39 +08:00
|
|
|
}
|
2025-07-13 16:36:20 +08:00
|
|
|
|
2025-07-28 01:46:39 +08:00
|
|
|
// 管理员财务路由组
|
|
|
|
|
adminFinanceGroup := engine.Group("/api/v1/admin/finance")
|
|
|
|
|
adminFinanceGroup.Use(r.adminAuthMiddleware.Handle())
|
|
|
|
|
{
|
|
|
|
|
adminFinanceGroup.POST("/transfer-recharge", r.financeHandler.TransferRecharge) // 对公转账充值
|
|
|
|
|
adminFinanceGroup.POST("/gift-recharge", r.financeHandler.GiftRecharge) // 赠送充值
|
|
|
|
|
adminFinanceGroup.GET("/recharge-records", r.financeHandler.GetAdminRechargeRecords) // 管理员充值记录分页
|
2025-07-13 16:36:20 +08:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
r.logger.Info("财务路由注册完成")
|
|
|
|
|
}
|