Commit e62063c8ab914fb99ec4e4b06acd8d2675459847
1 parent
4596c516
Exists in
master
提交相关接口
Showing
5 changed files
with
167 additions
and
1 deletions
Show diff stats
src/HttpServer/logic/datadef.go
... | ... | @@ -25,7 +25,8 @@ type GetAccessTokenResp struct { |
25 | 25 | //-------------------------------------------------------------------------- |
26 | 26 | |
27 | 27 | type GetcurpropertyReq struct { |
28 | - Openid string `json:"openid"` | |
28 | + Openid string `json:"openid"` | |
29 | + Device_id int `json:"device_id"` | |
29 | 30 | } |
30 | 31 | |
31 | 32 | type GetcurpropertyData struct { |
... | ... | @@ -33,6 +34,7 @@ type GetcurpropertyData struct { |
33 | 34 | Speed int64 `json:"speed"` |
34 | 35 | Curlevle int64 `json:"curlevle"` |
35 | 36 | Leftcnt int `json:"leftcnt"` |
37 | + Curgold int `json:"curgold"` | |
36 | 38 | } |
37 | 39 | |
38 | 40 | type GetcurpropertyResp struct { |
... | ... | @@ -59,6 +61,37 @@ type FetchproteryboxResp struct { |
59 | 61 | RetData FetchproteryboxData `json:"retData"` |
60 | 62 | } |
61 | 63 | |
64 | +type UploadgunlvReq struct { | |
65 | + Openid string `json:"openid"` | |
66 | + Maxlevel int `json:"maxlevel"` | |
67 | +} | |
68 | + | |
69 | +type UploadgunlvData struct { | |
70 | + Speed int64 `json:"speed"` | |
71 | +} | |
72 | + | |
73 | +type UploadgunlvResp struct { | |
74 | + ErrNum int `json:"errNum"` | |
75 | + RetMsg string `json:"retMsg"` | |
76 | + RetData UploadgunlvData `json:"retData"` | |
77 | +} | |
78 | + | |
79 | +type AddgoldReq struct { | |
80 | + Openid string `json:"openid"` | |
81 | + Device_id int `json:"device_id"` | |
82 | + Gold_num int `json:"gold_num"` | |
83 | +} | |
84 | + | |
85 | +type AddgoldData struct { | |
86 | + Taoalgoldnum int `json:"taoalgoldnum"` | |
87 | +} | |
88 | + | |
89 | +type AddgoldResp struct { | |
90 | + ErrNum int `json:"errNum"` | |
91 | + RetMsg string `json:"retMsg"` | |
92 | + RetData AddgoldData `json:"retData"` | |
93 | +} | |
94 | + | |
62 | 95 | //------------------------------------------------------------------------------------------------------ |
63 | 96 | |
64 | 97 | type UserData struct { |
... | ... | @@ -72,4 +105,5 @@ type UserData struct { |
72 | 105 | SingDay int //签到天数 |
73 | 106 | IsSign int //当天是否已经签到 |
74 | 107 | TodaySec int //当天零点时间戳,用于判断跨天 |
108 | + PassLvGold int //当天过关获得的金币 | |
75 | 109 | } | ... | ... |
src/HttpServer/logic/errordef.go
src/HttpServer/logic/function.go
... | ... | @@ -72,6 +72,7 @@ func (u *UserData) InitUserInfo(openid string) error { |
72 | 72 | u.MaxLevel = 1 |
73 | 73 | u.Property = 0 |
74 | 74 | u.SingDay = 0 |
75 | + u.PassLvGold = 0 | |
75 | 76 | u.TodaySec = int(time.Date(nowtime.Year(), nowtime.Month(), nowtime.Day(), 0, 0, 0, 0, nowtime.Location()).Unix()) |
76 | 77 | u.TotalFetchCnt = 0 //用于计算当前领取次数 |
77 | 78 | |
... | ... | @@ -135,6 +136,7 @@ func (u *UserData) CalcProperty() { |
135 | 136 | u.SingDay = 0 |
136 | 137 | u.SignRound++ |
137 | 138 | } |
139 | + u.PassLvGold = 0 | |
138 | 140 | } |
139 | 141 | } |
140 | 142 | //保存 | ... | ... |
src/HttpServer/logic/httpserver.go
... | ... | @@ -45,10 +45,32 @@ func startServerHttpServe() { |
45 | 45 | //---------------------------------------------------------------------------------------- |
46 | 46 | http.HandleFunc("/daycs/getcurproperty", Getcurproperty) //请求当前物资 |
47 | 47 | http.HandleFunc("/daycs/fetchproterybox", Fetchproterybox) //请求领取物资宝箱 |
48 | + http.HandleFunc("/daycs/uploadgunlv", Uploadgunlv) //上报当前枪支等级 | |
49 | + http.HandleFunc("/daycs/addgold", Addgold) //增加金币接口(过关加金币用) | |
48 | 50 | err := http.ListenAndServe(conf.GetServerHttpAddrConf(), nil) |
49 | 51 | CheckErr(err) |
50 | 52 | } |
51 | 53 | |
54 | +func Addgold(w http.ResponseWriter, r *http.Request) { | |
55 | + result, _ := ioutil.ReadAll(r.Body) | |
56 | + r.Body.Close() | |
57 | + | |
58 | + s := string(result) | |
59 | + logger.Info("Addgold , body:%v", s) | |
60 | + | |
61 | + HandlerAddgold(w, s) | |
62 | +} | |
63 | + | |
64 | +func Uploadgunlv(w http.ResponseWriter, r *http.Request) { | |
65 | + result, _ := ioutil.ReadAll(r.Body) | |
66 | + r.Body.Close() | |
67 | + | |
68 | + s := string(result) | |
69 | + logger.Info("Uploadgunlv , body:%v", s) | |
70 | + | |
71 | + HandlerUploadgunlv(w, s) | |
72 | +} | |
73 | + | |
52 | 74 | func Fetchproterybox(w http.ResponseWriter, r *http.Request) { |
53 | 75 | result, _ := ioutil.ReadAll(r.Body) |
54 | 76 | r.Body.Close() | ... | ... |
src/HttpServer/logic/logic.go
... | ... | @@ -8,10 +8,110 @@ import ( |
8 | 8 | "net/http" |
9 | 9 | ) |
10 | 10 | |
11 | +func HandlerAddgold(w http.ResponseWriter, data string) { | |
12 | + SetHeader(w) | |
13 | + var resp AddgoldResp | |
14 | + resp.ErrNum = 0 | |
15 | + var rdata AddgoldReq | |
16 | + err := json.Unmarshal([]byte(data), &rdata) | |
17 | + for { | |
18 | + if err != nil { | |
19 | + logger.Info("json decode HandlerAddgold data failed:%v,for:%v", err, data) | |
20 | + resp.RetMsg = "json解析失败" | |
21 | + resp.ErrNum = ERROR_UNMASH_JSONFAILED | |
22 | + break | |
23 | + } | |
24 | + | |
25 | + uinfo, err := GetUserInfo(rdata.Openid) | |
26 | + if err != nil || uinfo == nil { | |
27 | + logger.Info(" HandlerAddgold getdata failed:%v,for:%v", err, data) | |
28 | + resp.RetMsg = "服务器读取数据失败" | |
29 | + resp.ErrNum = ERROR_SERVER_FAILED | |
30 | + break | |
31 | + } | |
32 | + | |
33 | + if uinfo.PassLvGold >= 100 { | |
34 | + logger.Info(" HandlerAddgold PassLvGold failed:%v,for:%v", err, data) | |
35 | + resp.RetMsg = "当日合成获得金币已达上限" | |
36 | + resp.ErrNum = ERROR_GOLD_LIMIT | |
37 | + break | |
38 | + } | |
39 | + | |
40 | + addnum, sumnum, err := AddCoinToTouTiao(rdata.Openid, rdata.Device_id, rdata.Gold_num, "闯关送金币", "other") | |
41 | + if err != nil { | |
42 | + logger.Info(" HandlerAddgold property failed:%v,for:%v", err, data) | |
43 | + resp.RetMsg = "调用头条接口失败" | |
44 | + resp.ErrNum = ERROR_TOUTIAOAPI_FAILED | |
45 | + break | |
46 | + } | |
47 | + | |
48 | + uinfo.PassLvGold += addnum | |
49 | + resp.RetData.Taoalgoldnum = sumnum | |
50 | + //保存 | |
51 | + err = SaveUserInfo(uinfo) | |
52 | + if err != nil { | |
53 | + logger.Error("HandlerFetchproterybox err=%v", err) | |
54 | + } | |
55 | + | |
56 | + break | |
57 | + } | |
58 | + //回包 | |
59 | + respstr, _ := json.Marshal(&resp) | |
60 | + fmt.Fprint(w, string(respstr)) | |
61 | +} | |
62 | + | |
63 | +func HandlerUploadgunlv(w http.ResponseWriter, data string) { | |
64 | + SetHeader(w) | |
65 | + var resp UploadgunlvResp | |
66 | + resp.ErrNum = 0 | |
67 | + resp.RetMsg = "success" | |
68 | + var rdata UploadgunlvReq | |
69 | + err := json.Unmarshal([]byte(data), &rdata) | |
70 | + for { | |
71 | + if err != nil { | |
72 | + logger.Info("json decode HandlerUploadgunlv data failed:%v,for:%v", err, data) | |
73 | + resp.RetMsg = "json解析失败" | |
74 | + resp.ErrNum = ERROR_UNMASH_JSONFAILED | |
75 | + break | |
76 | + } | |
77 | + | |
78 | + uinfo, err := GetUserInfo(rdata.Openid) | |
79 | + if err != nil || uinfo == nil { | |
80 | + logger.Info(" HandlerFetchproterybox getdata failed:%v,for:%v", err, data) | |
81 | + resp.RetMsg = "服务器读取数据失败" | |
82 | + resp.ErrNum = ERROR_SERVER_FAILED | |
83 | + break | |
84 | + } | |
85 | + | |
86 | + if rdata.Maxlevel < uinfo.MaxLevel { | |
87 | + logger.Info(" HandlerFetchproterybox MaxLevel failed:%v,for:%v", err, data) | |
88 | + resp.RetMsg = "等级参数不正确" | |
89 | + resp.ErrNum = ERROR_PARAM_INVALID | |
90 | + break | |
91 | + } | |
92 | + | |
93 | + uinfo.MaxLevel = rdata.Maxlevel | |
94 | + | |
95 | + resp.RetData.Speed = uinfo.CalcSpeed() | |
96 | + | |
97 | + //保存 | |
98 | + err = SaveUserInfo(uinfo) | |
99 | + if err != nil { | |
100 | + logger.Error("HandlerFetchproterybox err=%v", err) | |
101 | + } | |
102 | + | |
103 | + break | |
104 | + } | |
105 | + //回包 | |
106 | + respstr, _ := json.Marshal(&resp) | |
107 | + fmt.Fprint(w, string(respstr)) | |
108 | +} | |
109 | + | |
11 | 110 | func HandlerFetchproterybox(w http.ResponseWriter, data string) { |
12 | 111 | SetHeader(w) |
13 | 112 | var resp FetchproteryboxResp |
14 | 113 | resp.ErrNum = 0 |
114 | + resp.RetMsg = "success" | |
15 | 115 | var rdata FetchproteryboxReq |
16 | 116 | err := json.Unmarshal([]byte(data), &rdata) |
17 | 117 | for { |
... | ... | @@ -88,6 +188,7 @@ func HandlerGetcurproperty(w http.ResponseWriter, data string) { |
88 | 188 | SetHeader(w) |
89 | 189 | var resp GetcurpropertyResp |
90 | 190 | resp.ErrNum = 0 |
191 | + resp.RetMsg = "success" | |
91 | 192 | var rdata GetcurpropertyReq |
92 | 193 | err := json.Unmarshal([]byte(data), &rdata) |
93 | 194 | for { |
... | ... | @@ -114,6 +215,11 @@ func HandlerGetcurproperty(w http.ResponseWriter, data string) { |
114 | 215 | resp.RetData.Curlevle = uinfo.CalcCurLe() |
115 | 216 | resp.RetData.Protery = uinfo.Property |
116 | 217 | resp.RetData.Speed = uinfo.CalcSpeed() |
218 | + newgold, err := GetCoinFromToutiao(rdata.Openid, rdata.Device_id) | |
219 | + if err != nil { | |
220 | + logger.Error("HandlerGetcurproperty err=%v", err) | |
221 | + } | |
222 | + resp.RetData.Curgold = newgold | |
117 | 223 | |
118 | 224 | break |
119 | 225 | } | ... | ... |