config.go 3.91 KB
package ht_cardholder

import "apigame/service/constd"

// CardActivityUpdateConfig 卡牌活动更新配置
type CardActivityUpdateConfig struct {
	Id         int64 // ID
	Status     int   // 状态 0=关闭 1=开启
	UpdateTime int64 // 修改时间戳
}

// CardActivityConfig 卡牌活动配置 分析后数据
type CardActivityConfig struct {
	Raw                  CardActivityConfigRaw
	Id                   int64                           // ID
	Awards               map[string]string               // 奖励配置
	AlbumConfig          map[string]AlbumConfig          // 卡组配置
	CardConfig           map[int]CardConfig              // 卡牌配置
	CardholderConfig     map[string]CardholderConfig     // 卡包开卡规则
	NormalCardStarConfig map[string]NormalCardStarConfig // k=ID_用户序列_用户分组 卡片星级配置
	CardSequenceConfig   map[string]CardSequenceConfig   // k=ID_用户序列_用户分组 卡片星级对应卡牌配置
}

func (c *CardActivityConfig) TableName() string {
	return constd.MYSQL_TABLE_S_CARD_ACTIVITY + constd.GAME_ID_HT
}

// CardActivityConfigRaw 卡牌活动配置 原始数据
type CardActivityConfigRaw struct {
	Id                     int64  // ID
	OpenLevel              int    // 开启等级
	PreviewTime            int64  // 预告时间
	StartTime              int64  // 开始时间
	EndTime                int64  // 结束时间
	Round                  int    // 轮数
	Awards                 string // 奖励配置
	AlbumConfig            string // 卡组配置
	CardConfig             string // 卡牌配置
	CardHolderConfig       string // 卡包开卡规则
	NormalCardStarSequence string // 卡片星级配置
	CardSequenceConfig     string // 卡片星级对应卡牌配置
	Ver                    string // 版本号
	Status                 int    // 状态 0=关闭 1=开启
	UpdateTime             int64  // 修改时间戳
}

// AlbumConfig 卡组表
type AlbumConfig struct {
	SetId     string            `json:"set_id"`     // 卡组id
	Rewards   map[string]string `json:"rewards"`    // 集齐奖励 k=轮次
	StartTime int64             `json:"start_time"` // 开始时间
	EndTime   int64             `json:"end_time"`   // 结束时间
}

// CardConfig 卡牌表
type CardConfig struct {
	Id     int    `json:"id"`          // ID
	SetId  string `json:"album_setid"` // 卡组id
	IsGold int    `json:"is_gold"`     // 是否是金卡
	Star   int    `json:"star"`        // 星级
}

// CardholderConfig 卡包开卡规则表
type CardholderConfig struct {
	Id                     string `json:"id"`                        // ID
	IsGoldCardholder       int    `json:"is_gold_card_holder"`       // 是否是金卡包
	IsNew                  int    `json:"is_new"`                    // 是否是新卡包
	GuaranteedStarCardId   string `json:"guaranteed_star_card_id"`   // 保底卡星级序列ID
	NormalCardNumber       int    `json:"normal_card_number"`        // 非保底卡数量
	MinimumGuaranteeCardId string `json:"minimum_guarantee_card_id"` // 非保底卡牌序列ID
}

// NormalCardStarConfig 非保底卡星级ID
type NormalCardStarConfig struct {
	Id                    string   `json:"id"`                      // ID
	SequenceId            string   `json:"user_sequence_id"`        // 用户序列组ID
	Cohort                string   `json:"cohort"`                  // 用户分组
	NormalCardSequenceId  string   `json:"normal_card_sequence_id"` // 非保底星级序列
	NormalCardSequenceIds []string `json:"-"`                       // 非保底星级序列
}

// CardSequenceConfig 星级ID对应的卡片
type CardSequenceConfig struct {
	Id          string   `json:"id"`               // SequenceId 用户序列组ID
	SequenceId  string   `json:"user_sequence_id"` // 用户序列组ID
	Cohort      string   `json:"cohort"`           // 用户分组
	CardIdList  string   `json:"card_id_list"`     // 卡牌抽取序列
	CardIdLists []string `json:"-"`                // 卡牌抽取序列
}