Commit 5ae5e5b1748fdbadfb1b13dd17a4b48f2264cbbb
1 parent
02fdd34b
Exists in
master
提交接口
Showing
4 changed files
with
54 additions
and
0 deletions
Show diff stats
src/HttpServer/logic/datadef.go
| ... | ... | @@ -126,6 +126,16 @@ type InviteWorkResp struct { |
| 126 | 126 | } |
| 127 | 127 | |
| 128 | 128 | |
| 129 | +type SaveDataBackupReq struct{ | |
| 130 | + Uuid int `json:"uuid"` | |
| 131 | + Value string `json:"value"` | |
| 132 | +} | |
| 133 | + | |
| 134 | + | |
| 135 | +type SaveDataBackupResp struct { | |
| 136 | + Code int `json:"code"` | |
| 137 | + Message string `json:"message"` | |
| 138 | +} | |
| 129 | 139 | |
| 130 | 140 | |
| 131 | 141 | type FetchInviteReq struct{ | ... | ... |
src/HttpServer/logic/httpserver.go
| ... | ... | @@ -83,6 +83,7 @@ func startServerHttpServe() { |
| 83 | 83 | http.HandleFunc("/catcafe/user/fetchInviteReward",FetchInviteReward) //领取邀请奖励 |
| 84 | 84 | http.HandleFunc("/catcafe/user/enterInvite",EnterInvite) //别的玩家(新玩家)通过邀请连接进来 |
| 85 | 85 | http.HandleFunc("/catcafe/user/queryInviteWork",QueryInviteWork) //获取邀请打工列表 |
| 86 | + http.HandleFunc("/catcafe/user/saveDataBackup",SaveDataBackup) //保存玩家数据 备份数据接口 | |
| 86 | 87 | |
| 87 | 88 | |
| 88 | 89 | err := http.ListenAndServe(conf.GetServerHttpAddrConf(), nil) |
| ... | ... | @@ -229,6 +230,18 @@ func ClearData(w http.ResponseWriter, r *http.Request) { |
| 229 | 230 | } |
| 230 | 231 | |
| 231 | 232 | |
| 233 | +func SaveDataBackup(w http.ResponseWriter, r *http.Request) { | |
| 234 | + | |
| 235 | + result, _ := ioutil.ReadAll(r.Body) | |
| 236 | + r.Body.Close() | |
| 237 | + | |
| 238 | + s := string(result) | |
| 239 | + logger.Info("SaveDataBackup , body:%v,uuid=%v", s) | |
| 240 | + | |
| 241 | + HandleSaveDataBackup(w,s) | |
| 242 | + | |
| 243 | +} | |
| 244 | + | |
| 232 | 245 | func QueryInviteWork(w http.ResponseWriter, r *http.Request) { |
| 233 | 246 | |
| 234 | 247 | result, _ := ioutil.ReadAll(r.Body) | ... | ... |
src/HttpServer/logic/logic.go
| ... | ... | @@ -274,6 +274,36 @@ func HandleQueryInvite(w http.ResponseWriter, data string) { |
| 274 | 274 | } |
| 275 | 275 | |
| 276 | 276 | |
| 277 | +func HandleSaveDataBackup(w http.ResponseWriter, data string) { | |
| 278 | + SetHeader(w) | |
| 279 | + var resp SaveDataBackupResp | |
| 280 | + resp.Code = 0 | |
| 281 | + var rdata SaveDataBackupReq | |
| 282 | + err := json.Unmarshal([]byte(data), &rdata) | |
| 283 | + for { | |
| 284 | + if err != nil { | |
| 285 | + logger.Error("HandleQueryInviteWork json unmarshal failed=%v", err) | |
| 286 | + resp.Code = ERROR_JSONUNMASHFAILED | |
| 287 | + resp.Message = "json unmarshal failed" | |
| 288 | + break | |
| 289 | + } | |
| 290 | + | |
| 291 | + err = redishandler.GetRedisClient().HSet(redis.USER_BACKUP_DATA,strconv.Itoa(rdata.Uuid),rdata.Value) | |
| 292 | + if err != nil { | |
| 293 | + logger.Error("HandleQueryInviteWork save failed=%v", err) | |
| 294 | + resp.Code = ERROR_SRVDB_FAILED | |
| 295 | + resp.Message = "ERROR_SRVDB_FAILED" | |
| 296 | + break | |
| 297 | + } | |
| 298 | + | |
| 299 | + resp.Code = ERROR_OK | |
| 300 | + break | |
| 301 | + } | |
| 302 | + | |
| 303 | + //回包 | |
| 304 | + respstr, _ := json.Marshal(&resp) | |
| 305 | + fmt.Fprint(w, string(respstr)) | |
| 306 | +} | |
| 277 | 307 | |
| 278 | 308 | func HandleQueryInviteWork(w http.ResponseWriter, data string) { |
| 279 | 309 | ... | ... |
src/common/redis/def.go
| ... | ... | @@ -19,4 +19,5 @@ const ( |
| 19 | 19 | USER_INVITEREWARD_FETCH_REWARD = "CATCAFE_USER_INVITEREWARD_FETCH_REWARD" //玩家邀请记录 hset key + uuid field为被邀请者的uuid value为领取状态 |
| 20 | 20 | USER_BEINVITE_UUIDRELATION = "CATCAFE_USER_BEINVITE_UUIDRELATION" //玩家被邀请关系记录表 |
| 21 | 21 | USER_INVITEWORK_RELATION = "CATCAFE_USER_INVITEWORK_RELATION" //玩家被邀请打工记录表 |
| 22 | + USER_BACKUP_DATA = "CATCAFE_USER_BACKUP_DATA" //玩家数据保存的备份 | |
| 22 | 23 | ) | ... | ... |