package biz import ( "context" "git.gz.internal.jumaiyx.cn/job/room-mike-hot-timer/internal/data/model" ) type RoomMikeCond struct { Id int64 Offset int Limit int RoomId int64 Uid int64 Status int32 OpenStatus int32 States []int32 MikeNo string OrderBy []string } type RoomMikeRepo interface { Begin(ctx context.Context, tx *model.Tx) *model.Tx Exist(ctx context.Context, cond *RoomMikeCond) (bool, error) First(ctx context.Context, cond *RoomMikeCond) (*model.RoomMike, error) List(ctx context.Context, cond *RoomMikeCond) ([]*model.RoomMike, error) Create(ctx context.Context, mike *model.RoomMike) error Update(ctx context.Context, cond *RoomMikeCond, data map[string]interface{}) error UpdateStatus(ctx context.Context, id uint, status int32) error UpdateOpenStatus(ctx context.Context, id uint, status int32) error Delete(ctx context.Context, cond *RoomMikeCond) error SetMikeHotLock(ctx context.Context, roomId, uid int64) bool CreateMikeHot(ctx context.Context, mikeHot *model.MikeUpHot, lockCheck bool) error PushMikeHot(ctx context.Context, mikeHot *model.MikeUpHot) error GetMikeHotPop(ctx context.Context) (*model.MikeUpHot, error) DeleteMikeHot(ctx context.Context, roomId, uid int64) error GetMikeHot(ctx context.Context, roomId, uid int64) (*model.MikeUpHot, bool, error) GetRoomMikeHot(ctx context.Context, roomId int64) ([]*model.MikeUpHot, error) } type InitValueRepo interface { GetValue(ctx context.Context, ty int32) (int64, error) }