feat: 实现订单支付功能模块
All checks were successful
构建并部署到测试环境(无 SSH) / build-and-deploy (push) Successful in 5m36s
All checks were successful
构建并部署到测试环境(无 SSH) / build-and-deploy (push) Successful in 5m36s
- 新增订单管理、支付回调、购买验证等核心服务 - 实现订单、订单项目的数据存储层和 API 接口 - 添加订单数据库迁移和 DTO 定义 - 更新 API 文档和路由配置 - 同步 3 个新规范到主规范库(订单管理、订单支付、套餐购买验证) - 完成 OpenSpec 变更归档 Ultraworked with Sisyphus
This commit is contained in:
@@ -88,6 +88,9 @@ func RegisterAdminRoutes(router fiber.Router, handlers *bootstrap.Handlers, midd
|
||||
if handlers.ShopPackageBatchPricing != nil {
|
||||
registerShopPackageBatchPricingRoutes(authGroup, handlers.ShopPackageBatchPricing, doc, basePath)
|
||||
}
|
||||
if handlers.AdminOrder != nil {
|
||||
registerAdminOrderRoutes(authGroup, handlers.AdminOrder, doc, basePath)
|
||||
}
|
||||
}
|
||||
|
||||
func registerAdminAuthRoutes(router fiber.Router, handler interface{}, authMiddleware fiber.Handler, doc *openapi.Generator, basePath string) {
|
||||
|
||||
@@ -13,6 +13,13 @@ func RegisterH5Routes(router fiber.Router, handlers *bootstrap.Handlers, middlew
|
||||
if handlers.H5Auth != nil {
|
||||
registerH5AuthRoutes(router, handlers.H5Auth, middlewares.H5Auth, doc, basePath)
|
||||
}
|
||||
|
||||
// 需要认证的路由组
|
||||
authGroup := router.Group("", middlewares.H5Auth)
|
||||
|
||||
if handlers.H5Order != nil {
|
||||
registerH5OrderRoutes(authGroup, handlers.H5Order, doc, basePath)
|
||||
}
|
||||
}
|
||||
|
||||
func registerH5AuthRoutes(router fiber.Router, handler interface{}, authMiddleware fiber.Handler, doc *openapi.Generator, basePath string) {
|
||||
|
||||
100
internal/routes/order.go
Normal file
100
internal/routes/order.go
Normal file
@@ -0,0 +1,100 @@
|
||||
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,
|
||||
})
|
||||
}
|
||||
|
||||
// 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,
|
||||
})
|
||||
}
|
||||
@@ -31,4 +31,10 @@ func RegisterRoutesWithDoc(app *fiber.App, handlers *bootstrap.Handlers, middlew
|
||||
|
||||
// 4. 个人客户路由 (挂载在 /api/c/v1)
|
||||
RegisterPersonalCustomerRoutes(app, handlers, middlewares.PersonalAuth)
|
||||
|
||||
// 5. 支付回调路由 (挂载在 /api/callback,无需认证)
|
||||
if handlers.PaymentCallback != nil {
|
||||
callbackGroup := app.Group("/api/callback")
|
||||
registerPaymentCallbackRoutes(callbackGroup, handlers.PaymentCallback, doc, "/api/callback")
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user