function.go
2.56 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
package logic
import (
"HttpServer/jsonconf"
"HttpServer/redishandler"
"common/logger"
"common/redis"
"encoding/json"
"strconv"
"time"
)
func SaveUserInfo(data *UserData, uniqueid string) error {
savestr, err := json.Marshal(data)
if err != nil {
return err
}
err = redishandler.GetRedisClient().HSet(redis.USER_INFO__KEY, uniqueid, string(savestr))
return err
}
func GetUserInfo(uid string) (*UserData, error) {
data, err := redishandler.GetRedisClient().HGet(redis.USER_INFO__KEY, uid)
if err != nil {
return nil, err
}
var tmp UserData
err = json.Unmarshal([]byte(data), &tmp)
if err != nil {
return nil, err
}
return &tmp, nil
}
//初始化玩家信息
func InitUserInfo(data *UserLoginReq, resp *UserLoginResp, uuid int) {
udata := new(UserData)
udata.Gold = 0
udata.Love = 0
udata.InviteId = data.Fromid
udata.Highestlv = 0
udata.CurBoxLv = 1
udata.IsDouble = 0
udata.IsAuto = 0
udata.IsBoxAcc = 0
udata.RandGiftDay = time.Now().Day()
udata.RandGiftNum = 6
udata.RandGiftTime = int(time.Now().Unix())
udata.Redbag = 0
udata.IsFirstRedBgCat = 0
//初始化16个猫爬架
for i := 0; i < 16; i++ {
var d1 PosData
d1.Pos = i
d1.Catlv = 0
udata.PosInfo = append(udata.PosInfo, d1)
var d2 DataDesc
d2.Pos = i
d2.Catlv = 0
}
udata.Goldrate = 0
udata.Loverate = 0
//初始化商店信息
initcatcfg := jsonconf.GetCatConfig(1)
if initcatcfg == nil {
logger.Error("get 1catcfg err")
return
}
var info BuyCatInfoData
info.Buytime = 0
info.CurPrice,_= strconv.ParseInt(initcatcfg.Price,10,64)
info.IsMaxBuytime = 0
udata.BuyCatInfo = append(udata.BuyCatInfo, info)
//初始化猫咖门店数据
udata.CatShopInfo.LeftTime = 0
udata.CatShopInfo.Chapter = 1
udata.CatShopInfo.DayNum = time.Now().Day()
udata.CatShopInfo.IsPlaying = 0
udata.CatShopInfo.PlayTimes = 0
udata.CatShopInfo.Section = 1
udata.CatShopInfo.ThisIsWatch = 0
udata.CatShopInfo.TotalWatchNumLeft = 8 //
logger.Info("Init user data=%v", udata)
//保存redis
SaveUserInfo(udata, strconv.Itoa(uuid))
//初始化玩家仓库信息
pware := new(UserWareHouseData)
for i := 0; i < 15; i++ {
var tmp WareHouseDesc
tmp.Warelv = 0
pware.Info = append(pware.Info, tmp)
}
wares, err := json.Marshal(pware)
if err != nil {
logger.Info("InitUserInfo warehouse failed err=%v", err)
}
redishandler.GetRedisClient().HSet(redis.USER_WAREHOUSE_INFO, strconv.Itoa(uuid), string(wares))
//保存此次计算时间
nowtimestr := strconv.Itoa(int(time.Now().Unix()))
redishandler.GetRedisClient().HSet(redis.USER_LAST_CALC_TIME, strconv.Itoa(uuid), nowtimestr)
}