dto-record.go 3.27 KB
package cardholder

import (
	"apigame/service-common/svconst"
	"apigame/service-common/svmysql"
	"apigame/util/util-lx/lxtime"
)

// RecordCardHolderBase 开卡包活动日志公共
type RecordCardHolderBase 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 NewRecordCardHolderBase(uid int64, sequenceId string, cohort string, activityId int64, round int) RecordCardHolderBase {
	secNow := lxtime.NowUninx()
	return RecordCardHolderBase{
		CreateTime: secNow,
		UpdateTime: secNow,
		Uid:        uid,
		SequenceId: sequenceId,
		Cohort:     cohort,
		ActivityId: activityId,
		Round:      round,
	}
}

// RecordCardHolderOpen 开卡包活动日志开卡包
type RecordCardHolderOpen struct {
	RecordCardHolderBase
	OpenMode     int    `gorm:"comment:开包类型0客户端驱动1星星商店购买2剩余星星兑换"`
	CardholderId int    `gorm:"comment:卡包ID"`
	CardList     string `gorm:"type:varchar(255);comment:开卡内容"`
}

func (d *RecordCardHolderOpen) MysqlInfo(gameId string) *svmysql.MysqlInfo {
	tableName := svconst.MYSQL_TABLE_S_CARDHOLDER_RECORD_OPEN
	return &svmysql.MysqlInfo{
		DbMysql:   svconst.DbCommon,
		TableName: tableName + gameId,
	}
}

func NewRecordCardHolderOpen(recordBase RecordCardHolderBase,
	openMode int, cardholderId int, cardList string) *RecordCardHolderOpen {
	return &RecordCardHolderOpen{
		RecordCardHolderBase: recordBase,
		OpenMode:             openMode,
		CardholderId:         cardholderId,
		CardList:             cardList,
	}
}

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

func (d *RecordCardHolderRewardAlbum) MysqlInfo(gameId string) *svmysql.MysqlInfo {
	tableName := svconst.MYSQL_TABLE_S_CARDHOLDER_RECORD_REWARDALBUM
	return &svmysql.MysqlInfo{
		DbMysql:   svconst.DbCommon,
		TableName: tableName + gameId,
	}
}

func NewRecordCardHolderRewardAlbum(recordBase RecordCardHolderBase,
	albumId int, award string) *RecordCardHolderRewardAlbum {
	return &RecordCardHolderRewardAlbum{
		RecordCardHolderBase: recordBase,
		AlbumId:              albumId,
		Award:                award,
	}
}

// RecordCardHolderRewardRound 开卡包活动日志领取轮次奖励
type RecordCardHolderRewardRound struct {
	RecordCardHolderBase
	Award string `gorm:"type:varchar(255);comment:奖励内容"`
}

func (d *RecordCardHolderRewardRound) MysqlInfo(gameId string) *svmysql.MysqlInfo {
	tableName := svconst.MYSQL_TABLE_S_CARDHOLDER_RECORD_REWARDROUND
	return &svmysql.MysqlInfo{
		DbMysql:   svconst.DbCommon,
		TableName: tableName + gameId,
	}
}

func NewRecordCardHolderRewardRound(recordBase RecordCardHolderBase,
	award string) *RecordCardHolderRewardRound {
	return &RecordCardHolderRewardRound{
		RecordCardHolderBase: recordBase,
		Award:                award,
	}
}