package logic import ( "HttpServer/redishandler" "common/logger" "common/redis" "encoding/json" "fmt" "net/http" "time" ) func HandlerSyncuserdata(w http.ResponseWriter, data string, uniqueuuid string) { SetHeader(w) var resp SyncuserdataResp resp.Code = 0 resp.Message = "success" for { uinfo, err := GetUserInfo(uniqueuuid) if err != nil { logger.Info("GetUserInfo HandlerSyncuserdata data failed:%v,for:%v", err, data) resp.Message = "GetUserInfo failed" resp.Code = 1 break } resp.Data.Walletgold = uinfo.RealGold resp.Data.Guangold = uinfo.GuanGold resp.Data.Sumloginday = uinfo.SumLoginDay resp.Data.Nowtime = int(time.Now().Unix()) break } //回包 respstr, _ := json.Marshal(&resp) fmt.Fprint(w, string(respstr)) } func HandlerUpdatedata(w http.ResponseWriter, data string, uniqueuuid string) { SetHeader(w) var resp UpdatedataResp resp.Code = 0 resp.Message = "success" var rdata UpdatedataReq err := json.Unmarshal([]byte(data), &rdata) for { if err != nil { logger.Info("json decode HandlerUpdatedata data failed:%v,for:%v", err, data) resp.Message = "json解析错误" resp.Code = ERROR_JSONUNMASH_ERROR break } //直接保存 err := SaveUserSelfData(uniqueuuid, rdata.PlayerData) if err != nil { logger.Info("SaveUserSelfData HandlerUpdatedata data failed:%v,for:%v", err, data) resp.Message = "保存失败" resp.Code = ERROR_JSONUNMASH_ERROR break } break } //回包 respstr, _ := json.Marshal(&resp) fmt.Fprint(w, string(respstr)) } func HandlerUploaduserbasicinfo(w http.ResponseWriter, data string, uniqueuuid string) { SetHeader(w) var resp UploaduserbasicinfoResp resp.Code = 0 resp.Message = "success" var rdata UploaduserbasicinfoReq err := json.Unmarshal([]byte(data), &rdata) for { if err != nil { logger.Info("json decode HandlerUploaduserbasicinfo data failed:%v,for:%v", err, data) resp.Message = "json解析错误" resp.Code = ERROR_JSONUNMASH_ERROR break } uinfo, err := GetUserInfo(uniqueuuid) if err != nil { logger.Info("GetUserInfo HandlerUploaduserbasicinfo data failed:%v,for:%v", err, data) resp.Message = "GetUserInfo failed" resp.Code = 1 break } uinfo.HeadUrl = rdata.Headurl uinfo.NickName = rdata.Nickname SaveUserInfo(uinfo, uniqueuuid) break } //回包 respstr, _ := json.Marshal(&resp) fmt.Fprint(w, string(respstr)) } func HandlerLogin(w http.ResponseWriter, data string, uniqueuuid, gameid, channel string, uuid int) { SetHeader(w) var resp UserLoginResp resp.Code = 0 for { //先判断一下是否是新用户 isexist, err := redishandler.GetRedisClient().HExists(redis.USER_DATA_KEY, uniqueuuid) if err != nil { logger.Error("redis failed err=%v", err) resp.Message = "服务器错误" resp.Code = ERROR_SRV_ERROR break } if !isexist { //不存在 //不存在老的数据 之间走新号流程 err = InitUserInfo(&resp, uniqueuuid, gameid, channel, uuid) } else { uinfo, err := GetUserInfo(uniqueuuid) if err != nil { logger.Info("GetUserInfo HandlerLogin data failed:%v,for:%v", err, data) resp.Message = "GetUserInfo failed" resp.Code = 1 break } resp.Data.Guangold = uinfo.GuanGold resp.Data.Walletgold = uinfo.RealGold resp.Data.Isnew = 0 } pdata, err := GetUserSelfData(uniqueuuid) if err != nil { logger.Info("GetUserSelfData HandlerLogin data failed:%v,for:%v", err, data) resp.Message = "GetUserSelfData failed" resp.Code = 1 break } resp.Data.PlayerData = pdata resp.Code = ERROR_OK break } //回包 respstr, _ := json.Marshal(&resp) fmt.Fprint(w, string(respstr)) logger.Info("###HandlerLogin###rdata:%v", string(respstr)) }