diff --git a/models/cardholder.go b/models/cardholder.go index 563600f..4a98821 100644 --- a/models/cardholder.go +++ b/models/cardholder.go @@ -14,6 +14,7 @@ type RspCardHolderGetConfig struct { PrepareTime int64 `form:"prepare_time" json:"prepare_time"` // 活动预告时间 StartTime int64 `form:"start_time" json:"start_time"` // 活动开始时间 EndTime int64 `form:"end_time" json:"end_time"` // 活动结束时间 + OpenLevel int `form:"open_level" json:"open_level"` // 开启等级 Config any `form:"config" json:"config"` // 活动配置对象 } diff --git a/service/cardholder/config-client.go b/service/cardholder/config-client.go new file mode 100644 index 0000000..ff292c6 --- /dev/null +++ b/service/cardholder/config-client.go @@ -0,0 +1,10 @@ +package cardholder + +// CardActivityConfigClient 卡牌活动配置 给客户端数据 +type CardActivityConfigClient struct { + Id int64 `form:"id" json:"id"` // ID + RoundAwards map[string]string `form:"round_awards" json:"round_awards"` // 轮次奖励配置 + Albums []AlbumConfig `form:"albums" json:"albums"` // 卡组配置 + Cards []CardConfig `form:"cards" json:"cards"` // 卡牌配置 + Holders []OpenCardholderConfig `form:"holders" json:"holders"` // 卡包开卡规则 +} diff --git a/service/cardholder/config-registry.go b/service/cardholder/config-registry.go index 1872018..e950961 100644 --- a/service/cardholder/config-registry.go +++ b/service/cardholder/config-registry.go @@ -107,6 +107,29 @@ func ConfigDecode(gameId string, configRaw *CardActivityConfigRaw) { } } Configs[gameId] = Config + + GenerateConfigClient(Config) +} + +// GenerateConfigClient 生成给客户端的配置 +func GenerateConfigClient(config *CardActivityConfig) { + configClient := &CardActivityConfigClient{ + Id: config.Id, + RoundAwards: config.Awards, + Albums: make([]AlbumConfig, 0), + Cards: make([]CardConfig, 0), + Holders: make([]OpenCardholderConfig, 0), + } + for _, i2 := range config.AlbumConfig { + configClient.Albums = append(configClient.Albums, i2) + } + for _, i2 := range config.CardConfig { + configClient.Cards = append(configClient.Cards, i2) + } + for _, i2 := range config.CardholderConfig { + configClient.Holders = append(configClient.Holders, i2) + } + config.Client = configClient } // CombineIdSequenceIdCohort 组合ID k=ID_用户序列_用户分组 diff --git a/service/cardholder/config.go b/service/cardholder/config.go index 9d0f4ba..99c8cac 100644 --- a/service/cardholder/config.go +++ b/service/cardholder/config.go @@ -10,6 +10,7 @@ type CardActivityUpdateConfig struct { // CardActivityConfig 卡牌活动配置 分析后数据 type CardActivityConfig struct { Raw *CardActivityConfigRaw + Client *CardActivityConfigClient GameId string // 所属游戏ID Id int64 // ID Awards map[string]string // 奖励配置 diff --git a/service/cardholder/handle.go b/service/cardholder/handle.go index 7fc1a16..e0c52be 100644 --- a/service/cardholder/handle.go +++ b/service/cardholder/handle.go @@ -23,7 +23,7 @@ func HandleGetConfig(req *models.ReqCardHolderGetConfig) (code string, rsp model rsp.StartTime = config.Raw.StartTime rsp.EndTime = config.Raw.EndTime - rsp.Config = config + rsp.Config = config.Client return } -- libgit2 0.21.0