Commit dd229061a4a63f0a20eed47d4bd3a0ca03b92681
1 parent
5e6918b1
Exists in
master
and in
1 other branch
提交
Showing
1 changed file
with
51 additions
and
7 deletions
Show diff stats
src/HttpServer/logic/httpserver.go
... | ... | @@ -206,11 +206,43 @@ func QueryReadGold(w http.ResponseWriter, r *http.Request) { |
206 | 206 | |
207 | 207 | func Addcoin(w http.ResponseWriter, r *http.Request) { |
208 | 208 | SetHeader(w) |
209 | - query := r.URL.Query() | |
210 | - uuid := query.Get("uuid") //需要加上渠道号 460012 | |
211 | - channel := query.Get("channel") | |
212 | - uuidnum, _ := strconv.Atoi(uuid) | |
213 | - uniqueuuid := uuid + channel | |
209 | + type TesaApiData struct { | |
210 | + Value int `json:"value"` | |
211 | + Gameid string `json:"gameid"` | |
212 | + Channel string `json:"channel"` | |
213 | + } | |
214 | + | |
215 | + type AddcoinResp struct { | |
216 | + Code int `json:"code"` | |
217 | + Message string `json:"message"` | |
218 | + } | |
219 | + | |
220 | + Uuid := 0 | |
221 | + if len(r.Header) > 0 { | |
222 | + Uuid, _ = strconv.Atoi(r.Header.Get("Uuid")) | |
223 | + } | |
224 | + | |
225 | + if Uuid == 0 { | |
226 | + SetHeader(w) | |
227 | + logger.Error("Uuid is nil!") | |
228 | + return | |
229 | + } | |
230 | + result, _ := ioutil.ReadAll(r.Body) | |
231 | + r.Body.Close() | |
232 | + | |
233 | + s := string(result) | |
234 | + logger.Info("Addcoin , body:%v,uuid=%v", s, Uuid) | |
235 | + | |
236 | + var rdata TesaApiData | |
237 | + err := json.Unmarshal([]byte(s), &rdata) | |
238 | + | |
239 | + if err != nil { | |
240 | + logger.Info("json decode Addcoin data failed:%v,for:%v", err, s) | |
241 | + fmt.Fprint(w, "failed") | |
242 | + return | |
243 | + } | |
244 | + | |
245 | + uniqueuuid := strconv.Itoa(Uuid) + rdata.Channel | |
214 | 246 | uinfo, err := GetUserInfo(uniqueuuid) |
215 | 247 | if err != nil || uinfo == nil { |
216 | 248 | logger.Error("redis failed err=%v", err) |
... | ... | @@ -218,12 +250,24 @@ func Addcoin(w http.ResponseWriter, r *http.Request) { |
218 | 250 | return |
219 | 251 | } |
220 | 252 | |
253 | + addgold := rdata.Value | |
254 | + if addgold > 10000 { | |
255 | + addgold = 10000 | |
256 | + } | |
221 | 257 | //调用sdk |
222 | - gold, err := AddCoinToSdk(uuidnum, 1000, "1001", "SA002", 99) | |
258 | + gold, err := AddCoinToSdk(Uuid, addgold, rdata.Gameid, rdata.Channel, 108) | |
223 | 259 | if err != nil { |
224 | - logger.Error("test ddt! err=%v", err) | |
260 | + logger.Error("Addcoin test ddt! err=%v", err) | |
225 | 261 | } |
226 | 262 | uinfo.RealGold = gold |
263 | + | |
264 | + SaveUserInfo(uinfo,uniqueuuid) | |
265 | + | |
266 | + var resp AddcoinResp | |
267 | + resp.Code = 0 | |
268 | + resp.Message = "success" | |
269 | + respstr, _ := json.Marshal(&resp) | |
270 | + fmt.Fprint(w, string(respstr)) | |
227 | 271 | } |
228 | 272 | |
229 | 273 | func Testapi(w http.ResponseWriter, r *http.Request) { | ... | ... |