package handler import ( "github.com/gin-gonic/gin" "github.com/go-kratos/kratos/v3/errors" businessbiz "kra/internal/biz/business" "kra/internal/service/business" "kra/internal/service/dto" ) type Ranking struct{ service *business.RankingService } func NewRanking(service *business.RankingService) *Ranking { return &Ranking{service: service} } func (h *Ranking) list(c *gin.Context, kind businessbiz.RankingKind) { var req dto.RankingQuery if c.ShouldBindQuery(&req) != nil { Fail(c, "排行榜查询参数不正确") return } data, err := h.service.List(c.Request.Context(), kind, &req) if err != nil { Fail(c, errors.FromError(err).Message) return } OKWithData(c, data) } func (h *Ranking) Channel(c *gin.Context) { h.list(c, businessbiz.ChannelRanking) } func (h *Ranking) Business(c *gin.Context) { h.list(c, businessbiz.BusinessRanking) } func (h *Ranking) Game(c *gin.Context) { h.list(c, businessbiz.GameRanking) }