From fd5171c9d2da056cf5b0dfecfbb3227160f257ea Mon Sep 17 00:00:00 2001 From: 王家文 Date: Mon, 8 Apr 2024 16:34:43 +0800 Subject: [PATCH] feat:领取轮次奖励 --- service/constd/index.go | 2 ++ service/ht-cardholder/handle.go | 87 ++++++++++++++++++++++++++++++++++++++------------------------------------------------- service/ht-cardholder/logic.go | 7 +++++++ 3 files changed, 47 insertions(+), 49 deletions(-) diff --git a/service/constd/index.go b/service/constd/index.go index aaf253b..d9017a7 100644 --- a/service/constd/index.go +++ b/service/constd/index.go @@ -49,6 +49,7 @@ const ( RECODE_MERGE_CARDHOLDER_ALBUMID_ERROR = "2107" RECODE_MERGE_CARDHOLDER_ALBUM_HASGOT_ERROR = "2108" RECODE_MERGE_CARDHOLDER_ALBUM_NOTFINISH_ERROR = "2109" + RECODE_MERGE_CARDHOLDER_ROUND_NOTFINISH_ERROR = "2110" ) var recodeText = map[string]string{ @@ -98,6 +99,7 @@ var recodeText = map[string]string{ RECODE_MERGE_CARDHOLDER_ALBUMID_ERROR: "卡组ID错误", RECODE_MERGE_CARDHOLDER_ALBUM_HASGOT_ERROR: "卡组奖励已领取", RECODE_MERGE_CARDHOLDER_ALBUM_NOTFINISH_ERROR: "卡组卡牌未集齐", + RECODE_MERGE_CARDHOLDER_ROUND_NOTFINISH_ERROR: "卡册未集齐", } func RecodeText(code string) string { diff --git a/service/ht-cardholder/handle.go b/service/ht-cardholder/handle.go index 112f665..6408d3b 100644 --- a/service/ht-cardholder/handle.go +++ b/service/ht-cardholder/handle.go @@ -234,55 +234,44 @@ func HandleGetRewardRound(req *models.ReqHtCardHolderGetRewardRound) (code strin rsp = models.RspHtCardHolderGetRewardRound{} code = constd.RECODE_OK - //// 尝试更新配置 - //TryUpdateConfigs() - // - //// 检查活动状态 - //code = CheckStatus() - //if code != constd.RECODE_OK { - // return - //} - //// 检查卡组ID - //albumId := strconv.Itoa(req.Id) - //confAlbum, okAlbum := Config.AlbumConfig[albumId] - //if !okAlbum { - // code = constd.RECODE_MERGE_CARDHOLDER_ALBUMID_ERROR - // return - //} - // - //// 读取游戏数据 - //gameData := LoadData(req.UID) - //// 检查游戏数据 轮次等 - //code = CheckGameData(gameData) - //if code != constd.RECODE_OK { - // return - //} - // - //// 是否已领过 - //countGot := gameData.Details.Album[albumId] - //if countGot > 0 { - // code = constd.RECODE_MERGE_CARDHOLDER_ALBUM_HASGOT_ERROR - // return - //} - //// 检查卡组内卡是否集齐 - //for _, config := range Config.CardConfig { - // if config.SetId == albumId { - // count := gameData.Details.Cards[config.Id] - // if count < 1 { - // code = constd.RECODE_MERGE_CARDHOLDER_ALBUM_NOTFINISH_ERROR - // return - // } - // } - //} - // - //gameData.Details.Album[albumId] += 1 - //SaveData(gameData) - // - //// 返回奖励 - //rsp.Award = confAlbum.Rewards - // - //// 返回信息 - //rsp.HtCardHolderInfo = gameData.GetInfo() + // 尝试更新配置 + TryUpdateConfigs() + + // 检查活动状态 + code = CheckStatus() + if code != constd.RECODE_OK { + return + } + + // 读取游戏数据 + gameData := LoadData(req.UID) + // 检查游戏数据 轮次等 + code = CheckGameData(gameData) + if code != constd.RECODE_OK { + return + } + + // 判断所有卡组是否已经集齐 + // 检查卡组内卡是否集齐 + for _, config := range Config.AlbumConfig { + count := gameData.Details.Album[config.SetId] + if count < 1 { + code = constd.RECODE_MERGE_CARDHOLDER_ALBUM_NOTFINISH_ERROR + return + } + } + + // 当前轮次 + round := gameData.Details.Round + // 返回奖励 + rsp.Award = Config.Awards[uttype.IntToString(round)] + + // 处理轮次完成 + HandleNextRound(gameData) + SaveData(gameData) + + // 返回信息 + rsp.HtCardHolderInfo = gameData.GetInfo() return } diff --git a/service/ht-cardholder/logic.go b/service/ht-cardholder/logic.go index 7121e9a..39f5772 100644 --- a/service/ht-cardholder/logic.go +++ b/service/ht-cardholder/logic.go @@ -128,3 +128,10 @@ func GetNewCard(gameData *dto.HtCardHolderData) int { indexMin := uttype.Min(list...) return int(indexMin % rate) } + +// HandleNextRound 处理轮次完成 保留卡包 星级序列刻度 卡牌序列刻度 +func HandleNextRound(gameData *dto.HtCardHolderData) { + gameData.Details.Round += 1 + gameData.Details.Cards = make(map[int]int) + gameData.Details.Album = make(map[string]int) +} -- libgit2 0.21.0