diff --git a/internal/bootstrap/handlers.go b/internal/bootstrap/handlers.go index d6e1bd6..6329308 100644 --- a/internal/bootstrap/handlers.go +++ b/internal/bootstrap/handlers.go @@ -95,7 +95,7 @@ func initHandlers(svc *services, deps *Dependencies) *Handlers { AssetLifecycle: admin.NewAssetLifecycleHandler(svc.AssetLifecycle), AssetWallet: admin.NewAssetWalletHandler(svc.AssetWallet), WechatConfig: admin.NewWechatConfigHandler(svc.WechatConfig), - AgentRecharge: admin.NewAgentRechargeHandler(svc.AgentRecharge), + AgentRecharge: admin.NewAgentRechargeHandler(svc.AgentRecharge, validate), Refund: admin.NewRefundHandler(svc.Refund), } } diff --git a/internal/handler/admin/agent_recharge.go b/internal/handler/admin/agent_recharge.go index 9d28fb2..0b22891 100644 --- a/internal/handler/admin/agent_recharge.go +++ b/internal/handler/admin/agent_recharge.go @@ -3,6 +3,7 @@ package admin import ( "strconv" + "github.com/go-playground/validator/v10" "github.com/gofiber/fiber/v2" "github.com/break/junhong_cmp_fiber/internal/model/dto" @@ -13,12 +14,13 @@ import ( // AgentRechargeHandler 代理预充值 Handler type AgentRechargeHandler struct { - service *agentRechargeSvc.Service + service *agentRechargeSvc.Service + validator *validator.Validate } // NewAgentRechargeHandler 创建代理预充值 Handler -func NewAgentRechargeHandler(service *agentRechargeSvc.Service) *AgentRechargeHandler { - return &AgentRechargeHandler{service: service} +func NewAgentRechargeHandler(service *agentRechargeSvc.Service, validator *validator.Validate) *AgentRechargeHandler { + return &AgentRechargeHandler{service: service, validator: validator} } // Create 创建代理充值订单 @@ -28,6 +30,9 @@ func (h *AgentRechargeHandler) Create(c *fiber.Ctx) error { if err := c.BodyParser(&req); err != nil { return errors.New(errors.CodeInvalidParam, "请求参数解析失败") } + if err := h.validator.Struct(&req); err != nil { + return errors.New(errors.CodeInvalidParam) + } result, err := h.service.Create(c.UserContext(), &req) if err != nil { diff --git a/pkg/openapi/handlers.go b/pkg/openapi/handlers.go index 2184075..936c326 100644 --- a/pkg/openapi/handlers.go +++ b/pkg/openapi/handlers.go @@ -57,7 +57,7 @@ func BuildDocHandlers() *bootstrap.Handlers { Asset: admin.NewAssetHandler(nil, nil, nil), AssetWallet: admin.NewAssetWalletHandler(nil), WechatConfig: admin.NewWechatConfigHandler(nil), - AgentRecharge: admin.NewAgentRechargeHandler(nil), + AgentRecharge: admin.NewAgentRechargeHandler(nil, nil), Refund: admin.NewRefundHandler(nil), } }