From 6378b89a91639883307de5a77a00d39a53f87fa7 Mon Sep 17 00:00:00 2001 From: zijiren233 Date: Tue, 31 Oct 2023 10:48:48 +0800 Subject: [PATCH] Fix: room list resp model --- internal/model/movie.go | 20 ++++++++++---------- internal/op/rooms.go | 22 +++++++++++----------- server/handlers/room.go | 15 +-------------- server/model/room.go | 10 ++-------- 4 files changed, 24 insertions(+), 43 deletions(-) diff --git a/internal/model/movie.go b/internal/model/movie.go index 685cdac..b8efba7 100644 --- a/internal/model/movie.go +++ b/internal/model/movie.go @@ -25,13 +25,13 @@ func (m *Movie) BeforeCreate(tx *gorm.DB) error { } type BaseMovie struct { - Url string `json:"url,omitempty"` + Url string `json:"url"` Name string `gorm:"not null" json:"name"` - Live bool `json:"live,omitempty"` - Proxy bool `json:"proxy,omitempty"` - RtmpSource bool `json:"rtmpSource,omitempty"` - Type string `json:"type,omitempty"` - Headers map[string]string `gorm:"serializer:fastjson" json:"headers,omitempty"` + Live bool `json:"live"` + Proxy bool `json:"proxy"` + RtmpSource bool `json:"rtmpSource"` + Type string `json:"type"` + Headers map[string]string `gorm:"serializer:fastjson" json:"headers"` VendorInfo `gorm:"embedded;embeddedPrefix:vendor_info_" json:"vendorInfo,omitempty"` } @@ -42,8 +42,8 @@ type VendorInfo struct { } type BilibiliVendorInfo struct { - Bvid string `json:"bvid,omitempty"` - Cid uint `json:"cid,omitempty"` - Epid uint `json:"epid,omitempty"` - Quality uint `json:"quality,omitempty"` + Bvid string `json:"bvid"` + Cid uint `json:"cid"` + Epid uint `json:"epid"` + Quality uint `json:"quality"` } diff --git a/internal/op/rooms.go b/internal/op/rooms.go index cd8ced8..b47b726 100644 --- a/internal/op/rooms.go +++ b/internal/op/rooms.go @@ -165,12 +165,12 @@ func GetAllRoomsInCacheWithoutHidden() []*Room { } type RoomHeapItem struct { - ID string - RoomName string - ClientNum int64 - NeedPassword bool - CreatorID string - CreatedAt time.Time + RoomId string `json:"roomId"` + RoomName string `json:"roomName"` + PeopleNum int64 `json:"peopleNum"` + NeedPassword bool `json:"needPassword"` + Creator string `json:"creator"` + CreatedAt int64 `json:"createdAt"` } type RoomHeap []*RoomHeapItem @@ -180,7 +180,7 @@ func (h RoomHeap) Len() int { } func (h RoomHeap) Less(i, j int) bool { - return h[i].ClientNum < h[j].ClientNum + return h[i].PeopleNum < h[j].PeopleNum } func (h RoomHeap) Swap(i, j int) { @@ -205,12 +205,12 @@ func GetRoomHeapInCacheWithoutHidden() RoomHeap { v := value.Value() if !v.Settings.Hidden { heap.Push[*RoomHeapItem](&rooms, &RoomHeapItem{ - ID: v.ID, + RoomId: v.ID, RoomName: v.Name, - ClientNum: v.ClientNum(), + PeopleNum: v.ClientNum(), NeedPassword: v.NeedPassword(), - CreatorID: v.CreatorID, - CreatedAt: v.CreatedAt, + Creator: v.CreatorID, + CreatedAt: v.CreatedAt.UnixMilli(), }) } return true diff --git a/server/handlers/room.go b/server/handlers/room.go index d038b68..79129c4 100644 --- a/server/handlers/room.go +++ b/server/handlers/room.go @@ -42,13 +42,11 @@ func CreateRoom(ctx *gin.Context) { return } - CreateRoomNeedReview := settings.CreateRoomNeedReview.Get() - var ( r *dbModel.Room err error ) - if CreateRoomNeedReview { + if settings.CreateRoomNeedReview.Get() { r, err = user.CreateRoom(req.RoomName, req.Password, db.WithSetting(req.Setting), db.WithStatus(dbModel.RoomStatusPending)) } else { r, err = user.CreateRoom(req.RoomName, req.Password, db.WithSetting(req.Setting), db.WithStatus(dbModel.RoomStatusActive)) @@ -81,17 +79,6 @@ func RoomHotList(ctx *gin.Context) { r := op.GetRoomHeapInCacheWithoutHidden() rs := utils.GetPageItems(r, page, pageSize) - resp := make([]*model.RoomListResp, len(rs)) - for i, v := range rs { - resp[i] = &model.RoomListResp{ - RoomId: v.ID, - RoomName: v.RoomName, - PeopleNum: v.ClientNum, - NeedPassword: v.NeedPassword, - Creator: op.GetUserName(v.CreatorID), - CreatedAt: v.CreatedAt.UnixMilli(), - } - } ctx.JSON(http.StatusOK, model.NewApiDataResp(gin.H{ "total": len(r), diff --git a/server/model/room.go b/server/model/room.go index 2e4ed99..22408cc 100644 --- a/server/model/room.go +++ b/server/model/room.go @@ -7,6 +7,7 @@ import ( json "github.com/json-iterator/go" "github.com/synctv-org/synctv/internal/model" + "github.com/synctv-org/synctv/internal/op" "github.com/synctv-org/synctv/internal/settings" "github.com/gin-gonic/gin" @@ -70,14 +71,7 @@ func (c *CreateRoomReq) Validate() error { return nil } -type RoomListResp struct { - RoomId string `json:"roomId"` - RoomName string `json:"roomName"` - PeopleNum int64 `json:"peopleNum"` - NeedPassword bool `json:"needPassword"` - Creator string `json:"creator"` - CreatedAt int64 `json:"createdAt"` -} +type RoomListResp = op.RoomHeapItem type LoginRoomReq struct { RoomId string `json:"roomId"`