cardholder-record.go 4.74 KB
package dto

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

// CardHolderRecordBase 开卡包活动日志公共
type CardHolderRecordBase struct {
	Id         int64  `orm:"auto"` // 日志ID
	Uid        int64  // 玩家唯一ID
	SequenceId string // 用户序列组ID
	Cohort     string // 用户分组ID
	ActivityId int64  // 当前活动ID
	Round      int    // 当前轮次
	CreateTime int64  // 创建时间戳
	UpdateTime int64  // 修改时间戳
}

func (d *CardHolderRecordBase) SqlPairsBase() map[string]string {
	m := make(map[string]string)
	m["uid"] = fmt.Sprintf("%d", d.Uid)
	m["sequence_id"] = fmt.Sprintf("'%s'", d.SequenceId)
	m["cohort"] = fmt.Sprintf("'%s'", d.Cohort)
	m["activity_id"] = fmt.Sprintf("%d", d.ActivityId)
	m["round"] = fmt.Sprintf("%d", d.Round)
	m["create_time"] = fmt.Sprintf("%d", d.CreateTime)
	m["update_time"] = fmt.Sprintf("%d", d.UpdateTime)
	return m
}

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,
	}
}

// CardHolderRecordGetNew 开卡包活动日志获得卡包
type CardHolderRecordGetNew struct {
	CardHolderRecordBase
	CardholderId    int // 卡包ID
	CardholderCount int // 卡包数量
}

func (d *CardHolderRecordGetNew) TableName(gameId string) string {
	return constd.MYSQL_TABLE_S_CARDHOLDER_RECORD_GETNEW + gameId
}

func (d *CardHolderRecordGetNew) CreateSqlPath() string {
	return constd.MYSQL_TABLE_S_CARDHOLDER_RECORD_GETNEW
}

func (d *CardHolderRecordGetNew) SqlPairs() map[string]string {
	m := d.SqlPairsBase()
	m["cardholder_id"] = fmt.Sprintf("%d", d.CardholderId)
	m["cardholder_count"] = fmt.Sprintf("%d", d.CardholderCount)
	return m
}

func NewCardHolderRecordGetNew(recordBase CardHolderRecordBase,
	cardholderId int, cardholderCount int) *CardHolderRecordGetNew {
	return &CardHolderRecordGetNew{
		CardHolderRecordBase: recordBase,
		CardholderId:         cardholderId,
		CardholderCount:      cardholderCount,
	}
}

// CardHolderRecordOpen 开卡包活动日志开卡包
type CardHolderRecordOpen struct {
	CardHolderRecordBase
	CardholderId int    // 卡包ID
	CardList     string // 开卡内容
}

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

func (d *CardHolderRecordOpen) CreateSqlPath() string {
	return constd.MYSQL_TABLE_S_CARDHOLDER_RECORD_OPEN
}

func (d *CardHolderRecordOpen) SqlPairs() map[string]string {
	m := d.SqlPairsBase()
	m["cardholder_id"] = fmt.Sprintf("%d", d.CardholderId)
	m["card_list"] = fmt.Sprintf("'%s'", d.CardList)
	return m
}

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

// CardHolderRecordRewardAlbum 开卡包活动日志领取卡组奖励
type CardHolderRecordRewardAlbum struct {
	CardHolderRecordBase
	AlbumId int    // 卡组ID
	Award   string // 奖励内容
}

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

func (d *CardHolderRecordRewardAlbum) CreateSqlPath() string {
	return constd.MYSQL_TABLE_S_CARDHOLDER_RECORD_REWARDALBUM
}

func (d *CardHolderRecordRewardAlbum) SqlPairs() map[string]string {
	m := d.SqlPairsBase()
	m["album_id"] = fmt.Sprintf("%d", d.AlbumId)
	m["award"] = fmt.Sprintf("'%s'", d.Award)
	return m
}

func NewCardHolderRecordRewardAlbum(recordBase CardHolderRecordBase,
	albumId int, award string) *CardHolderRecordRewardAlbum {
	return &CardHolderRecordRewardAlbum{
		CardHolderRecordBase: recordBase,
		AlbumId:              albumId,
		Award:                award,
	}
}

// CardHolderRecordRewardRound 开卡包活动日志领取轮次奖励
type CardHolderRecordRewardRound struct {
	CardHolderRecordBase
	Award string // 奖励内容
}

func (d *CardHolderRecordRewardRound) TableName(gameId string) string {
	return constd.MYSQL_TABLE_S_CARDHOLDER_RECORD_REWARDROUND + gameId
}

func (d *CardHolderRecordRewardRound) CreateSqlPath() string {
	return constd.MYSQL_TABLE_S_CARDHOLDER_RECORD_REWARDROUND
}

func (d *CardHolderRecordRewardRound) SqlPairs() map[string]string {
	m := d.SqlPairsBase()
	m["award"] = fmt.Sprintf("'%s'", d.Award)
	return m
}

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