package model import ( "blazing/cool" ) // 表名常量 const TableNamePlayerTitle = "player_title" // PlayerTitle 对应数据库表 type Title struct { Base PlayerID uint64 `gorm:"not null;index:idx_player_title_by_player_id;comment:'所属玩家ID'" json:"player_id"` TitleID uint32 `gorm:"not null;comment:'称号ID'" json:"title_id"` //可用称号 AvailableTitle []uint32 `gorm:"type:json; comment:'可用称号'" json:"available_title"` } // TitleInfo 用于前端返回的称号信息 type TitleInfo struct { TitleId uint32 `json:"titleId"` // 称号ID LeftTime uint32 `json:"leftTime"` // 剩余时间(秒),永久称号可设为 0 ItemLevel uint32 `json:"itemLevel"` // 称号等级,可固定为 0 IsActive bool `json:"isActive"` // 是否当前使用 } // TableName 返回表名 func (*Title) TableName() string { return TableNamePlayerTitle } // GroupName 返回表组名 func (*Title) GroupName() string { return "default" } // NewPlayerTitle 创建一个新的称号记录 func NewPlayerTitle() *Title { return &Title{ Base: *NewBase(), } } // init 程序启动时自动创建表 func init() { cool.CreateTable(&Title{}) }