package routes import ( "github.com/gofiber/fiber/v2" "github.com/break/junhong_cmp_fiber/internal/handler/admin" "github.com/break/junhong_cmp_fiber/internal/handler/callback" "github.com/break/junhong_cmp_fiber/internal/handler/h5" "github.com/break/junhong_cmp_fiber/internal/model/dto" "github.com/break/junhong_cmp_fiber/pkg/openapi" ) // registerAdminOrderRoutes 注册后台订单路由 func registerAdminOrderRoutes(router fiber.Router, handler *admin.OrderHandler, doc *openapi.Generator, basePath string) { Register(router, doc, basePath, "POST", "/orders", handler.Create, RouteSpec{ Summary: "创建订单", Tags: []string{"订单管理"}, Input: new(dto.CreateOrderRequest), Output: new(dto.OrderResponse), Auth: true, }) Register(router, doc, basePath, "GET", "/orders", handler.List, RouteSpec{ Summary: "获取订单列表", Tags: []string{"订单管理"}, Input: new(dto.OrderListRequest), Output: new(dto.OrderListResponse), Auth: true, }) Register(router, doc, basePath, "GET", "/orders/:id", handler.Get, RouteSpec{ Summary: "获取订单详情", Tags: []string{"订单管理"}, Input: new(dto.GetOrderRequest), Output: new(dto.OrderResponse), Auth: true, }) Register(router, doc, basePath, "POST", "/orders/:id/cancel", handler.Cancel, RouteSpec{ Summary: "取消订单", Tags: []string{"订单管理"}, Input: new(dto.CancelOrderRequest), Output: nil, Auth: true, }) } // registerH5OrderRoutes 注册H5订单路由 func registerH5OrderRoutes(router fiber.Router, handler *h5.OrderHandler, doc *openapi.Generator, basePath string) { Register(router, doc, basePath, "POST", "/orders", handler.Create, RouteSpec{ Summary: "创建订单", Tags: []string{"H5 订单"}, Input: new(dto.CreateOrderRequest), Output: new(dto.OrderResponse), Auth: true, }) Register(router, doc, basePath, "GET", "/orders", handler.List, RouteSpec{ Summary: "获取订单列表", Tags: []string{"H5 订单"}, Input: new(dto.OrderListRequest), Output: new(dto.OrderListResponse), Auth: true, }) Register(router, doc, basePath, "GET", "/orders/:id", handler.Get, RouteSpec{ Summary: "获取订单详情", Tags: []string{"H5 订单"}, Input: new(dto.GetOrderRequest), Output: new(dto.OrderResponse), Auth: true, }) Register(router, doc, basePath, "POST", "/orders/:id/wallet-pay", handler.WalletPay, RouteSpec{ Summary: "钱包支付", Tags: []string{"H5 订单"}, Input: new(dto.CancelOrderRequest), Output: nil, Auth: true, }) Register(router, doc, basePath, "POST", "/orders/:id/wechat-pay/jsapi", handler.WechatPayJSAPI, RouteSpec{ Summary: "微信 JSAPI 支付", Tags: []string{"H5 订单"}, Input: new(dto.WechatPayJSAPIParams), Output: new(dto.WechatPayJSAPIResponse), Auth: true, }) Register(router, doc, basePath, "POST", "/orders/:id/wechat-pay/h5", handler.WechatPayH5, RouteSpec{ Summary: "微信 H5 支付", Tags: []string{"H5 订单"}, Input: new(dto.WechatPayH5Params), Output: new(dto.WechatPayH5Response), Auth: true, }) } // registerPaymentCallbackRoutes 注册支付回调路由 func registerPaymentCallbackRoutes(router fiber.Router, handler *callback.PaymentHandler, doc *openapi.Generator, basePath string) { Register(router, doc, basePath, "POST", "/wechat-pay", handler.WechatPayCallback, RouteSpec{ Summary: "微信支付回调", Tags: []string{"支付回调"}, Input: nil, Output: nil, Auth: false, }) Register(router, doc, basePath, "POST", "/alipay", handler.AlipayCallback, RouteSpec{ Summary: "支付宝回调", Tags: []string{"支付回调"}, Input: nil, Output: nil, Auth: false, }) }