From ff742c87f6d61057fe7a43beffe4030938125df2 Mon Sep 17 00:00:00 2001 From: 王家文 Date: Mon, 15 Apr 2024 10:24:20 +0800 Subject: [PATCH] feat✨:星星商店配置 --- service/cardholder/config-client.go | 1 + service/cardholder/config-registry.go | 17 +++++++++++++++++ service/cardholder/config.go | 12 +++++++++++- 3 files changed, 29 insertions(+), 1 deletion(-) diff --git a/service/cardholder/config-client.go b/service/cardholder/config-client.go index ff292c6..c90ae4f 100644 --- a/service/cardholder/config-client.go +++ b/service/cardholder/config-client.go @@ -7,4 +7,5 @@ type CardActivityConfigClient struct { Albums []AlbumConfig `form:"albums" json:"albums"` // 卡组配置 Cards []CardConfig `form:"cards" json:"cards"` // 卡牌配置 Holders []OpenCardholderConfig `form:"holders" json:"holders"` // 卡包开卡规则 + StarShop []StarShopConfig `form:"star_shop" json:"star_shop"` // 星星商店配置 } diff --git a/service/cardholder/config-registry.go b/service/cardholder/config-registry.go index ffe5333..58c543f 100644 --- a/service/cardholder/config-registry.go +++ b/service/cardholder/config-registry.go @@ -33,6 +33,7 @@ func ConfigDecode(gameId string, configRaw *CardActivityConfigRaw) { CardholderConfig: make(map[string]OpenCardholderConfig), NormalCardStarConfig: make(map[string]NormalCardStarConfig), CardSequenceConfig: make(map[string]CardSequenceConfig), + StarShopConfig: make(map[int]StarShopConfig), } // 解析奖励 { @@ -106,6 +107,18 @@ func ConfigDecode(gameId string, configRaw *CardActivityConfigRaw) { Config.CardSequenceConfig[combineId] = i2 } } + // 星星商店配置 + { + configs := make([]StarShopConfig, 0) + err := json.Unmarshal([]byte(configRaw.StarShopConfig), &configs) + if err != nil { + lxalilog.Errors(err, configRaw.StarShopConfig, gameId, configRaw.Id) + return + } + for _, i2 := range configs { + Config.StarShopConfig[i2.Id] = i2 + } + } Configs[gameId] = Config GenerateConfigClient(Config) @@ -119,6 +132,7 @@ func GenerateConfigClient(config *CardActivityConfig) { Albums: make([]AlbumConfig, 0), Cards: make([]CardConfig, 0), Holders: make([]OpenCardholderConfig, 0), + StarShop: make([]StarShopConfig, 0), } for _, i2 := range config.AlbumConfig { configClient.Albums = append(configClient.Albums, i2) @@ -129,6 +143,9 @@ func GenerateConfigClient(config *CardActivityConfig) { for _, i2 := range config.CardholderConfig { configClient.Holders = append(configClient.Holders, i2) } + for _, i2 := range config.StarShopConfig { + configClient.StarShop = append(configClient.StarShop, i2) + } config.Client = configClient } diff --git a/service/cardholder/config.go b/service/cardholder/config.go index e04aa9b..9e4e4a2 100644 --- a/service/cardholder/config.go +++ b/service/cardholder/config.go @@ -32,6 +32,7 @@ type CardActivityConfig struct { CardholderConfig map[string]OpenCardholderConfig // 卡包开卡规则 NormalCardStarConfig map[string]NormalCardStarConfig // k=ID_用户序列_用户分组 卡片星级配置 CardSequenceConfig map[string]CardSequenceConfig // k=ID_用户序列_用户分组 卡片星级对应卡牌配置 + StarShopConfig map[int]StarShopConfig // 星星商店配置 } // CardActivityConfigRaw 卡牌活动配置 原始数据 @@ -48,6 +49,7 @@ type CardActivityConfigRaw struct { CardHolderConfig string `json:"-"` // 卡包开卡规则 NormalCardStarSequence string `json:"-"` // 卡片星级配置 CardSequenceConfig string `json:"-"` // 卡片星级对应卡牌配置 + StarShopConfig string `json:"-"` // 星星商店配置 Ver string // 版本号 Status int // 状态 0=关闭 1=开启 UpdateTime int64 // 修改时间戳 @@ -104,9 +106,17 @@ type NormalCardStarConfig struct { // CardSequenceConfig 星级ID对应的卡片 type CardSequenceConfig struct { - Id string `json:"id"` // SequenceId 用户序列组ID + Id string `json:"id"` // ID SequenceId string `json:"user_sequence_id"` // 用户序列组ID Cohort string `json:"cohort"` // 用户分组 CardIdList string `json:"card_id_list"` // 卡牌抽取序列 CardIdLists []string `json:"-"` // 卡牌抽取序列 } + +// StarShopConfig 星星商店配置 +type StarShopConfig struct { + Id int `json:"id"` // ID + StarNumber int `json:"star_number"` // 需求星星数 + CardholderId []int `json:"cardholder_id"` // 可换取的卡包ID // todo 要重命名 + AlbumId int `json:"album_id"` // 对应卡册活动ID // todo 要重命名 +} -- libgit2 0.21.0