diff --git a/src/HttpServer/logic/logic.go b/src/HttpServer/logic/logic.go index c3750ef..c40708f 100644 --- a/src/HttpServer/logic/logic.go +++ b/src/HttpServer/logic/logic.go @@ -404,15 +404,15 @@ func HandleNewSaveData(w http.ResponseWriter, data string) { if roommap1[k] != nil { r2 := val.(map[string]interface{}) r1 := roommap1[k].(map[string]interface{}) - //比较unlockId - rr2 := r2["unlockId"].([]interface {}) + //比较unlockId,不做验证 + /*rr2 := r2["unlockId"].([]interface {}) rr1 := r1["unlockId"].([]interface {}) if len(rr2) < len(rr1) { logger.Error("HandleNewSaveData failed4,err=%v", err) resp.Result.Code = ERROR_SRVDB_FAILED resp.Result.Data = "ERROR_SRVDB_FAILED" break - } + }*/ //比较furnitData rrr2 := r2["furnitData"].(map[string]interface{}) @@ -460,6 +460,40 @@ func HandleNewSaveData(w http.ResponseWriter, data string) { break } + //签到数据校验 + issign1,ok1 := m1["isSign"].(bool) + issign2,ok2 := m2["isSign"].(bool) + if ok1 && ok2 { + if !issign2 && issign1 { + logger.Error("HandleNewSaveData failed30,err=%v", err) + resp.Result.Code = ERROR_SRVDB_FAILED + resp.Result.Data = "ERROR_SRVDB_FAILED" + break + } + } + + signNowLoop1,ok1 := m1["signNowLoop"].(float64) + signNowLoop2,ok2 := m2["signNowLoop"].(float64) + signLoopId1,ok3 := m2["signLoopId"].(float64) + signLoopId2,ok4 := m2["signLoopId"].(float64) + if ok1 && ok2 && ok3 && ok4 { + if signLoopId2 < signLoopId1 { + logger.Error("HandleNewSaveData failed31,err=%v", err) + resp.Result.Code = ERROR_SRVDB_FAILED + resp.Result.Data = "ERROR_SRVDB_FAILED" + break + } + + if signLoopId1 == signLoopId2 { + if signNowLoop2 < signNowLoop1 { + logger.Error("HandleNewSaveData failed33,err=%v", err) + resp.Result.Code = ERROR_SRVDB_FAILED + resp.Result.Data = "ERROR_SRVDB_FAILED" + break + } + } + } + //全部校验过后 var tmp GetDataSaveDesc tmp.Data_uid = strconv.Itoa(rdata.Uuid) -- libgit2 0.21.0