Commit f2f654b25cad378d4bbea4c8a79fb8c3fbec3af3
1 parent
a0f10c49
Exists in
master
and in
4 other branches
提交领取升级奖励
Showing
5 changed files
with
117 additions
and
0 deletions
Show diff stats
src/HttpServer/logic/datadef.go
... | ... | @@ -158,6 +158,23 @@ type GettaskrewardResp struct { |
158 | 158 | } |
159 | 159 | |
160 | 160 | |
161 | + | |
162 | +type GetnewlevelrewardReq struct { | |
163 | + Rewardtype int `json:"rewardtype"` | |
164 | + Gameid string `json:"gameid"` | |
165 | + Channel string `json:"channel"` | |
166 | +} | |
167 | + | |
168 | +type GetnewlevelrewardData struct { | |
169 | + Goldnum int `json:"goldnum"` | |
170 | +} | |
171 | +type GetnewlevelrewardResp struct { | |
172 | + Code int `json:"code"` | |
173 | + Message string `json:"message"` | |
174 | + Data GetnewlevelrewardData `json:"data"` | |
175 | +} | |
176 | + | |
177 | + | |
161 | 178 | //********************************************************************************************************** |
162 | 179 | |
163 | 180 | type TaskListDesc struct { |
... | ... | @@ -214,6 +231,7 @@ type WithDrawDesc struct { |
214 | 231 | type UserData struct { |
215 | 232 | Userid int //玩家id |
216 | 233 | Lv int //玩家当前等级 |
234 | + LvRewardGet int //当前等级奖励是否已经领取 1未领取 2普通领取 3双倍领取 | |
217 | 235 | Exp int //玩家当前经验值 |
218 | 236 | GuanGold int //玩家存钱罐中金币数量 |
219 | 237 | RealGold int //玩家实际金币数量(可用于提现的) | ... | ... |
src/HttpServer/logic/errordef.go
src/HttpServer/logic/function.go
... | ... | @@ -403,6 +403,7 @@ func InitUserInfo(data *UserLoginReq, resp *UserLoginResp, uuid int) error{ |
403 | 403 | |
404 | 404 | var initdata UserData |
405 | 405 | initdata.Lv = 1 |
406 | + initdata.LvRewardGet = 1 | |
406 | 407 | initdata.Exp = 0 |
407 | 408 | initdata.Userid = uuid |
408 | 409 | initdata.ContinueLoginDay = 1 |
... | ... | @@ -672,6 +673,7 @@ func (uinfo* UserData) AddUserExp(num int) bool { |
672 | 673 | }else { |
673 | 674 | //够升级的 升一级 |
674 | 675 | uinfo.Lv ++ |
676 | + uinfo.LvRewardGet = 1 //当前等级奖励置位可以领取 | |
675 | 677 | isup = true |
676 | 678 | totalexp -= needexp |
677 | 679 | uinfo.Exp = 0 | ... | ... |
src/HttpServer/logic/httpserver.go
... | ... | @@ -50,12 +50,34 @@ func startServerHttpServe() { |
50 | 50 | http.HandleFunc("/eliminatestar/updatetaskandachieve", Updatetaskandachieve) //上报任务事件进度 |
51 | 51 | http.HandleFunc("/eliminatestar/querytaskinfo", Querytaskinfo) //拉取任务或者成就列表 |
52 | 52 | http.HandleFunc("/eliminatestar/gettaskreward", Gettaskreward) //领取任务或者成就奖励 |
53 | + http.HandleFunc("/eliminatestar/getnewlevelreward", Getnewlevelreward) //领取任务或者成就奖励 | |
53 | 54 | |
54 | 55 | |
55 | 56 | err := http.ListenAndServe(conf.GetServerHttpAddrConf(), nil) |
56 | 57 | CheckErr(err) |
57 | 58 | } |
58 | 59 | |
60 | +func Getnewlevelreward(w http.ResponseWriter, r *http.Request) { | |
61 | + | |
62 | + Uuid := 0 | |
63 | + if len(r.Header) > 0 { | |
64 | + Uuid, _ = strconv.Atoi(r.Header.Get("Uuid")) | |
65 | + } | |
66 | + | |
67 | + if Uuid == 0 { | |
68 | + SetHeader(w) | |
69 | + //logger.Error("Uuid is nil!") | |
70 | + return | |
71 | + } | |
72 | + result, _ := ioutil.ReadAll(r.Body) | |
73 | + r.Body.Close() | |
74 | + | |
75 | + s := string(result) | |
76 | + logger.Info("Getnewlevelreward , body:%v,uuid=%v", s, Uuid) | |
77 | + | |
78 | + HandlerGetnewlevelreward(w, s, Uuid) | |
79 | +} | |
80 | + | |
59 | 81 | |
60 | 82 | func Gettaskreward(w http.ResponseWriter, r *http.Request) { |
61 | 83 | ... | ... |
src/HttpServer/logic/logic.go
... | ... | @@ -204,6 +204,80 @@ func HandlerGetcash(w http.ResponseWriter, data string, uuid int) { |
204 | 204 | |
205 | 205 | |
206 | 206 | |
207 | +func HandlerGetnewlevelreward(w http.ResponseWriter, data string, uuid int) { | |
208 | + SetHeader(w) | |
209 | + var resp GetnewlevelrewardResp | |
210 | + resp.Code = 0 | |
211 | + var rdata GetnewlevelrewardReq | |
212 | + err := json.Unmarshal([]byte(data), &rdata) | |
213 | + for { | |
214 | + if err != nil { | |
215 | + logger.Info("json decode HandlerGetnewlevelreward data failed:%v,for:%v", err, data) | |
216 | + resp.Message = "网络错误" | |
217 | + resp.Code = ERROR_JSONUNMASH_ERROR | |
218 | + break | |
219 | + } | |
220 | + uinfo,err := GetUserInfo(uuid) | |
221 | + if err != nil || uinfo == nil{ | |
222 | + logger.Error("redis failed err=%v", err) | |
223 | + resp.Message = "服务器错误" | |
224 | + resp.Code = ERROR_SRV_ERROR | |
225 | + break | |
226 | + } | |
227 | + | |
228 | + //判断是否可以领取 | |
229 | + if uinfo.LvRewardGet != 1 { | |
230 | + logger.Error("LvRewardGet failed err=%v", err) | |
231 | + resp.Message = "当前等级奖励已经领取过了" | |
232 | + resp.Code = ERROR_LVREWARDALREADYGET | |
233 | + break | |
234 | + } | |
235 | + | |
236 | + cfg := GetUserLvConfig(uinfo.Lv) | |
237 | + if cfg == nil { | |
238 | + logger.Error("GetUserLvConfig failed err=%v", err) | |
239 | + resp.Message = "网络错误" | |
240 | + resp.Code = ERROR_SRV_ERROR | |
241 | + break | |
242 | + } | |
243 | + | |
244 | + _,err = AddCoinToSdk(uuid,cfg.Cash,rdata.Gameid,rdata.Channel,100) | |
245 | + if err != nil { | |
246 | + logger.Error("AddCoinToSdk failed err=%v", err) | |
247 | + resp.Message = "网络错误" | |
248 | + resp.Code = ERROR_SRV_ERROR | |
249 | + break | |
250 | + } | |
251 | + uinfo.RealGold += cfg.Cash | |
252 | + | |
253 | + if rdata.Rewardtype == 2 { | |
254 | + _,err = AddCoinToSdk(uuid,cfg.Extracash,rdata.Gameid,rdata.Channel,100) | |
255 | + if err != nil { | |
256 | + logger.Error("AddCoinToSdk failed err=%v", err) | |
257 | + resp.Message = "网络错误" | |
258 | + resp.Code = ERROR_SRV_ERROR | |
259 | + break | |
260 | + } | |
261 | + uinfo.RealGold += cfg.Extracash | |
262 | + } | |
263 | + | |
264 | + uinfo.LvRewardGet = 1 +rdata.Rewardtype | |
265 | + | |
266 | + //保存数据 | |
267 | + SaveUserInfo(uinfo) | |
268 | + | |
269 | + | |
270 | + resp.Code = ERROR_OK | |
271 | + break | |
272 | + } | |
273 | + | |
274 | + //回包 | |
275 | + respstr, _ := json.Marshal(&resp) | |
276 | + fmt.Fprint(w, string(respstr)) | |
277 | + | |
278 | +} | |
279 | + | |
280 | + | |
207 | 281 | func HandlerGettaskreward(w http.ResponseWriter, data string, uuid int) { |
208 | 282 | SetHeader(w) |
209 | 283 | var resp GettaskrewardResp | ... | ... |