Commit 1c80023c45d78eea79edc822cdeb551686b236d7
1 parent
32e96c1d
Exists in
master
提交
Showing
4 changed files
with
141 additions
and
1 deletions
Show diff stats
src/HttpServer/jsonconf/jsonconf.go
... | ... | @@ -84,6 +84,13 @@ type InvestmentsConfigDesc struct { |
84 | 84 | Reward []int `json:"reward"` |
85 | 85 | } |
86 | 86 | |
87 | +type GunBigBounceConfigDesc struct { | |
88 | + Id int `json:"id"` | |
89 | + Gun_level int `json:"gun_level"` | |
90 | + Luckybag float32 `json:"Luckybag"` | |
91 | + RewardVideo int `json:"RewardVideo"` | |
92 | +} | |
93 | + | |
87 | 94 | type GameConfig struct { |
88 | 95 | WithDrawConfig []WithDrawDesc |
89 | 96 | ActiveWithdrawConfig []ActiveWithdrawConfigDesc |
... | ... | @@ -96,6 +103,7 @@ type GameConfig struct { |
96 | 103 | TaskConfig []AchieveDesc |
97 | 104 | SignConfig []SignConfigDesc |
98 | 105 | InvestmentsConfig []InvestmentsConfigDesc |
106 | + GunBigBounceConfig []GunBigBounceConfigDesc | |
99 | 107 | } |
100 | 108 | |
101 | 109 | func GetJsonConf() *GameConfig { |
... | ... | @@ -267,10 +275,33 @@ func LoadJsonConf() error { |
267 | 275 | return err |
268 | 276 | } |
269 | 277 | |
278 | + | |
279 | + path = "../jsonconf/GunBigBounceConfig.json" | |
280 | + content, err = file_get_contents(path) | |
281 | + if err != nil { | |
282 | + logger.Info("loadJsonConf failed1,err=%v", err) | |
283 | + return err | |
284 | + } | |
285 | + | |
286 | + err = json.Unmarshal([]byte(content), &g_jsonconf.GunBigBounceConfig) | |
287 | + if err != nil { | |
288 | + logger.Info("loadJsonConf failed1,err=%v", err) | |
289 | + return err | |
290 | + } | |
291 | + | |
270 | 292 | logger.Info("loadJsonConf success pconf=%v,err=%v", *g_jsonconf, err) |
271 | 293 | return nil |
272 | 294 | } |
273 | 295 | |
296 | +func GetGunBigBonusCfg(id int) *GunBigBounceConfigDesc { | |
297 | + for _, v := range g_jsonconf.GunBigBounceConfig { | |
298 | + if v.Id == id { | |
299 | + return &v | |
300 | + } | |
301 | + } | |
302 | + return nil | |
303 | +} | |
304 | + | |
274 | 305 | func GetsignConfig(id int) *SignConfigDesc { |
275 | 306 | for _, v := range g_jsonconf.SignConfig { |
276 | 307 | if v.Id == id { | ... | ... |
src/HttpServer/logic/datadef.go
... | ... | @@ -56,6 +56,16 @@ type GettaskrewardResp struct { |
56 | 56 | Data GettaskrewardData `json:"data"` |
57 | 57 | } |
58 | 58 | |
59 | +type QuerygunbonusData struct { | |
60 | + Finished []int `json:"finished"` | |
61 | +} | |
62 | + | |
63 | +type QuerygunbonusResp struct { | |
64 | + Code int `json:"code"` | |
65 | + Message string `json:"message"` | |
66 | + Data QuerygunbonusData `json:"data"` | |
67 | +} | |
68 | + | |
59 | 69 | type QuerytaskinfoReq struct { |
60 | 70 | Tasktype int `json:"tasktype"` |
61 | 71 | Gameid string `json:"gameid"` |
... | ... | @@ -303,6 +313,7 @@ type UserData struct { |
303 | 313 | Tili int //体力 |
304 | 314 | ReadNum int //玩家微转发阅读量 |
305 | 315 | GetCashCnt int //当天提现次数 |
316 | + GunBonus []int //以领取的新枪奖励id | |
306 | 317 | WithDraw WithDrawInfo //提现记录信息 |
307 | 318 | Task TaskInfo //玩家任务完成相关信息 |
308 | 319 | Achieve AchieveMentInfo //玩家成就完成相关数据 | ... | ... |
src/HttpServer/logic/httpserver.go
... | ... | @@ -54,6 +54,7 @@ func startServerHttpServe() { |
54 | 54 | http.HandleFunc("/gunshot/updatetaskandachieve", Updatetaskandachieve) //上报任务事件进度 |
55 | 55 | http.HandleFunc("/gunshot/querytaskinfo", Querytaskinfo) //拉取任务或者成就列表 |
56 | 56 | http.HandleFunc("/gunshot/gettaskreward", Gettaskreward) //领取任务或者成就奖励 |
57 | + http.HandleFunc("/gunshot/querygunbonus", Querygunbonus) //获取合成新枪奖励列表 | |
57 | 58 | |
58 | 59 | |
59 | 60 | |
... | ... | @@ -188,6 +189,27 @@ func Querytaskinfo(w http.ResponseWriter, r *http.Request) { |
188 | 189 | HandlerQuerytaskinfo(w, s, Uuid) |
189 | 190 | } |
190 | 191 | |
192 | +func Querygunbonus(w http.ResponseWriter, r *http.Request) { | |
193 | + | |
194 | + Uuid := 0 | |
195 | + if len(r.Header) > 0 { | |
196 | + Uuid, _ = strconv.Atoi(r.Header.Get("Uuid")) | |
197 | + } | |
198 | + | |
199 | + if Uuid == 0 { | |
200 | + SetHeader(w) | |
201 | + //logger.Error("Uuid is nil!") | |
202 | + return | |
203 | + } | |
204 | + result, _ := ioutil.ReadAll(r.Body) | |
205 | + r.Body.Close() | |
206 | + | |
207 | + s := string(result) | |
208 | + logger.Info("Querygunbonus , body:%v,uuid=%v", s, Uuid) | |
209 | + | |
210 | + HandlerQuerygunbonus(w, s, Uuid) | |
211 | +} | |
212 | + | |
191 | 213 | func Gettaskreward(w http.ResponseWriter, r *http.Request) { |
192 | 214 | |
193 | 215 | Uuid := 0 | ... | ... |
src/HttpServer/logic/logic.go
... | ... | @@ -8,6 +8,7 @@ import ( |
8 | 8 | "encoding/json" |
9 | 9 | "fmt" |
10 | 10 | "net/http" |
11 | + "sort" | |
11 | 12 | "strconv" |
12 | 13 | "sync" |
13 | 14 | "time" |
... | ... | @@ -310,6 +311,42 @@ func HandlerQuerytaskinfo(w http.ResponseWriter, data string, uuid int) { |
310 | 311 | |
311 | 312 | } |
312 | 313 | |
314 | +func HandlerQuerygunbonus(w http.ResponseWriter, data string, uuid int) { | |
315 | + SetHeader(w) | |
316 | + var resp QuerygunbonusResp | |
317 | + resp.Code = 0 | |
318 | + var rdata CommReq | |
319 | + err := json.Unmarshal([]byte(data), &rdata) | |
320 | + for { | |
321 | + if err != nil { | |
322 | + logger.Info("json decode HandlerQuerygunbonus data failed:%v,for:%v", err, data) | |
323 | + resp.Message = "网络错误" | |
324 | + resp.Code = 1 | |
325 | + break | |
326 | + } | |
327 | + | |
328 | + //需要加上渠道才是唯一的玩家id,不同渠道视为不同数据 | |
329 | + uniqueuuid := strconv.Itoa(uuid) + rdata.Channel | |
330 | + uinfo, err := GetUserInfo(uniqueuuid) | |
331 | + if err != nil || uinfo == nil { | |
332 | + logger.Error("redis failed err=%v", err) | |
333 | + resp.Message = "服务器错误" | |
334 | + resp.Code = 1 | |
335 | + break | |
336 | + } | |
337 | + | |
338 | + resp.Data.Finished = append(resp.Data.Finished,uinfo.GunBonus...) | |
339 | + | |
340 | + resp.Code = 0 | |
341 | + break | |
342 | + } | |
343 | + | |
344 | + //回包 | |
345 | + respstr, _ := json.Marshal(&resp) | |
346 | + fmt.Fprint(w, string(respstr)) | |
347 | + | |
348 | +} | |
349 | + | |
313 | 350 | func HandlerGettaskreward(w http.ResponseWriter, data string, uuid int) { |
314 | 351 | SetHeader(w) |
315 | 352 | var resp GettaskrewardResp |
... | ... | @@ -750,7 +787,46 @@ func HandlerFetchredbag(w http.ResponseWriter, data string, uuid int) { |
750 | 787 | |
751 | 788 | } |
752 | 789 | |
753 | - } else { | |
790 | + } else if rdata.Rtype == 5 { | |
791 | + isin := false | |
792 | + for _,v := range uinfo.GunBonus { | |
793 | + if v == rdata.Param { | |
794 | + isin = true | |
795 | + break | |
796 | + } | |
797 | + } | |
798 | + | |
799 | + if isin { | |
800 | + logger.Info("GetUserInfo HandlerFetchredbag data failed:%v,for:%v", err, data) | |
801 | + resp.Message = "已经领取过了!" | |
802 | + resp.Code = 1 | |
803 | + break | |
804 | + } | |
805 | + | |
806 | + cfg := jsonconf.GetGunBigBonusCfg(rdata.Param) | |
807 | + if cfg == nil { | |
808 | + logger.Info("GetUserInfo HandlerFetchredbag data failed:%v,for:%v", err, data) | |
809 | + resp.Message = "获取配置失败!" | |
810 | + resp.Code = 1 | |
811 | + break | |
812 | + } | |
813 | + | |
814 | + | |
815 | + getnum := int(cfg.Luckybag) | |
816 | + realgold, err := AddCoinToSdk(uuid, getnum, rdata.Gameid, rdata.Channel, 108) | |
817 | + if err !=nil { | |
818 | + logger.Error("HandlerFetchredbag failed err=%v", err) | |
819 | + resp.Message = "服务器错误!" | |
820 | + resp.Code = 1 | |
821 | + break | |
822 | + } | |
823 | + | |
824 | + resp.Data.Getgold = getnum | |
825 | + resp.Data.Walletgold = realgold | |
826 | + | |
827 | + uinfo.GunBonus = append(uinfo.GunBonus,rdata.Param) | |
828 | + sort.Ints(uinfo.GunBonus) | |
829 | + }else { | |
754 | 830 | /*if uinfo.SpecialLevel <= uinfo.SpecialNum { |
755 | 831 | logger.Error("HandlerFetchredbag failed err=%v", err) |
756 | 832 | resp.Message = "没有可以领取的随机红包次数了!" | ... | ... |