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,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 | type TaskListDesc struct { | 180 | type TaskListDesc struct { |
| @@ -214,6 +231,7 @@ type WithDrawDesc struct { | @@ -214,6 +231,7 @@ type WithDrawDesc struct { | ||
| 214 | type UserData struct { | 231 | type UserData struct { |
| 215 | Userid int //玩家id | 232 | Userid int //玩家id |
| 216 | Lv int //玩家当前等级 | 233 | Lv int //玩家当前等级 |
| 234 | + LvRewardGet int //当前等级奖励是否已经领取 1未领取 2普通领取 3双倍领取 | ||
| 217 | Exp int //玩家当前经验值 | 235 | Exp int //玩家当前经验值 |
| 218 | GuanGold int //玩家存钱罐中金币数量 | 236 | GuanGold int //玩家存钱罐中金币数量 |
| 219 | RealGold int //玩家实际金币数量(可用于提现的) | 237 | RealGold int //玩家实际金币数量(可用于提现的) |
src/HttpServer/logic/errordef.go
| @@ -19,4 +19,5 @@ const ( | @@ -19,4 +19,5 @@ const ( | ||
| 19 | ERROR_TASKCANNOTGET =14 //当前任务未完成或已领取 | 19 | ERROR_TASKCANNOTGET =14 //当前任务未完成或已领取 |
| 20 | ERROR_TASKID_WRONG =15 //当前任务id错误 | 20 | ERROR_TASKID_WRONG =15 //当前任务id错误 |
| 21 | ERROR_TASKPRE_NOTGET =16 //前置任务还未领取 | 21 | ERROR_TASKPRE_NOTGET =16 //前置任务还未领取 |
| 22 | + ERROR_LVREWARDALREADYGET =17 //当前等级奖励已经领取过了 | ||
| 22 | ) | 23 | ) |
| 23 | \ No newline at end of file | 24 | \ No newline at end of file |
src/HttpServer/logic/function.go
| @@ -403,6 +403,7 @@ func InitUserInfo(data *UserLoginReq, resp *UserLoginResp, uuid int) error{ | @@ -403,6 +403,7 @@ func InitUserInfo(data *UserLoginReq, resp *UserLoginResp, uuid int) error{ | ||
| 403 | 403 | ||
| 404 | var initdata UserData | 404 | var initdata UserData |
| 405 | initdata.Lv = 1 | 405 | initdata.Lv = 1 |
| 406 | + initdata.LvRewardGet = 1 | ||
| 406 | initdata.Exp = 0 | 407 | initdata.Exp = 0 |
| 407 | initdata.Userid = uuid | 408 | initdata.Userid = uuid |
| 408 | initdata.ContinueLoginDay = 1 | 409 | initdata.ContinueLoginDay = 1 |
| @@ -672,6 +673,7 @@ func (uinfo* UserData) AddUserExp(num int) bool { | @@ -672,6 +673,7 @@ func (uinfo* UserData) AddUserExp(num int) bool { | ||
| 672 | }else { | 673 | }else { |
| 673 | //够升级的 升一级 | 674 | //够升级的 升一级 |
| 674 | uinfo.Lv ++ | 675 | uinfo.Lv ++ |
| 676 | + uinfo.LvRewardGet = 1 //当前等级奖励置位可以领取 | ||
| 675 | isup = true | 677 | isup = true |
| 676 | totalexp -= needexp | 678 | totalexp -= needexp |
| 677 | uinfo.Exp = 0 | 679 | uinfo.Exp = 0 |
src/HttpServer/logic/httpserver.go
| @@ -50,12 +50,34 @@ func startServerHttpServe() { | @@ -50,12 +50,34 @@ func startServerHttpServe() { | ||
| 50 | http.HandleFunc("/eliminatestar/updatetaskandachieve", Updatetaskandachieve) //上报任务事件进度 | 50 | http.HandleFunc("/eliminatestar/updatetaskandachieve", Updatetaskandachieve) //上报任务事件进度 |
| 51 | http.HandleFunc("/eliminatestar/querytaskinfo", Querytaskinfo) //拉取任务或者成就列表 | 51 | http.HandleFunc("/eliminatestar/querytaskinfo", Querytaskinfo) //拉取任务或者成就列表 |
| 52 | http.HandleFunc("/eliminatestar/gettaskreward", Gettaskreward) //领取任务或者成就奖励 | 52 | http.HandleFunc("/eliminatestar/gettaskreward", Gettaskreward) //领取任务或者成就奖励 |
| 53 | + http.HandleFunc("/eliminatestar/getnewlevelreward", Getnewlevelreward) //领取任务或者成就奖励 | ||
| 53 | 54 | ||
| 54 | 55 | ||
| 55 | err := http.ListenAndServe(conf.GetServerHttpAddrConf(), nil) | 56 | err := http.ListenAndServe(conf.GetServerHttpAddrConf(), nil) |
| 56 | CheckErr(err) | 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 | func Gettaskreward(w http.ResponseWriter, r *http.Request) { | 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,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 | func HandlerGettaskreward(w http.ResponseWriter, data string, uuid int) { | 281 | func HandlerGettaskreward(w http.ResponseWriter, data string, uuid int) { |
| 208 | SetHeader(w) | 282 | SetHeader(w) |
| 209 | var resp GettaskrewardResp | 283 | var resp GettaskrewardResp |