v1.0.0
This commit is contained in:
@@ -322,6 +322,46 @@ func (h *UserHandler) ListUsers(c *gin.Context) {
|
||||
h.response.Success(c, resp, "获取用户列表成功")
|
||||
}
|
||||
|
||||
// GetUserDetail 管理员获取用户详情
|
||||
// @Summary 管理员获取用户详情
|
||||
// @Description 管理员获取指定用户的详细信息
|
||||
// @Tags 用户管理
|
||||
// @Accept json
|
||||
// @Produce json
|
||||
// @Security Bearer
|
||||
// @Param user_id path string true "用户ID"
|
||||
// @Success 200 {object} responses.UserDetailResponse "用户详情"
|
||||
// @Failure 401 {object} map[string]interface{} "未认证"
|
||||
// @Failure 403 {object} map[string]interface{} "权限不足"
|
||||
// @Failure 404 {object} map[string]interface{} "用户不存在"
|
||||
// @Failure 500 {object} map[string]interface{} "服务器内部错误"
|
||||
// @Router /api/v1/users/admin/{user_id} [get]
|
||||
func (h *UserHandler) GetUserDetail(c *gin.Context) {
|
||||
// 检查管理员权限
|
||||
userID := h.getCurrentUserID(c)
|
||||
if userID == "" {
|
||||
h.response.Unauthorized(c, "用户未登录")
|
||||
return
|
||||
}
|
||||
|
||||
// 获取路径参数中的用户ID
|
||||
targetUserID := c.Param("user_id")
|
||||
if targetUserID == "" {
|
||||
h.response.BadRequest(c, "用户ID不能为空")
|
||||
return
|
||||
}
|
||||
|
||||
// 调用应用服务
|
||||
resp, err := h.appService.GetUserDetail(c.Request.Context(), targetUserID)
|
||||
if err != nil {
|
||||
h.logger.Error("获取用户详情失败", zap.Error(err), zap.String("target_user_id", targetUserID))
|
||||
h.response.BadRequest(c, "获取用户详情失败")
|
||||
return
|
||||
}
|
||||
|
||||
h.response.Success(c, resp, "获取用户详情成功")
|
||||
}
|
||||
|
||||
// GetUserStats 管理员获取用户统计信息
|
||||
// @Summary 管理员获取用户统计信息
|
||||
// @Description 管理员获取用户统计信息,包括总用户数、活跃用户数、已认证用户数
|
||||
|
||||
Reference in New Issue
Block a user