From bc7e5d6f6d7ac8d6477f629cb013020828d861a3 Mon Sep 17 00:00:00 2001 From: huang Date: Tue, 3 Feb 2026 09:57:53 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8Dgo=E7=9A=84=E9=AA=8C=E8=AF=81?= =?UTF-8?q?=E5=BA=93=E6=8A=8Aint=E7=9A=840=E5=BD=93=E4=BD=9C=E6=97=A0?= =?UTF-8?q?=E5=80=BC=E7=9A=84=E6=83=85=E5=86=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- internal/handler/admin/role.go | 2 +- internal/model/dto/role_dto.go | 2 +- tests/integration/role_test.go | 11 ++++++++--- 3 files changed, 10 insertions(+), 5 deletions(-) diff --git a/internal/handler/admin/role.go b/internal/handler/admin/role.go index 228d807..c9930b1 100644 --- a/internal/handler/admin/role.go +++ b/internal/handler/admin/role.go @@ -219,7 +219,7 @@ func (h *RoleHandler) UpdateStatus(c *fiber.Ctx) error { return errors.New(errors.CodeInvalidParam) } - if err := h.service.UpdateStatus(c.UserContext(), uint(id), req.Status); err != nil { + if err := h.service.UpdateStatus(c.UserContext(), uint(id), *req.Status); err != nil { return err } diff --git a/internal/model/dto/role_dto.go b/internal/model/dto/role_dto.go index bdc6a74..f536177 100644 --- a/internal/model/dto/role_dto.go +++ b/internal/model/dto/role_dto.go @@ -69,7 +69,7 @@ type RemovePermissionParams struct { // UpdateRoleStatusRequest 更新角色状态请求 type UpdateRoleStatusRequest struct { - Status int `json:"status" validate:"required,min=0,max=1" required:"true" minimum:"0" maximum:"1" description:"状态 (0:禁用, 1:启用)"` + Status *int `json:"status" validate:"required,min=0,max=1" description:"状态 (0:禁用, 1:启用)"` } // UpdateRoleStatusParams 更新角色状态参数聚合 diff --git a/tests/integration/role_test.go b/tests/integration/role_test.go index d21cf51..4bd584d 100644 --- a/tests/integration/role_test.go +++ b/tests/integration/role_test.go @@ -225,7 +225,7 @@ func TestRoleAPI_UpdateStatus(t *testing.T) { t.Run("成功禁用角色", func(t *testing.T) { reqBody := dto.UpdateRoleStatusRequest{ - Status: constants.StatusDisabled, + Status: intPtr(constants.StatusDisabled), } jsonBody, _ := json.Marshal(reqBody) @@ -245,7 +245,7 @@ func TestRoleAPI_UpdateStatus(t *testing.T) { t.Run("成功启用角色", func(t *testing.T) { reqBody := dto.UpdateRoleStatusRequest{ - Status: constants.StatusEnabled, + Status: intPtr(constants.StatusEnabled), } jsonBody, _ := json.Marshal(reqBody) @@ -265,7 +265,7 @@ func TestRoleAPI_UpdateStatus(t *testing.T) { t.Run("角色不存在返回错误", func(t *testing.T) { reqBody := dto.UpdateRoleStatusRequest{ - Status: constants.StatusEnabled, + Status: intPtr(constants.StatusEnabled), } jsonBody, _ := json.Marshal(reqBody) @@ -278,3 +278,8 @@ func TestRoleAPI_UpdateStatus(t *testing.T) { assert.Equal(t, errors.CodeRoleNotFound, result.Code) }) } + +// intPtr 返回 int 的指针 +func intPtr(v int) *int { + return &v +}