From 34aa5a1989f340f90ca4eb6df3ca737e2a3d7e10 Mon Sep 17 00:00:00 2001 From: 王家文 Date: Thu, 30 May 2024 11:07:21 +0800 Subject: [PATCH] feat✨:卡牌活动星星商店的卡包可能为多个 --- service/cardholder/dto-player.go | 32 ++++++++++++++++---------------- service/cardholder/handle.go | 4 ++-- service/cardholder/logic.go | 4 ++-- 3 files changed, 20 insertions(+), 20 deletions(-) diff --git a/service/cardholder/dto-player.go b/service/cardholder/dto-player.go index 11db132..3bc59d1 100644 --- a/service/cardholder/dto-player.go +++ b/service/cardholder/dto-player.go @@ -40,26 +40,26 @@ func NewPlayer(uid int64) *Player { // PlayerDetails 详情 type PlayerDetails struct { - Cards map[int]int // 每张卡集了多少张 k=卡牌ID v=数量 - Album map[int]int // 卡组奖励领取 k=卡组ID v=数量 - StarSequenceScales map[string]int // 星级序列刻度 k=ID_用户序列_用户分组 v=刻度 - CardSequenceScales map[string]int // 卡牌序列刻度 k=ID_用户序列_用户分组 v=刻度 - Round int // 卡册当前轮次 - StarCount int // 星星点数 - LastStarCount int // 上期活动剩余星星点数 - AutoExchangeHolder []int // 活动切换时自动兑换的卡包 - SequenceId int // 用户序列组ID + Cards map[int]int // 每张卡集了多少张 k=卡牌ID v=数量 + Album map[int]int // 卡组奖励领取 k=卡组ID v=数量 + StarSequenceScales map[string]int // 星级序列刻度 k=ID_用户序列_用户分组 v=刻度 + CardSequenceScales map[string]int // 卡牌序列刻度 k=ID_用户序列_用户分组 v=刻度 + Round int // 卡册当前轮次 + StarCount int // 星星点数 + LastStarCount int // 上期活动剩余星星点数 + AutoExchangeHolderIds []int // 活动切换时自动兑换的卡包 + SequenceId int // 用户序列组ID } func NewPlayerDetails() *PlayerDetails { return &PlayerDetails{ - Cards: make(map[int]int), - Album: make(map[int]int), - StarSequenceScales: make(map[string]int), - CardSequenceScales: make(map[string]int), - Round: 1, - StarCount: 0, - AutoExchangeHolder: make([]int, 0), + Cards: make(map[int]int), + Album: make(map[int]int), + StarSequenceScales: make(map[string]int), + CardSequenceScales: make(map[string]int), + Round: 1, + StarCount: 0, + AutoExchangeHolderIds: make([]int, 0), } } diff --git a/service/cardholder/handle.go b/service/cardholder/handle.go index 5cbe1b8..f66ba44 100644 --- a/service/cardholder/handle.go +++ b/service/cardholder/handle.go @@ -353,7 +353,7 @@ func HandleAutoExchangeInfo(req *models.ReqAutoExchangeInfo) (code string, rsp m } rsp.LastStarCount = player.Details.LastStarCount - rsp.AutoExchangeHolder = player.Details.AutoExchangeHolder + rsp.AutoExchangeHolder = player.Details.AutoExchangeHolderIds // 把当前的卡包内数据放在新卡数据里给客户端 for i1, i2 := range player.Details.Cards { @@ -363,7 +363,7 @@ func HandleAutoExchangeInfo(req *models.ReqAutoExchangeInfo) (code string, rsp m } player.Details.LastStarCount = 0 - player.Details.AutoExchangeHolder = make([]int, 0) + player.Details.AutoExchangeHolderIds = make([]int, 0) // 存档 SavePlayer(gameId, player) diff --git a/service/cardholder/logic.go b/service/cardholder/logic.go index 38c6526..0913c75 100644 --- a/service/cardholder/logic.go +++ b/service/cardholder/logic.go @@ -392,7 +392,7 @@ func NextActivityAutoExchange(gameId string, player *Player, config *confcardhol // 遍历 for _, configStarShop := range list { if player.Details.LastStarCount >= configStarShop.NeedStarNumber { - player.Details.AutoExchangeHolder = GetCardholder(configStarShop) + player.Details.AutoExchangeHolderIds = GetCardholder(configStarShop) break } } @@ -402,7 +402,7 @@ func NextActivityAutoExchange(gameId string, player *Player, config *confcardhol sequenceId := player.Details.SequenceId cohort := GetCohort(player.Uid) allNewCards := make([]int, 0) - for _, cardholderId := range player.Details.AutoExchangeHolder { + for _, cardholderId := range player.Details.AutoExchangeHolderIds { confCardholder, okCardholder := config.CardholderConfig[cardholderId] if !okCardholder { lxalilog.Errors("StarShopConfig.CardBagIds error", cardholderId) -- libgit2 0.21.0