Commit aadc462ccafd40c45fd1a941d9ff9268e7f40aba

Authored by 王家文
1 parent 1aa8b7b3
Exists in master and in 1 other branch dev-wjw

feat✨:卡包信息增加开启和关闭时间

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 +}
... ...