Commit 078ac6151d3ef70c1f680e0f07f6ebfc070f3d28
1 parent
17e83e81
Exists in
master
提交新的保存接口
Showing
1 changed file
with
100 additions
and
2 deletions
Show diff stats
src/HttpServer/logic/logic.go
... | ... | @@ -300,10 +300,108 @@ func HandleNewSaveData(w http.ResponseWriter, data string) { |
300 | 300 | } |
301 | 301 | |
302 | 302 | //解析val json |
303 | + m1 := make(map[string]interface{}) | |
304 | + err = json.Unmarshal([]byte(val), &m1) | |
305 | + if err != nil { | |
306 | + logger.Error("HandleNewSaveData failed1,err=%v", err) | |
307 | + resp.Result.Code = ERROR_SRVDB_FAILED | |
308 | + resp.Result.Data = "json unmarsha failed" | |
309 | + break | |
310 | + } | |
311 | + m2 := make(map[string]interface{}) | |
312 | + err = json.Unmarshal([]byte(rdata.Value), &m2) | |
313 | + if err != nil { | |
314 | + logger.Error("HandleNewSaveData failed1,err=%v", err) | |
315 | + resp.Result.Code = ERROR_SRVDB_FAILED | |
316 | + resp.Result.Data = "json unmarsha failed" | |
317 | + break | |
318 | + } | |
303 | 319 | |
304 | - //首先解析value | |
320 | + //比较猫数据 | |
321 | + catmap1 := m1["catData"].(map[string]interface{}) | |
322 | + catmap2 := m2["catData"].(map[string]interface{}) | |
323 | + logger.Info("HandleNewSaveData catmap1=%v",catmap1) | |
324 | + logger.Info("HandleNewSaveData catmap2=%v",catmap2) | |
325 | + if len(catmap2) < len(catmap1) { | |
326 | + logger.Error("HandleNewSaveData failed1,err=%v", err) | |
327 | + resp.Result.Code = ERROR_SRVDB_FAILED | |
328 | + resp.Result.Data = "ERROR_SRVDB_FAILED" | |
329 | + break | |
330 | + } | |
331 | + for k,vak := range catmap2 { | |
332 | + if catmap1[k] != nil { | |
333 | + //需要比较等级 | |
334 | + c2 := vak.(map[string]interface{}) | |
335 | + c1 := catmap1[k].(map[string]interface{}) | |
336 | + if c1["level"]!= nil && c2["level"]!= nil { | |
337 | + logger.Info("HandleNewSaveData c1=%v c2=%v",c1["level"],c2["level"]) | |
338 | + if c2["level"].(int) < c1["level"].(int) { | |
339 | + logger.Error("HandleNewSaveData failed2,err=%v", err) | |
340 | + resp.Result.Code = ERROR_SRVDB_FAILED | |
341 | + resp.Result.Data = "ERROR_SRVDB_FAILED" | |
342 | + break | |
343 | + } | |
344 | + } | |
345 | + } | |
346 | + } | |
305 | 347 | |
306 | - //比对数据 如果不符合则不保存 | |
348 | + //比较roomData | |
349 | + roommap1 := m1["roomData"].(map[string]interface{}) | |
350 | + roommap2 := m2["roomData"].(map[string]interface{}) | |
351 | + logger.Info("HandleNewSaveData catmap1=%v",roommap1) | |
352 | + logger.Info("HandleNewSaveData catmap2=%v",roommap2) | |
353 | + if len(roommap2) < len(roommap1) { | |
354 | + logger.Error("HandleNewSaveData failed3,err=%v", err) | |
355 | + resp.Result.Code = ERROR_SRVDB_FAILED | |
356 | + resp.Result.Data = "ERROR_SRVDB_FAILED" | |
357 | + break | |
358 | + } | |
359 | + for k,val := range roommap2 { | |
360 | + if roommap1[k] != nil { | |
361 | + r2 := val.(map[string]interface{}) | |
362 | + r1 := roommap1[k].(map[string]interface{}) | |
363 | + //比较unlockId | |
364 | + rr2 := r2["unlockId"].([]interface {}) | |
365 | + rr1 := r1["unlockId"].([]interface {}) | |
366 | + if len(rr2) < len(rr1) { | |
367 | + logger.Error("HandleNewSaveData failed4,err=%v", err) | |
368 | + resp.Result.Code = ERROR_SRVDB_FAILED | |
369 | + resp.Result.Data = "ERROR_SRVDB_FAILED" | |
370 | + break | |
371 | + } | |
372 | + | |
373 | + //比较furnitData | |
374 | + rrr2 := r2["furnitData"].(map[string]interface{}) | |
375 | + rrr1 := r1["furnitData"].(map[string]interface{}) | |
376 | + if len(rrr2) < len(rrr1) { | |
377 | + logger.Error("HandleNewSaveData failed5,err=%v", err) | |
378 | + resp.Result.Code = ERROR_SRVDB_FAILED | |
379 | + resp.Result.Data = "ERROR_SRVDB_FAILED" | |
380 | + break | |
381 | + } | |
382 | + } | |
383 | + } | |
384 | + | |
385 | + //coffeeData | |
386 | + coffmap1 := m1["coffeeData"].(map[string]interface{}) | |
387 | + coffmap2 := m2["coffeeData"].(map[string]interface{}) | |
388 | + cdmap1 := coffmap1["datas"].(map[string]interface{}) | |
389 | + cdmap2 := coffmap2["datas"].(map[string]interface{}) | |
390 | + if len(cdmap2) < len(cdmap1) { | |
391 | + logger.Error("HandleNewSaveData failed6,err=%v", err) | |
392 | + resp.Result.Code = ERROR_SRVDB_FAILED | |
393 | + resp.Result.Data = "ERROR_SRVDB_FAILED" | |
394 | + break | |
395 | + } | |
396 | + | |
397 | + //全部校验过后 | |
398 | + err = redishandler.GetRedisClient().SetString(rkey,rdata.Value) | |
399 | + if err != nil { | |
400 | + logger.Error("HandleNewSaveData failed7,err=%v", err) | |
401 | + resp.Result.Code = ERROR_SRVDB_FAILED | |
402 | + resp.Result.Data = "ERROR_SRVDB_FAILED" | |
403 | + break | |
404 | + } | |
307 | 405 | |
308 | 406 | resp.Result.Code = ERROR_OK |
309 | 407 | break | ... | ... |