Browse Source

feat: 优化 userList 返回的错误消息

BaiLuoYan 6 giờ trước cách đây
mục cha
commit
d459ad0449

+ 1 - 1
internal/logic/user/userListLogic.go

@@ -39,7 +39,7 @@ func (l *UserListLogic) UserList(req *types.UserListReq) (resp *types.PageResp,
 	}
 	if !caller.IsSuperAdmin {
 		if req.ProductCode == "" {
-			return nil, response.ErrForbidden("非超管用户必须指定产品编码")
+			return nil, response.ErrForbidden("必须指定产品编码")
 		}
 		if caller.ProductCode != req.ProductCode {
 			return nil, response.ErrForbidden("无权访问该产品的数据")

+ 1 - 1
internal/logic/user/userListLogic_test.go

@@ -223,7 +223,7 @@ func TestUserList_NonSuperAdminWithoutProductCode_Rejected(t *testing.T) {
 	var ce *response.CodeError
 	require.True(t, errors.As(err, &ce))
 	assert.Equal(t, 403, ce.Code())
-	assert.Contains(t, ce.Error(), "非超管用户必须指定产品编码")
+	assert.Contains(t, ce.Error(), "必须指定产品编码")
 }
 
 // TC-1167 / TC-1168 / TC-1169 统一使用这套 PII 种子,保证 UserList 三类调用者看到的

+ 1 - 1
test-design.md

@@ -558,7 +558,7 @@ MySQL (InnoDB) + Redis Cache
 | TC-0203 | POST /api/user/updateStatus | 冻结自己 | id=当前登录userId | code=400, "不能修改自己的状态" | 自我保护 | P0 | callerId==req.Id |
 | TC-0204 | POST /api/user/updateStatus | 冻结超管 | id=超管 | code=403, "不能修改超级管理员的状态" | 超管保护 | P0 | IsSuperAdmin==1 |
 | TC-0205 | POST /api/user/list | userList-非超管仅可见产品成员 | ctx=ADMIN(非超管), productCode指定 | 仅返回该产品成员, 不返回非成员 | 安全 | P0 | FindListByProductMembers数据隔离 |
-| TC-0206 | POST /api/user/list | userList-非超管未指定productCode被拒绝 | ctx=ADMIN(非超管), productCode="" | 403 "非超管用户必须指定产品编码" | 安全 | P0 | 强制productCode |
+| TC-0206 | POST /api/user/list | userList-非超管未指定productCode被拒绝 | ctx=ADMIN(非超管), productCode="" | 403 "必须指定产品编码" | 安全 | P0 | 强制productCode |
 | TC-0207 | POST /api/user/list | userList-非超管使用错误productCode被拒绝 | ctx=ADMIN, productCode!=ctx.ProductCode | 403 | 安全 | P0 | productCode一致性校验 |
 | TC-0208 | POST /api/user/bindRoles | bindRoles-permsLevel越权拒绝 | ctx=ADMIN(MinPermsLevel=50), role.permsLevel=1 | 403 "不能分配权限级别高于自身的角色" | 安全 | P0 | 角色权限级别越权防护 |
 | TC-0209 | POST /api/user/bindRoles | bindRoles-超管可分配任意级别角色 | ctx=SuperAdmin, role.permsLevel=1 | 绑定成功 | 正常路径 | P0 | 超管无permsLevel限制 |