修改页面
This commit is contained in:
@@ -1,12 +1,13 @@
|
||||
package handlers
|
||||
|
||||
import (
|
||||
"net/http"
|
||||
|
||||
"github.com/gin-gonic/gin"
|
||||
"github.com/inchstep/server/internal/middleware"
|
||||
"github.com/inchstep/server/internal/services"
|
||||
)
|
||||
package handlers
|
||||
|
||||
import (
|
||||
"net/http"
|
||||
"strconv"
|
||||
|
||||
"github.com/gin-gonic/gin"
|
||||
"github.com/inchstep/server/internal/middleware"
|
||||
"github.com/inchstep/server/internal/services"
|
||||
)
|
||||
|
||||
type UserHandler struct {
|
||||
userSvc *services.UserService
|
||||
@@ -104,12 +105,44 @@
|
||||
middleware.Success(c, nil)
|
||||
}
|
||||
|
||||
func (h *UserHandler) GetPoints(c *gin.Context) {
|
||||
userID := middleware.GetUserID(c)
|
||||
user, err := h.userSvc.GetByID(userID)
|
||||
if err != nil {
|
||||
middleware.Error(c, http.StatusNotFound, 404, "用户不存在")
|
||||
return
|
||||
}
|
||||
middleware.Success(c, gin.H{"points": user.Points})
|
||||
}
|
||||
func (h *UserHandler) GetPoints(c *gin.Context) {
|
||||
userID := middleware.GetUserID(c)
|
||||
user, err := h.userSvc.GetByID(userID)
|
||||
if err != nil {
|
||||
middleware.Error(c, http.StatusNotFound, 404, "用户不存在")
|
||||
return
|
||||
}
|
||||
middleware.Success(c, gin.H{"points": user.Points})
|
||||
}
|
||||
|
||||
// ========== 排行榜 ==========
|
||||
|
||||
func (h *UserHandler) GetLeaderboard(c *gin.Context) {
|
||||
limitStr := c.DefaultQuery("limit", "20")
|
||||
limit, err := strconv.Atoi(limitStr)
|
||||
if err != nil || limit > 100 {
|
||||
limit = 20
|
||||
}
|
||||
entries, err := h.userSvc.GetLeaderboardByPoints(limit)
|
||||
if err != nil {
|
||||
middleware.Error(c, http.StatusInternalServerError, 500, err.Error())
|
||||
return
|
||||
}
|
||||
middleware.Success(c, entries)
|
||||
}
|
||||
|
||||
// ========== 搜索用户 ==========
|
||||
|
||||
func (h *UserHandler) SearchUsers(c *gin.Context) {
|
||||
q := c.Query("q")
|
||||
if q == "" {
|
||||
middleware.Success(c, []interface{}{})
|
||||
return
|
||||
}
|
||||
users, err := h.userSvc.SearchUsers(q, 20)
|
||||
if err != nil {
|
||||
middleware.Error(c, http.StatusInternalServerError, 500, err.Error())
|
||||
return
|
||||
}
|
||||
middleware.Success(c, users)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user