package router import ( "github.com/gin-gonic/gin" "gorm.io/gorm" "github.com/wangjia/pay/config" "github.com/wangjia/pay/internal/channel" "github.com/wangjia/pay/internal/handler" "github.com/wangjia/pay/internal/service" ) // Setup 装配路由。返回 OrderService 供 main 启动查单兜底任务。 func Setup(r *gin.Engine, db *gorm.DB, reg *channel.Registry) *service.OrderService { orderSvc := service.NewOrderService(db, reg, config.C.Server.BaseURL) orderH := handler.NewOrderHandler(orderSvc) pageH := handler.NewPageHandler(db, "web") r.GET("/health", func(c *gin.Context) { c.JSON(200, gin.H{"status": "ok"}) }) // 页面 r.GET("/result", pageH.ResultPage) r.GET("/qrcode", pageH.QRCode) v1 := r.Group("/api/v1") { v1.GET("/products", pageH.ListProducts) v1.POST("/orders", orderH.Create) v1.POST("/orders/qr", orderH.CreateQR) v1.GET("/orders/:out_trade_no", orderH.GetStatus) v1.POST("/notify/alipay", orderH.AlipayNotify) v1.POST("/notify/wechat", orderH.WechatNotify) } return orderSvc }