Commit 3e2f8b162a4b05d8d3bfada4a5bd412183f4ff6b
1 parent
3e014017
Exists in
master
提交
Showing
4 changed files
with
87 additions
and
3 deletions
Show diff stats
src/HttpServer/logic/datadef.go
| ... | ... | @@ -14,6 +14,21 @@ type TestAddCatResp struct { |
| 14 | 14 | Message string `json:"message"` |
| 15 | 15 | } |
| 16 | 16 | |
| 17 | +type ChangeCoinReq struct { | |
| 18 | + Type int `json:"type"` | |
| 19 | + Coin string `json:"coin"` | |
| 20 | +} | |
| 21 | + | |
| 22 | +type ChangeCoinData struct { | |
| 23 | + Coin DoBuyCatCoin `json:"coin"` | |
| 24 | +} | |
| 25 | + | |
| 26 | +type ChangeCoinResp struct { | |
| 27 | + Code int `json:"code"` | |
| 28 | + Data ChangeCoinData `json:"data"` | |
| 29 | + Message string `json:"message"` | |
| 30 | +} | |
| 31 | + | |
| 17 | 32 | type UserLoginReq struct { |
| 18 | 33 | Lype int `json:"type"` |
| 19 | 34 | UserId int `json:"userId"` | ... | ... |
src/HttpServer/logic/function.go
src/HttpServer/logic/httpserver.go
| ... | ... | @@ -109,7 +109,8 @@ func CheckErr(err error) { |
| 109 | 109 | |
| 110 | 110 | func startServerHttpServe() { |
| 111 | 111 | //test |
| 112 | - http.HandleFunc("/api/test/addCat", TestaddCat) //增加猫 | |
| 112 | + http.HandleFunc("/api/test/addCat", TestaddCat) //增加猫 | |
| 113 | + http.HandleFunc("/api/test/changeCoin", ChangeCoin) //增加猫 | |
| 113 | 114 | |
| 114 | 115 | //real |
| 115 | 116 | http.HandleFunc("/api/account/login", UserLogin) //登录 |
| ... | ... | @@ -1291,6 +1292,24 @@ func Getrandredbag(w http.ResponseWriter, r *http.Request) { |
| 1291 | 1292 | HandlerGetrandredbag(w, s, Uuid) |
| 1292 | 1293 | } |
| 1293 | 1294 | |
| 1295 | +func ChangeCoin(w http.ResponseWriter, r *http.Request) { | |
| 1296 | + Uuid := 0 | |
| 1297 | + if len(r.Header) > 0 { | |
| 1298 | + Uuid, _ = strconv.Atoi(r.Header.Get("uid")) | |
| 1299 | + } | |
| 1300 | + if Uuid == 0 { | |
| 1301 | + SetHeader(w) | |
| 1302 | + return | |
| 1303 | + } | |
| 1304 | + result, _ := ioutil.ReadAll(r.Body) | |
| 1305 | + r.Body.Close() | |
| 1306 | + | |
| 1307 | + s := string(result) | |
| 1308 | + logger.Info("ChangeCoin , body:%v,uuid=%v", s, Uuid) | |
| 1309 | + | |
| 1310 | + HandlerChangeCoin(w, s, Uuid) | |
| 1311 | +} | |
| 1312 | + | |
| 1294 | 1313 | func TestaddCat(w http.ResponseWriter, r *http.Request) { |
| 1295 | 1314 | Uuid := 0 |
| 1296 | 1315 | if len(r.Header) > 0 { | ... | ... |
src/HttpServer/logic/logic.go
| ... | ... | @@ -41,6 +41,55 @@ func SetHeader(w http.ResponseWriter) { |
| 41 | 41 | |
| 42 | 42 | } |
| 43 | 43 | |
| 44 | +func HandlerChangeCoin(w http.ResponseWriter, data string, uuid int) { | |
| 45 | + SetHeader(w) | |
| 46 | + var resp ChangeCoinResp | |
| 47 | + resp.Code = 0 | |
| 48 | + resp.Message = "success" | |
| 49 | + var rdata ChangeCoinReq | |
| 50 | + err := json.Unmarshal([]byte(data), &rdata) | |
| 51 | + if err != nil { | |
| 52 | + logger.Info("json decode HandlerChangeCoin data failed:%v,for:%v", err, data) | |
| 53 | + resp.Message = "json unmarshal failed" | |
| 54 | + resp.Code = 1 | |
| 55 | + respstr, _ := json.Marshal(&resp) | |
| 56 | + logger.Info("###HandlerLogin###rdata:%v", string(respstr)) | |
| 57 | + fmt.Fprint(w, string(respstr)) | |
| 58 | + return | |
| 59 | + } | |
| 60 | + | |
| 61 | + for { | |
| 62 | + | |
| 63 | + uinfo, err := GetUserInfo(strconv.Itoa(uuid)) | |
| 64 | + if err != nil || uinfo == nil { | |
| 65 | + logger.Error("HandlerTestaddCat getuserinfo failed=%v", err) | |
| 66 | + resp.Code = 1 | |
| 67 | + resp.Message = "get userinfo failed" | |
| 68 | + break | |
| 69 | + } | |
| 70 | + | |
| 71 | + addgold, _ := strconv.ParseInt(rdata.Coin, 10, 64) | |
| 72 | + if rdata.Type == 0 { | |
| 73 | + uinfo.Gold += addgold | |
| 74 | + } else { | |
| 75 | + uinfo.Gold -= addgold | |
| 76 | + } | |
| 77 | + | |
| 78 | + resp.Data.Coin.UserId = uuid | |
| 79 | + resp.Data.Coin.Coin = strconv.FormatInt(uinfo.Gold, 10) | |
| 80 | + resp.Data.Coin.IcomeRate = strconv.FormatInt(uinfo.Goldrate, 10) | |
| 81 | + resp.Data.Coin.UpdateTime = int(time.Now().Unix()) | |
| 82 | + SaveUserInfo(uinfo, strconv.Itoa(uuid)) | |
| 83 | + break | |
| 84 | + } | |
| 85 | + | |
| 86 | + //回包 | |
| 87 | + respstr, _ := json.Marshal(&resp) | |
| 88 | + fmt.Fprint(w, string(respstr)) | |
| 89 | + | |
| 90 | + logger.Info("###HandlerLogin###rdata:%v", string(respstr)) | |
| 91 | +} | |
| 92 | + | |
| 44 | 93 | func HandlerTestaddCat(w http.ResponseWriter, data string, uuid int) { |
| 45 | 94 | SetHeader(w) |
| 46 | 95 | var resp TestAddCatResp |
| ... | ... | @@ -77,6 +126,7 @@ func HandlerTestaddCat(w http.ResponseWriter, data string, uuid int) { |
| 77 | 126 | |
| 78 | 127 | catid, _ := strconv.Atoi(rdata.CatId) |
| 79 | 128 | uinfo.PosInfo[rdata.Position].Cat = catid |
| 129 | + uinfo.CalcGoldRate() | |
| 80 | 130 | SaveUserInfo(uinfo, strconv.Itoa(uuid)) |
| 81 | 131 | break |
| 82 | 132 | } | ... | ... |