diff --git a/dto/cardholder.go b/dto/cardholder.go index a75c475..ef47902 100644 --- a/dto/cardholder.go +++ b/dto/cardholder.go @@ -1,7 +1,6 @@ package dto import ( - "apigame/models" "apigame/service/constd" "apigame/util/util-lx/lxalilog" "apigame/util/util-lx/lxtime" @@ -105,24 +104,3 @@ func (d *CardHolderData) Decode() { return } } - -// GetInfo 封装成返回数据 -func (d *CardHolderData) GetInfo() models.CardHolderInfo { - info := models.CardHolderInfo{ - Cardholder: make(map[int]int), - Cards: make(map[int]int), - Album: make(map[string]int), - Round: 0, - } - for i, i2 := range d.Details.Cardholder { - info.Cardholder[i] = i2 - } - for i, i2 := range d.Details.Cards { - info.Cards[i] = i2 - } - for i, i2 := range d.Details.Album { - info.Album[i] = i2 - } - info.Round = d.Details.Round - return info -} diff --git a/models/cardholder.go b/models/cardholder.go index 995a644..707ea75 100644 --- a/models/cardholder.go +++ b/models/cardholder.go @@ -8,6 +8,8 @@ type CardHolderInfo struct { Cards map[int]int `form:"cards" json:"cards"` // 每张卡集了多少张 k=卡牌ID v=数量 Album map[string]int `form:"album" json:"album"` // 卡组奖励领取 k=卡组ID v=数量 Round int `form:"round" json:"round"` // 卡册当前轮次 + StartTime int64 `form:"start_time" json:"start_time"` // 活动开始时间 + EndTime int64 `form:"end_time" json:"end_time"` // 活动结束时间 } // ReqCardHolderInfo 请求 卡包信息 diff --git a/service/cardholder/handle.go b/service/cardholder/handle.go index 63707d5..d943904 100644 --- a/service/cardholder/handle.go +++ b/service/cardholder/handle.go @@ -4,6 +4,7 @@ import ( "apigame/dto" "apigame/models" "apigame/service/constd" + "apigame/util/util-lx/lxtime" "apigame/util/utjson" "apigame/util/uttype" "strconv" @@ -21,10 +22,17 @@ func HandleInfo(req *models.ReqCardHolderInfo) (code string, rsp models.RspCardH return } + // 判断预告时间 + sec := lxtime.NowUninx() + if sec < config.Raw.StartTime { + code = constd.RECODE_MERGE_CARDHOLDER_NOTOPEN_ERROR + return + } + // 读取游戏数据 gameData := LoadData(req.GameID, req.UID, config.Id) - rsp.CardHolderInfo = gameData.GetInfo() + rsp.CardHolderInfo = GetInfo(gameData, config) return } @@ -70,7 +78,7 @@ func HandleGetNew(req *models.ReqCardHolderGetNew) (code string, rsp models.RspC SaveData(req.GameID, gameData) // 返回信息 - rsp.CardHolderInfo = gameData.GetInfo() + rsp.CardHolderInfo = GetInfo(gameData, config) sequenceId, cohort := GetUserSequenceIdAndCohort(req.UID) // 记录日志 @@ -189,7 +197,7 @@ func HandleOpen(req *models.ReqCardHolderOpen) (code string, rsp models.RspCardH //logs.Debug("wjwdbg 获取卡牌列表打乱:", rsp.NewCards) // 返回信息 - rsp.CardHolderInfo = gameData.GetInfo() + rsp.CardHolderInfo = GetInfo(gameData, config) return } @@ -253,7 +261,7 @@ func HandleGetRewardAlbum(req *models.ReqCardHolderGetRewardAlbum) (code string, rsp.Award = confAlbum.Rewards[uttype.IntToString(round)] // 返回信息 - rsp.CardHolderInfo = gameData.GetInfo() + rsp.CardHolderInfo = GetInfo(gameData, config) sequenceId, cohort := GetUserSequenceIdAndCohort(req.UID) // 记录日志 @@ -316,7 +324,7 @@ func HandleGetRewardRound(req *models.ReqCardHolderGetRewardRound) (code string, SaveData(req.GameID, gameData) // 返回信息 - rsp.CardHolderInfo = gameData.GetInfo() + rsp.CardHolderInfo = GetInfo(gameData, config) return } diff --git a/service/cardholder/logic.go b/service/cardholder/logic.go index 5b812ba..379e218 100644 --- a/service/cardholder/logic.go +++ b/service/cardholder/logic.go @@ -2,6 +2,7 @@ package cardholder import ( "apigame/dto" + "apigame/models" "apigame/service/constd" "apigame/util/util-lx/lxalilog" "apigame/util/util-lx/lxtime" @@ -125,3 +126,25 @@ func HandleNextRound(gameData *dto.CardHolderData) { gameData.Details.Cards = make(map[int]int) gameData.Details.Album = make(map[string]int) } + +func GetInfo(gameData *dto.CardHolderData, conf *CardActivityConfig) models.CardHolderInfo { + info := models.CardHolderInfo{ + Cardholder: make(map[int]int), + Cards: make(map[int]int), + Album: make(map[string]int), + Round: 0, + } + for i, i2 := range gameData.Details.Cardholder { + info.Cardholder[i] = i2 + } + for i, i2 := range gameData.Details.Cards { + info.Cards[i] = i2 + } + for i, i2 := range gameData.Details.Album { + info.Album[i] = i2 + } + info.Round = gameData.Details.Round + info.StartTime = conf.Raw.StartTime + info.EndTime = conf.Raw.EndTime + return info +} -- libgit2 0.21.0