- payment.go: WechatPayCallback 改造为按订单号前缀分发(ORD→套餐订单、CRCH→资产充值、ARCH→代理充值);新增 FuiouPayCallback(GBK→UTF-8+XML解析+验签+分发);修复 RechargeOrderPrefix 废弃引用 - order.go: 注册 POST /api/callback/fuiou-pay 路由(无需认证) Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-opencode) Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
133 lines
4.2 KiB
Go
133 lines
4.2 KiB
Go
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,
|
|
})
|
|
|
|
Register(router, doc, basePath, "POST", "/orders/purchase-check", handler.PurchaseCheck, RouteSpec{
|
|
Summary: "套餐购买预检",
|
|
Tags: []string{"订单管理"},
|
|
Input: new(dto.PurchaseCheckRequest),
|
|
Output: new(dto.PurchaseCheckResponse),
|
|
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,
|
|
})
|
|
|
|
Register(router, doc, basePath, "POST", "/fuiou-pay", handler.FuiouPayCallback, RouteSpec{
|
|
Summary: "富友支付回调",
|
|
Tags: []string{"支付回调"},
|
|
Input: nil,
|
|
Output: nil,
|
|
Auth: false,
|
|
})
|
|
}
|