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) { | ... | ... |