package router import ( "net/http" "chatapp3-golang/internal/service/binancerecharge" "github.com/gin-gonic/gin" ) // registerBinanceRechargeRoutes registers H5 verification and admin config routes. func registerBinanceRechargeRoutes(engine *gin.Engine, javaClient authGateway, service *binancerecharge.Service) { if service == nil { return } appGroup := engine.Group("/app/h5/binance-recharge") appGroup.Use(authMiddleware(javaClient)) appGroup.POST("/verify", func(c *gin.Context) { var req binancerecharge.VerifyRechargeRequest if err := c.ShouldBindJSON(&req); err != nil { writeError(c, binancerecharge.NewAppError(http.StatusBadRequest, "bad_request", err.Error())) return } resp, err := service.VerifyAndRecharge(c.Request.Context(), mustAuthUser(c), req) if err != nil { writeError(c, err) return } writeOK(c, resp) }) adminGroup := engine.Group("/payment/binance") adminGroup.Use(consoleAuthMiddleware(javaClient)) adminGroup.GET("/config", func(c *gin.Context) { resp, err := service.GetConfig(c.Request.Context(), c.Query("sysOrigin")) if err != nil { writeError(c, err) return } writeOK(c, resp) }) adminGroup.POST("/config/save", func(c *gin.Context) { var req binancerecharge.SaveConfigRequest if err := c.ShouldBindJSON(&req); err != nil { writeError(c, binancerecharge.NewAppError(http.StatusBadRequest, "bad_request", err.Error())) return } resp, err := service.SaveConfig(c.Request.Context(), req) if err != nil { writeError(c, err) return } writeOK(c, resp) }) }