Commit 92fe839fd3f0b7511d976b982f19a01d4bf70348

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

feat:领取卡组奖励,按照轮次来

controllers/ht-cardholder.go
... ... @@ -57,3 +57,15 @@ func (c *HtCardHolderController) GetRewardAlbum() {
57 57  
58 58 c.RetRspCodeData(code, rsp)
59 59 }
  60 +
  61 +// GetRewardRound 领取轮次奖励
  62 +func (c *HtCardHolderController) GetRewardRound() {
  63 + req := new(models.ReqHtCardHolderGetRewardRound)
  64 + if !c.GetPostData(req) {
  65 + return
  66 + }
  67 +
  68 + code, rsp := ht_cardholder.HandleGetRewardRound(req)
  69 +
  70 + c.RetRspCodeData(code, rsp)
  71 +}
... ...
dto/ht-cardholder.go
... ... @@ -34,7 +34,7 @@ type HtCardHolderDataDetails struct {
34 34 Album map[string]int // 卡组奖励领取 k=卡组ID v=数量
35 35 StarSequenceScales map[string]int // 星级序列刻度 k=ID_用户序列_用户分组 v=刻度
36 36 CardSequenceScales map[string]int // 卡牌序列刻度 k=ID_用户序列_用户分组 v=刻度
37   - Round int // 卡册完成轮次
  37 + Round int // 卡册当前轮次
38 38 }
39 39  
40 40 func NewHtCardHolderData(uid int64) *HtCardHolderData {
... ... @@ -51,7 +51,7 @@ func NewHtCardHolderDataDetails() *HtCardHolderDataDetails {
51 51 Album: make(map[string]int),
52 52 StarSequenceScales: make(map[string]int),
53 53 CardSequenceScales: make(map[string]int),
54   - Round: 0,
  54 + Round: 1,
55 55 }
56 56 }
57 57  
... ...
models/ht-cardholder.go
... ... @@ -59,3 +59,15 @@ type RspHtCardHolderGetRewardAlbum struct {
59 59 HtCardHolderInfo
60 60 Award string `form:"award" json:"award"` // 奖励字符串
61 61 }
  62 +
  63 +// ReqHtCardHolderGetRewardRound 请求 领取轮次奖励
  64 +type ReqHtCardHolderGetRewardRound struct {
  65 + BaseSign
  66 + BaseLoginInfo
  67 +}
  68 +
  69 +// RspHtCardHolderGetRewardRound 返回 领取轮次奖励
  70 +type RspHtCardHolderGetRewardRound struct {
  71 + HtCardHolderInfo
  72 + Award string `form:"award" json:"award"` // 奖励字符串
  73 +}
... ...
routers/router.go
... ... @@ -19,6 +19,8 @@ func init() {
19 19 beego.Router(prefix+"/ht/cardholder/open", &controllers.HtCardHolderController{}, "post:Open")
20 20 // 领取卡组奖励
21 21 beego.Router(prefix+"/ht/cardholder/getrewardalbum", &controllers.HtCardHolderController{}, "post:GetRewardAlbum")
  22 + // 领取轮次奖励
  23 + beego.Router(prefix+"/ht/cardholder/getrewardround", &controllers.HtCardHolderController{}, "post:GetRewardRound")
22 24  
23 25 beego.ErrorController(&controllers.ErrorController{})
24 26 }
... ...
service/ht-cardholder/config.go
... ... @@ -46,10 +46,10 @@ type CardActivityConfigRaw struct {
46 46  
47 47 // AlbumConfig 卡组表
48 48 type AlbumConfig struct {
49   - SetId string `json:"set_id"` // 卡组id
50   - Rewards string `json:"rewards"` // 集齐奖励
51   - StartTime int64 `json:"start_time"` // 开始时间
52   - EndTime int64 `json:"end_time"` // 结束时间
  49 + SetId string `json:"set_id"` // 卡组id
  50 + Rewards map[string]string `json:"rewards"` // 集齐奖励 k=轮次
  51 + StartTime int64 `json:"start_time"` // 开始时间
  52 + EndTime int64 `json:"end_time"` // 结束时间
53 53 }
54 54  
55 55 // CardConfig 卡牌表
... ...
service/ht-cardholder/handle.go
... ... @@ -203,11 +203,66 @@ func HandleGetRewardAlbum(req *models.ReqHtCardHolderGetRewardAlbum) (code strin
203 203 gameData.Details.Album[albumId] += 1
204 204 SaveData(gameData)
205 205  
  206 + // 当前轮次
  207 + round := gameData.Details.Round
206 208 // 返回奖励
207   - rsp.Award = confAlbum.Rewards
  209 + rsp.Award = confAlbum.Rewards[uttype.IntToString(round)]
208 210  
209 211 // 返回信息
210 212 rsp.HtCardHolderInfo = gameData.GetInfo()
211 213  
212 214 return
213 215 }
  216 +
  217 +// HandleGetRewardRound 领取轮次奖励
  218 +func HandleGetRewardRound(req *models.ReqHtCardHolderGetRewardRound) (code string, rsp models.RspHtCardHolderGetRewardRound) {
  219 + rsp = models.RspHtCardHolderGetRewardRound{}
  220 + code = constd.RECODE_OK
  221 +
  222 + //// 尝试更新配置
  223 + //TryUpdateConfigs()
  224 + //
  225 + //// 检查活动状态
  226 + //code = CheckStatus()
  227 + //if code != constd.RECODE_OK {
  228 + // return
  229 + //}
  230 + //// 检查卡组ID
  231 + //albumId := strconv.Itoa(req.Id)
  232 + //confAlbum, okAlbum := Config.AlbumConfig[albumId]
  233 + //if !okAlbum {
  234 + // code = constd.RECODE_MERGE_CARDHOLDER_ALBUMID_ERROR
  235 + // return
  236 + //}
  237 + //
  238 + //// 读取游戏数据
  239 + //gameData := LoadData(req.UID)
  240 + //
  241 + //// 是否已领过
  242 + //countGot := gameData.Details.Album[albumId]
  243 + //if countGot > 0 {
  244 + // code = constd.RECODE_MERGE_CARDHOLDER_ALBUM_HASGOT_ERROR
  245 + // return
  246 + //}
  247 + //// 检查卡组内卡是否集齐
  248 + //for _, config := range Config.CardConfig {
  249 + // if config.SetId == albumId {
  250 + // count := gameData.Details.Cards[config.Id]
  251 + // if count < 1 {
  252 + // code = constd.RECODE_MERGE_CARDHOLDER_ALBUM_NOTFINISH_ERROR
  253 + // return
  254 + // }
  255 + // }
  256 + //}
  257 + //
  258 + //gameData.Details.Album[albumId] += 1
  259 + //SaveData(gameData)
  260 + //
  261 + //// 返回奖励
  262 + //rsp.Award = confAlbum.Rewards
  263 + //
  264 + //// 返回信息
  265 + //rsp.HtCardHolderInfo = gameData.GetInfo()
  266 +
  267 + return
  268 +}
... ...