yumi-golang/internal/router/binance_recharge_routes.go
2026-05-12 14:08:46 +08:00

57 lines
1.5 KiB
Go

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)
})
}