package logic import ( "HttpServer/redishandler" "common/logger" "common/redis" "encoding/json" "net/http" "strconv" ) func SetHeader(w http.ResponseWriter) { w.Header().Set("Access-Control-Allow-Origin", "*") //允许访问所有域 w.Header().Set("Content-Type", "application/json") w.Header().Set("Access-Control-Allow-Headers", "Content-Type,Uuid") } //设置 func SetTouristUid(utoken string,uid int) error{ err := redishandler.GetRedisClient().HSet(redis.USER_TOURIST_UID, utoken,strconv.Itoa(uid)) if err != nil { logger.Error("SetTouristUid failed,err=%v",err) return err } return nil } //获取游客的uid 返回值为uid func GetTouristUid(utoken string) (int,error){ uidstr, err := redishandler.GetRedisClient().HGet(redis.USER_TOURIST_UID, utoken) if err != nil { return 0,err } uid,err := strconv.Atoi(uidstr) return uid,err } //获取玩家新的uuid func GetNewUUid() int { redishandler.GetRedisClient().Incr(redis.USER_MAX_UUID) newuuid ,err:= redishandler.GetRedisClient().GetInt(redis.USER_MAX_UUID) if err != nil { logger.Error("GetNewUUid failed,err=%v",err) return 0 } return newuuid+100000 } //获取新的teamid func GetNewTeamId() int { redishandler.GetRedisClient().Incr(redis.TEAM_MAX_UUID) newuuid ,err:= redishandler.GetRedisClient().GetInt(redis.TEAM_MAX_UUID) if err != nil { logger.Error("GetNewUUid failed,err=%v",err) return 0 } return newuuid+100000 } func SaveUserBaseData(uuid int,value string) error { err := redishandler.GetRedisClient().HSet(redis.USER_BASE_DATA, strconv.Itoa(uuid), value) return err } func GetUserBaseData(uuid int ) (string,error) { strval,err := redishandler.GetRedisClient().HGet(redis.USER_BASIC_DATA, strconv.Itoa(uuid)) if err != nil { logger.Error("GetUserBasic failed,err=%v",err) return "",err } return strval,err } func SaveUserBasic(uuid int,value string) error { err := redishandler.GetRedisClient().HSet(redis.USER_BASIC_DATA, strconv.Itoa(uuid), value) return err } func GetUserBasic(uuid int ) (*UserBaseData,error) { strval,err := redishandler.GetRedisClient().HGet(redis.USER_BASIC_DATA, strconv.Itoa(uuid)) if err != nil { logger.Error("GetUserBasic failed,err=%v",err) return nil,err } basic := new(UserBaseData) err = json.Unmarshal([]byte(strval), basic) return basic,err } func SaveUserExt(extdata * UserData) error { if extdata == nil { return nil } m_userInfo.Set(uint32(extdata.Userid),extdata) ext,_ := json.Marshal(&extdata) err := redishandler.GetRedisClient().HSet(redis.USER_EXT_DATA, strconv.Itoa(extdata.Userid), string(ext)) return err } func GetUserExt(uuid int) (*UserExtData,error) { strval,err := redishandler.GetRedisClient().HGet(redis.USER_EXT_DATA, strconv.Itoa(uuid)) if err != nil { logger.Error("GetUserExt failed,err=%v",err) return nil,err } ext := new(UserExtData) err = json.Unmarshal([]byte(strval), ext) return ext,err } //检测队伍名称是否已经存在 func GetUserTeamNameIsExist(name string) bool { _,err := redishandler.GetRedisClient().HGet(redis.TEAM_USERTEAM_NAME, name) if err != nil { return true } return false } //删除存储的队伍名称 func DelUserTeamName(name string) error{ err := redishandler.GetRedisClient().HDel(redis.TEAM_USERTEAM_NAME, name) if err != nil { logger.Error("SetUserTeamName err=%v),err") } return err } //存储队伍名称 func SetUserTeamName(name string,teamid int) { err := redishandler.GetRedisClient().HSet(redis.TEAM_USERTEAM_NAME, name, strconv.Itoa(teamid)) if err != nil { logger.Error("SetUserTeamName err=%v),err") } } //保存队伍信息 func SaveTeamInfo(teamid int,tinfo *CreateTeamInfo) error { team,_ := json.Marshal(tinfo) err := redishandler.GetRedisClient().HSet(redis.TEAM_INFO, strconv.Itoa(teamid), string(team)) if err != nil { logger.Error("SaveTeamInfo err=%v),err") return err } return nil } //获取队伍信息 func GetTeamInfo(teamid int) (*CreateTeamInfo,error) { info := new(CreateTeamInfo) vv,err := redishandler.GetRedisClient().HGet(redis.TEAM_INFO,strconv.Itoa(teamid)) if err != nil { logger.Error("GetTeamInfo failed,err=%v",err) return nil,err } err = json.Unmarshal([]byte(vv), info) return info,err } //保存teamid与uuid func SaveTeamToUuid(teamid,uuid int) error { err := redishandler.GetRedisClient().HSet(redis.TEAM_TEAMID_TOUUID, strconv.Itoa(uuid), strconv.Itoa(teamid)) if err != nil { logger.Error("SaveTeamToUuid err=%v),err") return err } return nil } //获取teamid与uuid func GetTeamByUuid(uuid int) (int,error) { vv,err := redishandler.GetRedisClient().HGet(redis.TEAM_TEAMID_TOUUID,strconv.Itoa(uuid)) if err != nil { logger.Error("GetTeamByUuid failed,err=%v",err) return 0,err } teamid,err := strconv.Atoi(vv) return teamid,err }