cardholder-record.go 3.17 KB
package dto

import (
	"apigame/service/constd"
	"apigame/util/utdto"
	"apigame/util/util-lx/lxtime"
)

// 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
	ByClient     bool   `gorm:"comment:是否由客户端操作"`
	CardholderId int    `gorm:"comment:卡包ID"`
	CardList     string `gorm:"type:varchar(255);comment:开卡内容"`
}

func (d *CardHolderRecordOpen) TableName() string {
	return utdto.MYSQL_TABLE_TEMPLATE
}
func (d *CardHolderRecordOpen) GetTableName(gameId string) string {
	return constd.MYSQL_TABLE_S_CARDHOLDER_RECORD_OPEN + gameId
}

func NewCardHolderRecordOpen(recordBase CardHolderRecordBase,
	byClient bool, cardholderId int, cardList string) *CardHolderRecordOpen {
	return &CardHolderRecordOpen{
		CardHolderRecordBase: recordBase,
		ByClient:             byClient,
		CardholderId:         cardholderId,
		CardList:             cardList,
	}
}

// CardHolderRecordRewardAlbum 开卡包活动日志领取卡组奖励
type CardHolderRecordRewardAlbum struct {
	CardHolderRecordBase
	AlbumId int    `gorm:"comment:卡组ID"`
	Award   string `gorm:"type:varchar(255);comment:奖励内容"`
}

func (d *CardHolderRecordRewardAlbum) TableName() string {
	return utdto.MYSQL_TABLE_TEMPLATE
}
func (d *CardHolderRecordRewardAlbum) GetTableName(gameId string) string {
	return constd.MYSQL_TABLE_S_CARDHOLDER_RECORD_REWARDALBUM + gameId
}

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 (d *CardHolderRecordRewardRound) TableName() string {
	return utdto.MYSQL_TABLE_TEMPLATE
}
func (d *CardHolderRecordRewardRound) GetTableName(gameId string) string {
	return constd.MYSQL_TABLE_S_CARDHOLDER_RECORD_REWARDROUND + gameId
}

func NewCardHolderRecordRewardRound(recordBase CardHolderRecordBase,
	award string) *CardHolderRecordRewardRound {
	return &CardHolderRecordRewardRound{
		CardHolderRecordBase: recordBase,
		Award:                award,
	}
}