Commit aadc462ccafd40c45fd1a941d9ff9268e7f40aba
1 parent
1aa8b7b3
Exists in
master
and in
1 other branch
feat✨:卡包信息增加开启和关闭时间
Showing
4 changed files
with
38 additions
and
27 deletions
Show diff stats
dto/cardholder.go
| 1 | 1 | package dto |
| 2 | 2 | |
| 3 | 3 | import ( |
| 4 | - "apigame/models" | |
| 5 | 4 | "apigame/service/constd" |
| 6 | 5 | "apigame/util/util-lx/lxalilog" |
| 7 | 6 | "apigame/util/util-lx/lxtime" |
| ... | ... | @@ -105,24 +104,3 @@ func (d *CardHolderData) Decode() { |
| 105 | 104 | return |
| 106 | 105 | } |
| 107 | 106 | } |
| 108 | - | |
| 109 | -// GetInfo 封装成返回数据 | |
| 110 | -func (d *CardHolderData) GetInfo() models.CardHolderInfo { | |
| 111 | - info := models.CardHolderInfo{ | |
| 112 | - Cardholder: make(map[int]int), | |
| 113 | - Cards: make(map[int]int), | |
| 114 | - Album: make(map[string]int), | |
| 115 | - Round: 0, | |
| 116 | - } | |
| 117 | - for i, i2 := range d.Details.Cardholder { | |
| 118 | - info.Cardholder[i] = i2 | |
| 119 | - } | |
| 120 | - for i, i2 := range d.Details.Cards { | |
| 121 | - info.Cards[i] = i2 | |
| 122 | - } | |
| 123 | - for i, i2 := range d.Details.Album { | |
| 124 | - info.Album[i] = i2 | |
| 125 | - } | |
| 126 | - info.Round = d.Details.Round | |
| 127 | - return info | |
| 128 | -} | ... | ... |
models/cardholder.go
| ... | ... | @@ -8,6 +8,8 @@ type CardHolderInfo struct { |
| 8 | 8 | Cards map[int]int `form:"cards" json:"cards"` // 每张卡集了多少张 k=卡牌ID v=数量 |
| 9 | 9 | Album map[string]int `form:"album" json:"album"` // 卡组奖励领取 k=卡组ID v=数量 |
| 10 | 10 | Round int `form:"round" json:"round"` // 卡册当前轮次 |
| 11 | + StartTime int64 `form:"start_time" json:"start_time"` // 活动开始时间 | |
| 12 | + EndTime int64 `form:"end_time" json:"end_time"` // 活动结束时间 | |
| 11 | 13 | } |
| 12 | 14 | |
| 13 | 15 | // ReqCardHolderInfo 请求 卡包信息 | ... | ... |
service/cardholder/handle.go
| ... | ... | @@ -4,6 +4,7 @@ import ( |
| 4 | 4 | "apigame/dto" |
| 5 | 5 | "apigame/models" |
| 6 | 6 | "apigame/service/constd" |
| 7 | + "apigame/util/util-lx/lxtime" | |
| 7 | 8 | "apigame/util/utjson" |
| 8 | 9 | "apigame/util/uttype" |
| 9 | 10 | "strconv" |
| ... | ... | @@ -21,10 +22,17 @@ func HandleInfo(req *models.ReqCardHolderInfo) (code string, rsp models.RspCardH |
| 21 | 22 | return |
| 22 | 23 | } |
| 23 | 24 | |
| 25 | + // 判断预告时间 | |
| 26 | + sec := lxtime.NowUninx() | |
| 27 | + if sec < config.Raw.StartTime { | |
| 28 | + code = constd.RECODE_MERGE_CARDHOLDER_NOTOPEN_ERROR | |
| 29 | + return | |
| 30 | + } | |
| 31 | + | |
| 24 | 32 | // 读取游戏数据 |
| 25 | 33 | gameData := LoadData(req.GameID, req.UID, config.Id) |
| 26 | 34 | |
| 27 | - rsp.CardHolderInfo = gameData.GetInfo() | |
| 35 | + rsp.CardHolderInfo = GetInfo(gameData, config) | |
| 28 | 36 | |
| 29 | 37 | return |
| 30 | 38 | } |
| ... | ... | @@ -70,7 +78,7 @@ func HandleGetNew(req *models.ReqCardHolderGetNew) (code string, rsp models.RspC |
| 70 | 78 | SaveData(req.GameID, gameData) |
| 71 | 79 | |
| 72 | 80 | // 返回信息 |
| 73 | - rsp.CardHolderInfo = gameData.GetInfo() | |
| 81 | + rsp.CardHolderInfo = GetInfo(gameData, config) | |
| 74 | 82 | |
| 75 | 83 | sequenceId, cohort := GetUserSequenceIdAndCohort(req.UID) |
| 76 | 84 | // 记录日志 |
| ... | ... | @@ -189,7 +197,7 @@ func HandleOpen(req *models.ReqCardHolderOpen) (code string, rsp models.RspCardH |
| 189 | 197 | //logs.Debug("wjwdbg 获取卡牌列表打乱:", rsp.NewCards) |
| 190 | 198 | |
| 191 | 199 | // 返回信息 |
| 192 | - rsp.CardHolderInfo = gameData.GetInfo() | |
| 200 | + rsp.CardHolderInfo = GetInfo(gameData, config) | |
| 193 | 201 | |
| 194 | 202 | return |
| 195 | 203 | } |
| ... | ... | @@ -253,7 +261,7 @@ func HandleGetRewardAlbum(req *models.ReqCardHolderGetRewardAlbum) (code string, |
| 253 | 261 | rsp.Award = confAlbum.Rewards[uttype.IntToString(round)] |
| 254 | 262 | |
| 255 | 263 | // 返回信息 |
| 256 | - rsp.CardHolderInfo = gameData.GetInfo() | |
| 264 | + rsp.CardHolderInfo = GetInfo(gameData, config) | |
| 257 | 265 | |
| 258 | 266 | sequenceId, cohort := GetUserSequenceIdAndCohort(req.UID) |
| 259 | 267 | // 记录日志 |
| ... | ... | @@ -316,7 +324,7 @@ func HandleGetRewardRound(req *models.ReqCardHolderGetRewardRound) (code string, |
| 316 | 324 | SaveData(req.GameID, gameData) |
| 317 | 325 | |
| 318 | 326 | // 返回信息 |
| 319 | - rsp.CardHolderInfo = gameData.GetInfo() | |
| 327 | + rsp.CardHolderInfo = GetInfo(gameData, config) | |
| 320 | 328 | |
| 321 | 329 | return |
| 322 | 330 | } | ... | ... |
service/cardholder/logic.go
| ... | ... | @@ -2,6 +2,7 @@ package cardholder |
| 2 | 2 | |
| 3 | 3 | import ( |
| 4 | 4 | "apigame/dto" |
| 5 | + "apigame/models" | |
| 5 | 6 | "apigame/service/constd" |
| 6 | 7 | "apigame/util/util-lx/lxalilog" |
| 7 | 8 | "apigame/util/util-lx/lxtime" |
| ... | ... | @@ -125,3 +126,25 @@ func HandleNextRound(gameData *dto.CardHolderData) { |
| 125 | 126 | gameData.Details.Cards = make(map[int]int) |
| 126 | 127 | gameData.Details.Album = make(map[string]int) |
| 127 | 128 | } |
| 129 | + | |
| 130 | +func GetInfo(gameData *dto.CardHolderData, conf *CardActivityConfig) models.CardHolderInfo { | |
| 131 | + info := models.CardHolderInfo{ | |
| 132 | + Cardholder: make(map[int]int), | |
| 133 | + Cards: make(map[int]int), | |
| 134 | + Album: make(map[string]int), | |
| 135 | + Round: 0, | |
| 136 | + } | |
| 137 | + for i, i2 := range gameData.Details.Cardholder { | |
| 138 | + info.Cardholder[i] = i2 | |
| 139 | + } | |
| 140 | + for i, i2 := range gameData.Details.Cards { | |
| 141 | + info.Cards[i] = i2 | |
| 142 | + } | |
| 143 | + for i, i2 := range gameData.Details.Album { | |
| 144 | + info.Album[i] = i2 | |
| 145 | + } | |
| 146 | + info.Round = gameData.Details.Round | |
| 147 | + info.StartTime = conf.Raw.StartTime | |
| 148 | + info.EndTime = conf.Raw.EndTime | |
| 149 | + return info | |
| 150 | +} | ... | ... |