samba/proto/record.go
2025-06-04 09:51:39 +08:00

110 lines
4.5 KiB
Go
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

package proto
/*
CREATE TABLE samba.player_game_record
(
`uid` Int64,
`game_no` String,
`room_type` Int32,
`start_time` DateTime,
`end_time` DateTime,
`take_coin` Int64,
`play_coin` Int64,
`favorite` int
)
ENGINE = MergeTree
PARTITION BY toYYYYMM(start_time)
ORDER BY intHash32(uid)
*/
/*
ALTER TABLE player_game_record ADD COLUMN club_id Int32 DEFAULT 0 AFTER room_type;
ALTER TABLE player_game_record ADD COLUMN start_time_i Int32 DEFAULT 0 AFTER start_time;
ALTER TABLE player_game_record ADD COLUMN end_time_i Int32 DEFAULT 0 AFTER end_time;
ALTER TABLE player_game_record ADD COLUMN blind Int64 DEFAULT 0 AFTER end_time_i;
ALTER TABLE player_game_record ADD COLUMN play_type Int32 DEFAULT 0 AFTER blind;
ALTER TABLE player_game_record ADD COLUMN room_id Int32 DEFAULT 0 AFTER play_type;
ALTER TABLE player_game_record ADD COLUMN max_game_num Int32 DEFAULT 0 AFTER room_id;
ALTER TABLE player_game_record ADD COLUMN game_num Int32 DEFAULT 0 AFTER max_game_num;
ALTER TABLE player_game_record ADD COLUMN status Int32 DEFAULT 0 AFTER game_num; // 房间状态:正常,玩家解散,管理解散,系统解散
ALTER TABLE player_game_record ADD COLUMN player_infos String AFTER status;
alter table player_game_record add column `members` UInt32 DEFAULT 0 COMMENT '人数';
*/
type GameRecordPlayerInfo struct {
UId int64 `json:"uid"` // 玩家id
Disband int `json:"disband"` // 解散状态 0:不同意 1:同意 2:发起
Win int64 `json:"win"` // 净胜分
}
// PlayerGameRecord 玩家游戏记录
type PlayerGameRecord struct {
UId int64 `json:"uid"` // 玩家id
GameNo string `json:"game_no"` // 本局游戏唯一id
RoomType int `json:"room_type"` // 配置表中的房间id
StartTime int64 `json:"start_time"` // 游戏开始时间
StartTime1 int64 `json:"start_time_i"` // 游戏开始时间
EndTime int64 `json:"end_time"` // 结束时间
EndTime1 int64 `json:"end_time_i"` // 结束时间
TakeCoin int64 `json:"take_coin"` // 携带金币
PlayCoin int64 `json:"play_coin"` // 输赢金币
Favorite int `json:"favorite"` // 0:不收藏 1:收藏
ClubId int `json:"club_id"` // 俱乐部id
Blind int64 `json:"blind"` // 底注
PlayType int `json:"play_type"` // 玩法类型
RoomId int `json:"room_id"` // 房间id
MaxGameNum int `json:"max_game_num"` // 最大局数
GameNum int `json:"game_num"` // 实际局数
Disband int `json:"status"` // 房间状态
PlayerInfos []*GameRecordPlayerInfo `json:"player_infos"` // 玩家信息
Members int `json:"members"` // 玩家人数
}
type AGame struct {
GameAction []*GameAction `json:"g"` // 一局游戏的消息流
}
type GameAction struct {
Countdown int `json:"cd"` // 相对于发牌后的多少秒处理该消息
MsgId string `json:"id"`
Msg string `json:"msg"`
Desc string `json:"-"`
}
/*
CREATE TABLE samba.room_game_record
(
`game_no` String,
`start_time` DateTime,
`end_time` DateTime,
`actions` String,
`players` String,
`room_id` Int32,
`room_type` Int32
)
ENGINE = MergeTree
PARTITION BY toYYYYMM(start_time)
PRIMARY KEY game_no
*/
/*
use samba;
ALTER TABLE room_game_record ADD COLUMN blind Int64 DEFAULT 0 AFTER room_type;
ALTER TABLE room_game_record ADD COLUMN club_id Int32 DEFAULT 0 AFTER room_type;
alter table room_game_record add column `members` UInt32 DEFAULT 0 COMMENT '人数';
*/
// RoomGameRecord 房间游戏记录
type RoomGameRecord struct {
GameNo string `json:"game_no"` // 本局游戏唯一id
Blind int64 `json:"blind"` // 游戏底注
StartTime int64 `json:"start_time"` // 游戏开始时间
EndTime int64 `json:"end_time"` // 结束时间
Actions []*AGame `json:"actions"` // 游戏动作
Players []interface{} `json:"players"` // 房间玩家
RoomId int `json:"room_id"` // 房间动态生成id
RoomType int `json:"room_type"` // 房间类型策划room表的id
ClubId int `json:"club_id"` // 俱乐部id
Members int `json:"members"` // 玩家人数
}