diff --git a/internal/bootstrap/handlers.go b/internal/bootstrap/handlers.go index 5c36c9a..848e794 100644 --- a/internal/bootstrap/handlers.go +++ b/internal/bootstrap/handlers.go @@ -58,7 +58,7 @@ func initHandlers(svc *services, deps *Dependencies) *Handlers { ShopRole: admin.NewShopRoleHandler(svc.Shop), AdminAuth: admin.NewAuthHandler(svc.Auth, validate), ShopCommission: admin.NewShopCommissionHandler(svc.ShopCommission), - CommissionWithdrawal: admin.NewCommissionWithdrawalHandler(svc.CommissionWithdrawal), + CommissionWithdrawal: admin.NewCommissionWithdrawalHandler(svc.CommissionWithdrawal, validate), CommissionWithdrawalSetting: admin.NewCommissionWithdrawalSettingHandler(svc.CommissionWithdrawalSetting), Enterprise: admin.NewEnterpriseHandler(svc.Enterprise), EnterpriseCard: admin.NewEnterpriseCardHandler(svc.EnterpriseCard), diff --git a/internal/handler/admin/commission_withdrawal.go b/internal/handler/admin/commission_withdrawal.go index f966013..70c9be6 100644 --- a/internal/handler/admin/commission_withdrawal.go +++ b/internal/handler/admin/commission_withdrawal.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" @@ -11,12 +12,15 @@ import ( "github.com/break/junhong_cmp_fiber/pkg/response" ) +// CommissionWithdrawalHandler 提现申请管理处理器 type CommissionWithdrawalHandler struct { - service *commissionWithdrawalService.Service + service *commissionWithdrawalService.Service + validator *validator.Validate } -func NewCommissionWithdrawalHandler(service *commissionWithdrawalService.Service) *CommissionWithdrawalHandler { - return &CommissionWithdrawalHandler{service: service} +// NewCommissionWithdrawalHandler 创建提现申请管理处理器 +func NewCommissionWithdrawalHandler(service *commissionWithdrawalService.Service, validator *validator.Validate) *CommissionWithdrawalHandler { + return &CommissionWithdrawalHandler{service: service, validator: validator} } func (h *CommissionWithdrawalHandler) ListWithdrawalRequests(c *fiber.Ctx) error { @@ -62,6 +66,9 @@ func (h *CommissionWithdrawalHandler) RejectWithdrawal(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.Reject(c.UserContext(), uint(id), &req) if err != nil {