Fix: room list resp model

pull/24/head
zijiren233 2 years ago
parent 12b90a15f2
commit 6378b89a91

@ -25,13 +25,13 @@ func (m *Movie) BeforeCreate(tx *gorm.DB) error {
} }
type BaseMovie struct { type BaseMovie struct {
Url string `json:"url,omitempty"` Url string `json:"url"`
Name string `gorm:"not null" json:"name"` Name string `gorm:"not null" json:"name"`
Live bool `json:"live,omitempty"` Live bool `json:"live"`
Proxy bool `json:"proxy,omitempty"` Proxy bool `json:"proxy"`
RtmpSource bool `json:"rtmpSource,omitempty"` RtmpSource bool `json:"rtmpSource"`
Type string `json:"type,omitempty"` Type string `json:"type"`
Headers map[string]string `gorm:"serializer:fastjson" json:"headers,omitempty"` Headers map[string]string `gorm:"serializer:fastjson" json:"headers"`
VendorInfo `gorm:"embedded;embeddedPrefix:vendor_info_" json:"vendorInfo,omitempty"` VendorInfo `gorm:"embedded;embeddedPrefix:vendor_info_" json:"vendorInfo,omitempty"`
} }
@ -42,8 +42,8 @@ type VendorInfo struct {
} }
type BilibiliVendorInfo struct { type BilibiliVendorInfo struct {
Bvid string `json:"bvid,omitempty"` Bvid string `json:"bvid"`
Cid uint `json:"cid,omitempty"` Cid uint `json:"cid"`
Epid uint `json:"epid,omitempty"` Epid uint `json:"epid"`
Quality uint `json:"quality,omitempty"` Quality uint `json:"quality"`
} }

@ -165,12 +165,12 @@ func GetAllRoomsInCacheWithoutHidden() []*Room {
} }
type RoomHeapItem struct { type RoomHeapItem struct {
ID string RoomId string `json:"roomId"`
RoomName string RoomName string `json:"roomName"`
ClientNum int64 PeopleNum int64 `json:"peopleNum"`
NeedPassword bool NeedPassword bool `json:"needPassword"`
CreatorID string Creator string `json:"creator"`
CreatedAt time.Time CreatedAt int64 `json:"createdAt"`
} }
type RoomHeap []*RoomHeapItem type RoomHeap []*RoomHeapItem
@ -180,7 +180,7 @@ func (h RoomHeap) Len() int {
} }
func (h RoomHeap) Less(i, j int) bool { 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) { func (h RoomHeap) Swap(i, j int) {
@ -205,12 +205,12 @@ func GetRoomHeapInCacheWithoutHidden() RoomHeap {
v := value.Value() v := value.Value()
if !v.Settings.Hidden { if !v.Settings.Hidden {
heap.Push[*RoomHeapItem](&rooms, &RoomHeapItem{ heap.Push[*RoomHeapItem](&rooms, &RoomHeapItem{
ID: v.ID, RoomId: v.ID,
RoomName: v.Name, RoomName: v.Name,
ClientNum: v.ClientNum(), PeopleNum: v.ClientNum(),
NeedPassword: v.NeedPassword(), NeedPassword: v.NeedPassword(),
CreatorID: v.CreatorID, Creator: v.CreatorID,
CreatedAt: v.CreatedAt, CreatedAt: v.CreatedAt.UnixMilli(),
}) })
} }
return true return true

@ -42,13 +42,11 @@ func CreateRoom(ctx *gin.Context) {
return return
} }
CreateRoomNeedReview := settings.CreateRoomNeedReview.Get()
var ( var (
r *dbModel.Room r *dbModel.Room
err error err error
) )
if CreateRoomNeedReview { if settings.CreateRoomNeedReview.Get() {
r, err = user.CreateRoom(req.RoomName, req.Password, db.WithSetting(req.Setting), db.WithStatus(dbModel.RoomStatusPending)) r, err = user.CreateRoom(req.RoomName, req.Password, db.WithSetting(req.Setting), db.WithStatus(dbModel.RoomStatusPending))
} else { } else {
r, err = user.CreateRoom(req.RoomName, req.Password, db.WithSetting(req.Setting), db.WithStatus(dbModel.RoomStatusActive)) 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() r := op.GetRoomHeapInCacheWithoutHidden()
rs := utils.GetPageItems(r, page, pageSize) 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{ ctx.JSON(http.StatusOK, model.NewApiDataResp(gin.H{
"total": len(r), "total": len(r),

@ -7,6 +7,7 @@ import (
json "github.com/json-iterator/go" json "github.com/json-iterator/go"
"github.com/synctv-org/synctv/internal/model" "github.com/synctv-org/synctv/internal/model"
"github.com/synctv-org/synctv/internal/op"
"github.com/synctv-org/synctv/internal/settings" "github.com/synctv-org/synctv/internal/settings"
"github.com/gin-gonic/gin" "github.com/gin-gonic/gin"
@ -70,14 +71,7 @@ func (c *CreateRoomReq) Validate() error {
return nil return nil
} }
type RoomListResp struct { type RoomListResp = op.RoomHeapItem
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 LoginRoomReq struct { type LoginRoomReq struct {
RoomId string `json:"roomId"` RoomId string `json:"roomId"`

Loading…
Cancel
Save