package cardholder import ( "apigame/common/svconst" "apigame/common/svdto" "apigame/service/constd" "apigame/util/utdto" "apigame/util/util-lx/lxtime" "fmt" ) // CardHolderRecordBase 开卡包活动日志公共 type CardHolderRecordBase struct { Id int64 `gorm:"primaryKey;comment:日志ID"` Uid int64 `gorm:"comment:玩家唯一ID"` SequenceId string `gorm:"type:varchar(255);comment:用户序列组ID"` Cohort string `gorm:"type:varchar(255);comment:用户分组ID"` ActivityId int64 `gorm:"comment:当前活动ID"` Round int `gorm:"comment:当前轮次"` CreateTime int64 `gorm:"comment:创建时间戳"` UpdateTime int64 `gorm:"comment:修改时间戳"` } func NewCardHolderRecordBase(uid int64, sequenceId string, cohort string, activityId int64, round int) CardHolderRecordBase { secNow := lxtime.NowUninx() return CardHolderRecordBase{ CreateTime: secNow, UpdateTime: secNow, Uid: uid, SequenceId: sequenceId, Cohort: cohort, ActivityId: activityId, Round: round, } } // CardHolderRecordOpen 开卡包活动日志开卡包 type CardHolderRecordOpen struct { CardHolderRecordBase OpenMode int `gorm:"comment:开包类型0客户端驱动1星星商店购买2剩余星星兑换"` CardholderId int `gorm:"comment:卡包ID"` CardList string `gorm:"type:varchar(255);comment:开卡内容"` } func (c *CardHolderRecordOpen) TableName() string { return utdto.MYSQL_TABLE_TEMPLATE } func (d *CardHolderRecordOpen) GetRule(gameId string) *svdto.DtoRule { tableName := constd.MYSQL_TABLE_S_CARDHOLDER_RECORD_OPEN return &svdto.DtoRule{ DbMysql: svconst.DbCommon, TableName: tableName + gameId, CacheKey: fmt.Sprintf("%s:%s:%s", svdto.REDIS_CACHEP_REFIX, tableName, gameId), CacheTime: 300, } } func NewCardHolderRecordOpen(recordBase CardHolderRecordBase, openMode int, cardholderId int, cardList string) *CardHolderRecordOpen { return &CardHolderRecordOpen{ CardHolderRecordBase: recordBase, OpenMode: openMode, CardholderId: cardholderId, CardList: cardList, } } // CardHolderRecordRewardAlbum 开卡包活动日志领取卡组奖励 type CardHolderRecordRewardAlbum struct { CardHolderRecordBase AlbumId int `gorm:"comment:卡组ID"` Award string `gorm:"type:varchar(255);comment:奖励内容"` } func (c *CardHolderRecordRewardAlbum) TableName() string { return utdto.MYSQL_TABLE_TEMPLATE } func (d *CardHolderRecordRewardAlbum) GetRule(gameId string) *svdto.DtoRule { tableName := constd.MYSQL_TABLE_S_CARDHOLDER_RECORD_REWARDALBUM return &svdto.DtoRule{ DbMysql: svconst.DbCommon, TableName: tableName + gameId, CacheKey: fmt.Sprintf("%s:%s:%s", svdto.REDIS_CACHEP_REFIX, tableName, gameId), CacheTime: 300, } } func NewCardHolderRecordRewardAlbum(recordBase CardHolderRecordBase, albumId int, award string) *CardHolderRecordRewardAlbum { return &CardHolderRecordRewardAlbum{ CardHolderRecordBase: recordBase, AlbumId: albumId, Award: award, } } // CardHolderRecordRewardRound 开卡包活动日志领取轮次奖励 type CardHolderRecordRewardRound struct { CardHolderRecordBase Award string `gorm:"type:varchar(255);comment:奖励内容"` } func (c *CardHolderRecordRewardRound) TableName() string { return utdto.MYSQL_TABLE_TEMPLATE } func (d *CardHolderRecordRewardRound) GetRule(gameId string) *svdto.DtoRule { tableName := constd.MYSQL_TABLE_S_CARDHOLDER_RECORD_REWARDROUND return &svdto.DtoRule{ DbMysql: svconst.DbCommon, TableName: tableName + gameId, CacheKey: fmt.Sprintf("%s:%s:%s", svdto.REDIS_CACHEP_REFIX, tableName, gameId), CacheTime: 300, } } func NewCardHolderRecordRewardRound(recordBase CardHolderRecordBase, award string) *CardHolderRecordRewardRound { return &CardHolderRecordRewardRound{ CardHolderRecordBase: recordBase, Award: award, } }