package logic import ( "HttpServer/redishandler" "common/logger" "common/redis" "encoding/json" "fmt" "net/http" ) 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)) }