Commit ea706600f1366fb378216c5d969094e4c14e696c
1 parent
682c2458
Exists in
master
and in
1 other branch
feat:领取卡组奖励
Showing
5 changed files
with
89 additions
and
0 deletions
Show diff stats
controllers/ht-cardholder.go
| @@ -10,6 +10,7 @@ type HtCardHolderController struct { | @@ -10,6 +10,7 @@ type HtCardHolderController struct { | ||
| 10 | BaseController | 10 | BaseController |
| 11 | } | 11 | } |
| 12 | 12 | ||
| 13 | +// Info 卡包信息 | ||
| 13 | func (c *HtCardHolderController) Info() { | 14 | func (c *HtCardHolderController) Info() { |
| 14 | req := new(dto.ReqHtCardHolderInfo) | 15 | req := new(dto.ReqHtCardHolderInfo) |
| 15 | if !c.GetPostData(req) { | 16 | if !c.GetPostData(req) { |
| @@ -21,6 +22,7 @@ func (c *HtCardHolderController) Info() { | @@ -21,6 +22,7 @@ func (c *HtCardHolderController) Info() { | ||
| 21 | c.RetRspCodeData(code, rsp) | 22 | c.RetRspCodeData(code, rsp) |
| 22 | } | 23 | } |
| 23 | 24 | ||
| 25 | +// GetNew 获取卡包 | ||
| 24 | func (c *HtCardHolderController) GetNew() { | 26 | func (c *HtCardHolderController) GetNew() { |
| 25 | req := new(dto.ReqHtCardHolderGetNew) | 27 | req := new(dto.ReqHtCardHolderGetNew) |
| 26 | if !c.GetPostData(req) { | 28 | if !c.GetPostData(req) { |
| @@ -32,6 +34,7 @@ func (c *HtCardHolderController) GetNew() { | @@ -32,6 +34,7 @@ func (c *HtCardHolderController) GetNew() { | ||
| 32 | c.RetRspCodeData(code, rsp) | 34 | c.RetRspCodeData(code, rsp) |
| 33 | } | 35 | } |
| 34 | 36 | ||
| 37 | +// Open 卡包打开 | ||
| 35 | func (c *HtCardHolderController) Open() { | 38 | func (c *HtCardHolderController) Open() { |
| 36 | req := new(dto.ReqHtCardHolderOpen) | 39 | req := new(dto.ReqHtCardHolderOpen) |
| 37 | if !c.GetPostData(req) { | 40 | if !c.GetPostData(req) { |
| @@ -42,3 +45,15 @@ func (c *HtCardHolderController) Open() { | @@ -42,3 +45,15 @@ func (c *HtCardHolderController) Open() { | ||
| 42 | 45 | ||
| 43 | c.RetRspCodeData(code, rsp) | 46 | c.RetRspCodeData(code, rsp) |
| 44 | } | 47 | } |
| 48 | + | ||
| 49 | +// GetRewardAlbum 领取卡组奖励 | ||
| 50 | +func (c *HtCardHolderController) GetRewardAlbum() { | ||
| 51 | + req := new(dto.ReqHtCardHolderGetRewardAlbum) | ||
| 52 | + if !c.GetPostData(req) { | ||
| 53 | + return | ||
| 54 | + } | ||
| 55 | + | ||
| 56 | + code, rsp := ht_cardholder.HandleGetRewardAlbum(req) | ||
| 57 | + | ||
| 58 | + c.RetRspCodeData(code, rsp) | ||
| 59 | +} |
dto/ht-cardholder.go
| @@ -46,3 +46,16 @@ type RspHtCardHolderOpen struct { | @@ -46,3 +46,16 @@ type RspHtCardHolderOpen struct { | ||
| 46 | HtCardHolderInfo | 46 | HtCardHolderInfo |
| 47 | NewCards []int `form:"new_cards" json:"new_cards"` // 新获得的卡牌列表 | 47 | NewCards []int `form:"new_cards" json:"new_cards"` // 新获得的卡牌列表 |
| 48 | } | 48 | } |
| 49 | + | ||
| 50 | +// ReqHtCardHolderGetRewardAlbum 请求 领取卡组奖励 | ||
| 51 | +type ReqHtCardHolderGetRewardAlbum struct { | ||
| 52 | + BaseSign | ||
| 53 | + BaseLoginInfo | ||
| 54 | + Id int `form:"id" json:"id" valid:"Required"` // 卡组ID | ||
| 55 | +} | ||
| 56 | + | ||
| 57 | +// RspHtCardHolderGetRewardAlbum 返回 领取卡组奖励 | ||
| 58 | +type RspHtCardHolderGetRewardAlbum struct { | ||
| 59 | + HtCardHolderInfo | ||
| 60 | + Award string `form:"award" json:"award"` // 奖励字符串 | ||
| 61 | +} |
routers/router.go
| @@ -17,6 +17,8 @@ func init() { | @@ -17,6 +17,8 @@ func init() { | ||
| 17 | beego.Router(prefix+"/ht/cardholder/getnew", &controllers.HtCardHolderController{}, "post:GetNew") | 17 | beego.Router(prefix+"/ht/cardholder/getnew", &controllers.HtCardHolderController{}, "post:GetNew") |
| 18 | // 卡包打开 | 18 | // 卡包打开 |
| 19 | beego.Router(prefix+"/ht/cardholder/open", &controllers.HtCardHolderController{}, "post:Open") | 19 | beego.Router(prefix+"/ht/cardholder/open", &controllers.HtCardHolderController{}, "post:Open") |
| 20 | + // 领取卡组奖励 | ||
| 21 | + beego.Router(prefix+"/ht/cardholder/getrewardalbum", &controllers.HtCardHolderController{}, "post:GetRewardAlbum") | ||
| 20 | 22 | ||
| 21 | beego.ErrorController(&controllers.ErrorController{}) | 23 | beego.ErrorController(&controllers.ErrorController{}) |
| 22 | } | 24 | } |
service/constd/index.go
| @@ -45,6 +45,9 @@ const ( | @@ -45,6 +45,9 @@ const ( | ||
| 45 | RECODE_MERGE_CARDHOLDER_CARDHOLDERID_ERROR = "2103" | 45 | RECODE_MERGE_CARDHOLDER_CARDHOLDERID_ERROR = "2103" |
| 46 | RECODE_MERGE_CARDHOLDER_COUNTILLEGAL_ERROR = "2104" | 46 | RECODE_MERGE_CARDHOLDER_COUNTILLEGAL_ERROR = "2104" |
| 47 | RECODE_MERGE_CARDHOLDER_CARDHOLDER_NOTENOUGH_ERROR = "2105" | 47 | RECODE_MERGE_CARDHOLDER_CARDHOLDER_NOTENOUGH_ERROR = "2105" |
| 48 | + RECODE_MERGE_CARDHOLDER_ALBUMID_ERROR = "2106" | ||
| 49 | + RECODE_MERGE_CARDHOLDER_ALBUM_HASGOT_ERROR = "2107" | ||
| 50 | + RECODE_MERGE_CARDHOLDER_ALBUM_NOTFINISH_ERROR = "2108" | ||
| 48 | ) | 51 | ) |
| 49 | 52 | ||
| 50 | var recodeText = map[string]string{ | 53 | var recodeText = map[string]string{ |
| @@ -90,6 +93,9 @@ var recodeText = map[string]string{ | @@ -90,6 +93,9 @@ var recodeText = map[string]string{ | ||
| 90 | RECODE_MERGE_CARDHOLDER_CARDHOLDERID_ERROR: "卡包ID错误", | 93 | RECODE_MERGE_CARDHOLDER_CARDHOLDERID_ERROR: "卡包ID错误", |
| 91 | RECODE_MERGE_CARDHOLDER_COUNTILLEGAL_ERROR: "数目不合法", | 94 | RECODE_MERGE_CARDHOLDER_COUNTILLEGAL_ERROR: "数目不合法", |
| 92 | RECODE_MERGE_CARDHOLDER_CARDHOLDER_NOTENOUGH_ERROR: "卡包不足", | 95 | RECODE_MERGE_CARDHOLDER_CARDHOLDER_NOTENOUGH_ERROR: "卡包不足", |
| 96 | + RECODE_MERGE_CARDHOLDER_ALBUMID_ERROR: "卡组ID错误", | ||
| 97 | + RECODE_MERGE_CARDHOLDER_ALBUM_HASGOT_ERROR: "卡组奖励已领取", | ||
| 98 | + RECODE_MERGE_CARDHOLDER_ALBUM_NOTFINISH_ERROR: "卡组卡牌未集齐", | ||
| 93 | } | 99 | } |
| 94 | 100 | ||
| 95 | func RecodeText(code string) string { | 101 | func RecodeText(code string) string { |
service/ht-cardholder/handle.go
| @@ -158,3 +158,56 @@ func HandleOpen(req *dto.ReqHtCardHolderOpen) (code string, rsp dto.RspHtCardHol | @@ -158,3 +158,56 @@ func HandleOpen(req *dto.ReqHtCardHolderOpen) (code string, rsp dto.RspHtCardHol | ||
| 158 | 158 | ||
| 159 | return | 159 | return |
| 160 | } | 160 | } |
| 161 | + | ||
| 162 | +// HandleGetRewardAlbum 领取卡组奖励 | ||
| 163 | +func HandleGetRewardAlbum(req *dto.ReqHtCardHolderGetRewardAlbum) (code string, rsp dto.RspHtCardHolderGetRewardAlbum) { | ||
| 164 | + rsp = dto.RspHtCardHolderGetRewardAlbum{} | ||
| 165 | + code = constd.RECODE_OK | ||
| 166 | + | ||
| 167 | + // 尝试更新配置 | ||
| 168 | + TryUpdateConfigs() | ||
| 169 | + | ||
| 170 | + // 检查活动状态 | ||
| 171 | + code = CheckStatus() | ||
| 172 | + if code != constd.RECODE_OK { | ||
| 173 | + return | ||
| 174 | + } | ||
| 175 | + // 检查卡组ID | ||
| 176 | + albumId := strconv.Itoa(req.Id) | ||
| 177 | + confAlbum, okAlbum := Config.AlbumConfig[albumId] | ||
| 178 | + if !okAlbum { | ||
| 179 | + code = constd.RECODE_MERGE_CARDHOLDER_ALBUMID_ERROR | ||
| 180 | + return | ||
| 181 | + } | ||
| 182 | + | ||
| 183 | + // 读取游戏数据 | ||
| 184 | + gameData := LoadData(req.UID) | ||
| 185 | + | ||
| 186 | + // 是否已领过 | ||
| 187 | + countGot := gameData.Details.Album[albumId] | ||
| 188 | + if countGot > 0 { | ||
| 189 | + code = constd.RECODE_MERGE_CARDHOLDER_ALBUM_HASGOT_ERROR | ||
| 190 | + return | ||
| 191 | + } | ||
| 192 | + // 检查卡组内卡是否集齐 | ||
| 193 | + for _, config := range Config.CardConfig { | ||
| 194 | + if config.SetId == albumId { | ||
| 195 | + count := gameData.Details.Cards[config.Id] | ||
| 196 | + if count < 1 { | ||
| 197 | + code = constd.RECODE_MERGE_CARDHOLDER_ALBUM_NOTFINISH_ERROR | ||
| 198 | + return | ||
| 199 | + } | ||
| 200 | + } | ||
| 201 | + } | ||
| 202 | + | ||
| 203 | + gameData.Details.Album[albumId] += 1 | ||
| 204 | + SaveData(gameData) | ||
| 205 | + | ||
| 206 | + // 返回奖励 | ||
| 207 | + rsp.Award = confAlbum.Rewards | ||
| 208 | + | ||
| 209 | + // 返回信息 | ||
| 210 | + rsp.HtCardHolderInfo = gameData.GetInfo() | ||
| 211 | + | ||
| 212 | + return | ||
| 213 | +} |