Commit f032452a73cce4624036a8eb1ec0bd3d3f1a733c

Authored by 陆恒
1 parent 0b85f107
Exists in master

提交聊天相关接口

src/HttpServer/logic/datadef.go
@@ -14,6 +14,11 @@ const ( @@ -14,6 +14,11 @@ const (
14 14
15 ) 15 )
16 16
  17 +type RedisTeamInfo struct {
  18 + Team_id int `json:"team_id"`
  19 + User_id int `json:"user_id"`
  20 +}
  21 +
17 type WechatLoginReq struct { 22 type WechatLoginReq struct {
18 Channel_id int `json:"channel_id"` 23 Channel_id int `json:"channel_id"`
19 Invite_type int `json:"invite_type"` 24 Invite_type int `json:"invite_type"`
@@ -113,6 +118,24 @@ type QueryInviteResp struct { @@ -113,6 +118,24 @@ type QueryInviteResp struct {
113 Result QueryInviteResult `json:"result"` 118 Result QueryInviteResult `json:"result"`
114 } 119 }
115 120
  121 +type QueryNewMessageReq struct{
  122 + Uuid int `json:"uuid"`
  123 +}
  124 +
  125 +type QueryNewMessageDesc struct {
  126 + Isnew int `json:"isnew"`
  127 +}
  128 +
  129 +type QueryNewMessageResult struct {
  130 + Code int `json:"code"`
  131 + Data QueryNewMessageDesc `json:"data"`
  132 +}
  133 +
  134 +type QueryNewMessageResp struct {
  135 + Status string `json:"status"`
  136 + Result QueryNewMessageResult `json:"result"`
  137 +}
  138 +
116 139
117 type InviteWorkReq struct{ 140 type InviteWorkReq struct{
118 Uuid int `json:"uuid"` 141 Uuid int `json:"uuid"`
src/HttpServer/logic/function.go
@@ -22,36 +22,35 @@ func SetHeader(w http.ResponseWriter) { @@ -22,36 +22,35 @@ func SetHeader(w http.ResponseWriter) {
22 w.Header().Set("Access-Control-Allow-Headers", "Content-Type,Uuid") 22 w.Header().Set("Access-Control-Allow-Headers", "Content-Type,Uuid")
23 } 23 }
24 24
25 -  
26 -func (tinfo *TeamInfo) DoAddBuffTimee(btype int,muti int,resp *AddTeamBuffResp) {  
27 - addtime := 1800*muti 25 +func (tinfo *TeamInfo) DoAddBuffTimee(btype int, muti int, resp *AddTeamBuffResp) {
  26 + addtime := 1800 * muti
28 index := 0 27 index := 0
29 - for k,val := range tinfo.BInfo.Buff { 28 + for k, val := range tinfo.BInfo.Buff {
30 if val.Type == btype { 29 if val.Type == btype {
31 index = k 30 index = k
32 } 31 }
33 } 32 }
34 33
35 - for i:=0;i<len(tinfo.BInfo.Buff[index].BuffInfo);i++ { 34 + for i := 0; i < len(tinfo.BInfo.Buff[index].BuffInfo); i++ {
36 tinfo.BInfo.Buff[index].BuffInfo[i].EndTime += addtime 35 tinfo.BInfo.Buff[index].BuffInfo[i].EndTime += addtime
37 } 36 }
38 37
39 - for _,vak := range tinfo.BInfo.Buff { 38 + for _, vak := range tinfo.BInfo.Buff {
40 var tmp AddTeamBuffSpec 39 var tmp AddTeamBuffSpec
41 tmp.Build_type = vak.Type 40 tmp.Build_type = vak.Type
42 - for _,val1 := range vak.BuffInfo { 41 + for _, val1 := range vak.BuffInfo {
43 var tmp1 BuffTimeInfo 42 var tmp1 BuffTimeInfo
44 tmp1.Buff_begin_time = val1.BeginTime 43 tmp1.Buff_begin_time = val1.BeginTime
45 tmp1.Buff_end_time = val1.EndTime 44 tmp1.Buff_end_time = val1.EndTime
46 - tmp.Buff_time = append(tmp.Buff_time,tmp1) 45 + tmp.Buff_time = append(tmp.Buff_time, tmp1)
47 } 46 }
48 - resp.Result.Data.Build_list = append(resp.Result.Data.Build_list,tmp) 47 + resp.Result.Data.Build_list = append(resp.Result.Data.Build_list, tmp)
49 } 48 }
50 } 49 }
51 50
52 -func (tinfo *TeamInfo) DoDevote(btype int,assets int ,uuid int,muti int) { 51 +func (tinfo *TeamInfo) DoDevote(btype int, assets int, uuid int, muti int) {
53 bfind := false 52 bfind := false
54 - for k,val := range tinfo.BInfo.Devote { 53 + for k, val := range tinfo.BInfo.Devote {
55 if val.Type == btype { 54 if val.Type == btype {
56 tinfo.BInfo.Devote[k].Assets += assets 55 tinfo.BInfo.Devote[k].Assets += assets
57 bfind = true 56 bfind = true
@@ -63,37 +62,37 @@ func (tinfo *TeamInfo) DoDevote(btype int,assets int ,uuid int,muti int) { @@ -63,37 +62,37 @@ func (tinfo *TeamInfo) DoDevote(btype int,assets int ,uuid int,muti int) {
63 tmp.UserId = uuid 62 tmp.UserId = uuid
64 tmp.Assets = assets 63 tmp.Assets = assets
65 tmp.Type = btype 64 tmp.Type = btype
66 - tinfo.BInfo.Devote = append(tinfo.BInfo.Devote,tmp) 65 + tinfo.BInfo.Devote = append(tinfo.BInfo.Devote, tmp)
67 } 66 }
68 67
69 //需要处理一下buff 68 //需要处理一下buff
70 nowtime := int(time.Now().Unix()) 69 nowtime := int(time.Now().Unix())
71 - addTime := 1800*muti 70 + addTime := 1800 * muti
72 var index = 0 71 var index = 0
73 - for k,val := range tinfo.BInfo.Buff { 72 + for k, val := range tinfo.BInfo.Buff {
74 if val.Type == btype { 73 if val.Type == btype {
75 index = k 74 index = k
76 } 75 }
77 } 76 }
78 - if tinfo.BInfo.Buff[index].BuffInfo[len(tinfo.BInfo.Buff[index].BuffInfo)-1].EndTime < nowtime + 86399 { 77 + if tinfo.BInfo.Buff[index].BuffInfo[len(tinfo.BInfo.Buff[index].BuffInfo)-1].EndTime < nowtime+86399 {
79 if tinfo.BInfo.Buff[index].BuffInfo[len(tinfo.BInfo.Buff[index].BuffInfo)-1].EndTime >= nowtime { 78 if tinfo.BInfo.Buff[index].BuffInfo[len(tinfo.BInfo.Buff[index].BuffInfo)-1].EndTime >= nowtime {
80 tinfo.BInfo.Buff[index].BuffInfo[len(tinfo.BInfo.Buff[index].BuffInfo)-1].EndTime += addTime 79 tinfo.BInfo.Buff[index].BuffInfo[len(tinfo.BInfo.Buff[index].BuffInfo)-1].EndTime += addTime
81 } else { 80 } else {
82 var tmp TeamBuffInfo 81 var tmp TeamBuffInfo
83 tmp.BeginTime = nowtime 82 tmp.BeginTime = nowtime
84 tmp.EndTime = nowtime + addTime 83 tmp.EndTime = nowtime + addTime
85 - tinfo.BInfo.Buff[index].BuffInfo = append(tinfo.BInfo.Buff[index].BuffInfo,tmp) 84 + tinfo.BInfo.Buff[index].BuffInfo = append(tinfo.BInfo.Buff[index].BuffInfo, tmp)
86 } 85 }
87 - }else { 86 + } else {
88 tinfo.BInfo.Buff[index].BuffInfo[len(tinfo.BInfo.Buff[index].BuffInfo)-1].EndTime += 86399 87 tinfo.BInfo.Buff[index].BuffInfo[len(tinfo.BInfo.Buff[index].BuffInfo)-1].EndTime += 86399
89 } 88 }
90 89
91 //删除掉无用的 90 //删除掉无用的
92 - yestime := nowtime-86400  
93 - for i:=0;i<len(tinfo.BInfo.Buff[index].BuffInfo);i++ { 91 + yestime := nowtime - 86400
  92 + for i := 0; i < len(tinfo.BInfo.Buff[index].BuffInfo); i++ {
94 v := tinfo.BInfo.Buff[index].BuffInfo[i] 93 v := tinfo.BInfo.Buff[index].BuffInfo[i]
95 if v.BeginTime < yestime && v.EndTime < yestime { 94 if v.BeginTime < yestime && v.EndTime < yestime {
96 - tinfo.BInfo.Buff = append(tinfo.BInfo.Buff[:i],tinfo.BInfo.Buff[i+1:]...) 95 + tinfo.BInfo.Buff = append(tinfo.BInfo.Buff[:i], tinfo.BInfo.Buff[i+1:]...)
97 i-- 96 i--
98 } 97 }
99 } 98 }
@@ -101,7 +100,7 @@ func (tinfo *TeamInfo) DoDevote(btype int,assets int ,uuid int,muti int) { @@ -101,7 +100,7 @@ func (tinfo *TeamInfo) DoDevote(btype int,assets int ,uuid int,muti int) {
101 100
102 func (tinfo *TeamInfo) IsInTeam(uuid int) bool { 101 func (tinfo *TeamInfo) IsInTeam(uuid int) bool {
103 inteam := false 102 inteam := false
104 - for _,val := range tinfo.MemInfo.MemList { 103 + for _, val := range tinfo.MemInfo.MemList {
105 if val == uuid { 104 if val == uuid {
106 inteam = true 105 inteam = true
107 break 106 break
@@ -110,123 +109,123 @@ func (tinfo *TeamInfo) IsInTeam(uuid int) bool { @@ -110,123 +109,123 @@ func (tinfo *TeamInfo) IsInTeam(uuid int) bool {
110 return inteam 109 return inteam
111 } 110 }
112 111
113 -func (tinfo *TeamInfo) DelTeamMember(uuid int) { 112 +func (tinfo *TeamInfo) DelTeamMember(uuid int) {
114 113
115 - for k,val := range tinfo.MemInfo.MemList { 114 + for k, val := range tinfo.MemInfo.MemList {
116 if val == uuid { 115 if val == uuid {
117 - tinfo.MemInfo.MemList = append(tinfo.MemInfo.MemList[:k],tinfo.MemInfo.MemList[k+1:]...) 116 + tinfo.MemInfo.MemList = append(tinfo.MemInfo.MemList[:k], tinfo.MemInfo.MemList[k+1:]...)
118 break 117 break
119 } 118 }
120 } 119 }
121 120
122 //删除team关系 121 //删除team关系
123 - SaveTeamToUuid(0,uuid) 122 + SaveTeamToUuid(0, uuid)
124 123
125 } 124 }
126 125
127 //设置 126 //设置
128 -func SetTouristUid(utoken string,uid int) error{  
129 - err := redishandler.GetRedisClient().HSet(redis.USER_TOURIST_UID, utoken,strconv.Itoa(uid)) 127 +func SetTouristUid(utoken string, uid int) error {
  128 + err := redishandler.GetRedisClient().HSet(redis.USER_TOURIST_UID, utoken, strconv.Itoa(uid))
130 if err != nil { 129 if err != nil {
131 - logger.Error("SetTouristUid failed,err=%v",err) 130 + logger.Error("SetTouristUid failed,err=%v", err)
132 return err 131 return err
133 } 132 }
134 return nil 133 return nil
135 } 134 }
136 135
137 //获取游客的uid 返回值为uid 136 //获取游客的uid 返回值为uid
138 -func GetTouristUid(utoken string) (int,error){ 137 +func GetTouristUid(utoken string) (int, error) {
139 uidstr, err := redishandler.GetRedisClient().HGet(redis.USER_TOURIST_UID, utoken) 138 uidstr, err := redishandler.GetRedisClient().HGet(redis.USER_TOURIST_UID, utoken)
140 if err != nil { 139 if err != nil {
141 - return 0,err 140 + return 0, err
142 } 141 }
143 142
144 - uid,err := strconv.Atoi(uidstr)  
145 - return uid,err 143 + uid, err := strconv.Atoi(uidstr)
  144 + return uid, err
146 } 145 }
147 146
148 //获取玩家新的uuid 147 //获取玩家新的uuid
149 func GetNewUUid() int { 148 func GetNewUUid() int {
150 redishandler.GetRedisClient().Incr(redis.USER_MAX_UUID) 149 redishandler.GetRedisClient().Incr(redis.USER_MAX_UUID)
151 - newuuid ,err:= redishandler.GetRedisClient().GetInt(redis.USER_MAX_UUID) 150 + newuuid, err := redishandler.GetRedisClient().GetInt(redis.USER_MAX_UUID)
152 if err != nil { 151 if err != nil {
153 - logger.Error("GetNewUUid failed,err=%v",err) 152 + logger.Error("GetNewUUid failed,err=%v", err)
154 return 0 153 return 0
155 } 154 }
156 155
157 - return newuuid+100000 156 + return newuuid + 100000
158 } 157 }
159 158
160 //获取新的teamid 159 //获取新的teamid
161 func GetNewTeamId() int { 160 func GetNewTeamId() int {
162 redishandler.GetRedisClient().Incr(redis.TEAM_MAX_UUID) 161 redishandler.GetRedisClient().Incr(redis.TEAM_MAX_UUID)
163 - newuuid ,err:= redishandler.GetRedisClient().GetInt(redis.TEAM_MAX_UUID) 162 + newuuid, err := redishandler.GetRedisClient().GetInt(redis.TEAM_MAX_UUID)
164 if err != nil { 163 if err != nil {
165 - logger.Error("GetNewUUid failed,err=%v",err) 164 + logger.Error("GetNewUUid failed,err=%v", err)
166 return 0 165 return 0
167 } 166 }
168 167
169 - return newuuid+100000 168 + return newuuid + 100000
170 } 169 }
171 170
172 -func SaveUserBaseData(uuid int,value string) error { 171 +func SaveUserBaseData(uuid int, value string) error {
173 err := redishandler.GetRedisClient().HSet(redis.USER_BASE_DATA, strconv.Itoa(uuid), value) 172 err := redishandler.GetRedisClient().HSet(redis.USER_BASE_DATA, strconv.Itoa(uuid), value)
174 return err 173 return err
175 } 174 }
176 175
177 -func GetUserBaseData(uuid int ) (string,error) {  
178 - strval,err := redishandler.GetRedisClient().HGet(redis.USER_BASIC_DATA, strconv.Itoa(uuid)) 176 +func GetUserBaseData(uuid int) (string, error) {
  177 + strval, err := redishandler.GetRedisClient().HGet(redis.USER_BASIC_DATA, strconv.Itoa(uuid))
179 if err != nil { 178 if err != nil {
180 - logger.Error("GetUserBasic failed,err=%v",err)  
181 - return "",err 179 + logger.Error("GetUserBasic failed,err=%v", err)
  180 + return "", err
182 } 181 }
183 182
184 - return strval,err 183 + return strval, err
185 184
186 } 185 }
187 186
188 -func SaveUserBasic(uuid int,value string) error { 187 +func SaveUserBasic(uuid int, value string) error {
189 err := redishandler.GetRedisClient().HSet(redis.USER_BASIC_DATA, strconv.Itoa(uuid), value) 188 err := redishandler.GetRedisClient().HSet(redis.USER_BASIC_DATA, strconv.Itoa(uuid), value)
190 return err 189 return err
191 } 190 }
192 191
193 -func GetUserBasic(uuid int ) (*UserBaseData,error) {  
194 - strval,err := redishandler.GetRedisClient().HGet(redis.USER_BASIC_DATA, strconv.Itoa(uuid)) 192 +func GetUserBasic(uuid int) (*UserBaseData, error) {
  193 + strval, err := redishandler.GetRedisClient().HGet(redis.USER_BASIC_DATA, strconv.Itoa(uuid))
195 if err != nil { 194 if err != nil {
196 - logger.Error("GetUserBasic failed,err=%v",err)  
197 - return nil,err 195 + logger.Error("GetUserBasic failed,err=%v", err)
  196 + return nil, err
198 } 197 }
199 basic := new(UserBaseData) 198 basic := new(UserBaseData)
200 err = json.Unmarshal([]byte(strval), basic) 199 err = json.Unmarshal([]byte(strval), basic)
201 - return basic,err 200 + return basic, err
202 201
203 } 202 }
204 203
205 -func SaveUserExt(extdata * UserData) error { 204 +func SaveUserExt(extdata *UserData) error {
206 if extdata == nil { 205 if extdata == nil {
207 return nil 206 return nil
208 } 207 }
209 - m_userInfo.Set(uint32(extdata.Userid),extdata) 208 + m_userInfo.Set(uint32(extdata.Userid), extdata)
210 209
211 - ext,_ := json.Marshal(&extdata) 210 + ext, _ := json.Marshal(&extdata)
212 err := redishandler.GetRedisClient().HSet(redis.USER_EXT_DATA, strconv.Itoa(extdata.Userid), string(ext)) 211 err := redishandler.GetRedisClient().HSet(redis.USER_EXT_DATA, strconv.Itoa(extdata.Userid), string(ext))
213 return err 212 return err
214 } 213 }
215 214
216 -func GetUserExt(uuid int) (*UserData,error) {  
217 - strval,err := redishandler.GetRedisClient().HGet(redis.USER_EXT_DATA, strconv.Itoa(uuid)) 215 +func GetUserExt(uuid int) (*UserData, error) {
  216 + strval, err := redishandler.GetRedisClient().HGet(redis.USER_EXT_DATA, strconv.Itoa(uuid))
218 if err != nil { 217 if err != nil {
219 - logger.Error("GetUserExt failed,err=%v",err)  
220 - return nil,err 218 + logger.Error("GetUserExt failed,err=%v", err)
  219 + return nil, err
221 } 220 }
222 ext := new(UserData) 221 ext := new(UserData)
223 err = json.Unmarshal([]byte(strval), ext) 222 err = json.Unmarshal([]byte(strval), ext)
224 - return ext,err 223 + return ext, err
225 } 224 }
226 225
227 //检测队伍名称是否已经存在 226 //检测队伍名称是否已经存在
228 func GetUserTeamNameIsExist(name string) bool { 227 func GetUserTeamNameIsExist(name string) bool {
229 - _,err := redishandler.GetRedisClient().HGet(redis.TEAM_USERTEAM_NAME, name) 228 + _, err := redishandler.GetRedisClient().HGet(redis.TEAM_USERTEAM_NAME, name)
230 if err != nil { 229 if err != nil {
231 return true 230 return true
232 } 231 }
@@ -234,7 +233,7 @@ func GetUserTeamNameIsExist(name string) bool { @@ -234,7 +233,7 @@ func GetUserTeamNameIsExist(name string) bool {
234 } 233 }
235 234
236 //删除存储的队伍名称 235 //删除存储的队伍名称
237 -func DelUserTeamName(name string) error{ 236 +func DelUserTeamName(name string) error {
238 err := redishandler.GetRedisClient().HDel(redis.TEAM_USERTEAM_NAME, name) 237 err := redishandler.GetRedisClient().HDel(redis.TEAM_USERTEAM_NAME, name)
239 if err != nil { 238 if err != nil {
240 logger.Error("SetUserTeamName err=%v),err") 239 logger.Error("SetUserTeamName err=%v),err")
@@ -243,7 +242,7 @@ func DelUserTeamName(name string) error{ @@ -243,7 +242,7 @@ func DelUserTeamName(name string) error{
243 } 242 }
244 243
245 //存储队伍名称 244 //存储队伍名称
246 -func SetUserTeamName(name string,teamid int) { 245 +func SetUserTeamName(name string, teamid int) {
247 err := redishandler.GetRedisClient().HSet(redis.TEAM_USERTEAM_NAME, name, strconv.Itoa(teamid)) 246 err := redishandler.GetRedisClient().HSet(redis.TEAM_USERTEAM_NAME, name, strconv.Itoa(teamid))
248 if err != nil { 247 if err != nil {
249 logger.Error("SetUserTeamName err=%v),err") 248 logger.Error("SetUserTeamName err=%v),err")
@@ -251,8 +250,8 @@ func SetUserTeamName(name string,teamid int) { @@ -251,8 +250,8 @@ func SetUserTeamName(name string,teamid int) {
251 } 250 }
252 251
253 //保存队伍信息 252 //保存队伍信息
254 -func SaveTeamInfo(teamid int,tinfo *TeamInfo) error {  
255 - team,_ := json.Marshal(tinfo) 253 +func SaveTeamInfo(teamid int, tinfo *TeamInfo) error {
  254 + team, _ := json.Marshal(tinfo)
256 err := redishandler.GetRedisClient().HSet(redis.TEAM_INFO, strconv.Itoa(teamid), string(team)) 255 err := redishandler.GetRedisClient().HSet(redis.TEAM_INFO, strconv.Itoa(teamid), string(team))
257 if err != nil { 256 if err != nil {
258 logger.Error("SaveTeamInfo err=%v),err") 257 logger.Error("SaveTeamInfo err=%v),err")
@@ -262,21 +261,21 @@ func SaveTeamInfo(teamid int,tinfo *TeamInfo) error { @@ -262,21 +261,21 @@ func SaveTeamInfo(teamid int,tinfo *TeamInfo) error {
262 } 261 }
263 262
264 //获取队伍信息 263 //获取队伍信息
265 -func GetTeamInfo(teamid int) (*TeamInfo,error) { 264 +func GetTeamInfo(teamid int) (*TeamInfo, error) {
266 info := new(TeamInfo) 265 info := new(TeamInfo)
267 - vv,err := redishandler.GetRedisClient().HGet(redis.TEAM_INFO,strconv.Itoa(teamid)) 266 + vv, err := redishandler.GetRedisClient().HGet(redis.TEAM_INFO, strconv.Itoa(teamid))
268 if err != nil { 267 if err != nil {
269 - logger.Error("GetTeamInfo failed,err=%v",err)  
270 - return nil,err 268 + logger.Error("GetTeamInfo failed,err=%v", err)
  269 + return nil, err
271 } 270 }
272 271
273 err = json.Unmarshal([]byte(vv), info) 272 err = json.Unmarshal([]byte(vv), info)
274 - return info,err 273 + return info, err
275 } 274 }
276 275
277 //保存teamid与uuid 276 //保存teamid与uuid
278 -func SaveTeamToUuid(teamid,uuid int) error {  
279 - err := redishandler.GetRedisClient().HSet(redis.TEAM_TEAMID_TOUUID, strconv.Itoa(uuid), strconv.Itoa(teamid)) 277 +func SaveTeamToUuid(teamid, uuid int) error {
  278 + err := redishandler.GetRedisClient().HSet(redis.TEAM_TEAMID_TOUUID, strconv.Itoa(uuid), strconv.Itoa(teamid))
280 if err != nil { 279 if err != nil {
281 logger.Error("SaveTeamToUuid err=%v),err") 280 logger.Error("SaveTeamToUuid err=%v),err")
282 return err 281 return err
@@ -285,111 +284,110 @@ func SaveTeamToUuid(teamid,uuid int) error { @@ -285,111 +284,110 @@ func SaveTeamToUuid(teamid,uuid int) error {
285 } 284 }
286 285
287 //获取teamid与uuid 286 //获取teamid与uuid
288 -func GetTeamByUuid(uuid int) (int,error) {  
289 - vv,err := redishandler.GetRedisClient().HGet(redis.TEAM_TEAMID_TOUUID,strconv.Itoa(uuid)) 287 +func GetTeamByUuid(uuid int) (int, error) {
  288 + vv, err := redishandler.GetRedisClient().HGet(redis.TEAM_TEAMID_TOUUID, strconv.Itoa(uuid))
290 if err != nil { 289 if err != nil {
291 - logger.Error("GetTeamByUuid failed,err=%v",err)  
292 - return 0,err 290 + logger.Error("GetTeamByUuid failed,err=%v", err)
  291 + return 0, err
293 } 292 }
294 293
295 - teamid,err := strconv.Atoi(vv)  
296 - return teamid,err 294 + teamid, err := strconv.Atoi(vv)
  295 + return teamid, err
297 } 296 }
298 297
299 type TeamSlice []*TeamInfo 298 type TeamSlice []*TeamInfo
300 299
301 -func (a TeamSlice) Len() int { // 重写 Len() 方法 300 +func (a TeamSlice) Len() int { // 重写 Len() 方法
302 return len(a) 301 return len(a)
303 } 302 }
304 -func (a TeamSlice) Swap(i, j int){ // 重写 Swap() 方法 303 +func (a TeamSlice) Swap(i, j int) { // 重写 Swap() 方法
305 a[i], a[j] = a[j], a[i] 304 a[i], a[j] = a[j], a[i]
306 } 305 }
307 func (a TeamSlice) Less(i, j int) bool { // 重写 Less() 方法, 从大到小排序 306 func (a TeamSlice) Less(i, j int) bool { // 重写 Less() 方法, 从大到小排序
308 return a[j].BaseInfo.Assets < a[i].BaseInfo.Assets 307 return a[j].BaseInfo.Assets < a[i].BaseInfo.Assets
309 } 308 }
310 309
311 -  
312 //获取所有的team,分页 传入页签 310 //获取所有的team,分页 传入页签
313 -func GetTeamListByCond(shopnum int,page int) (TeamSlice,error,int) { 311 +func GetTeamListByCond(shopnum int, page int) (TeamSlice, error, int) {
314 if page < 0 { 312 if page < 0 {
315 - logger.Error("GetTeamListByCond invalid page=%v",page) 313 + logger.Error("GetTeamListByCond invalid page=%v", page)
316 page = 1 314 page = 1
317 } 315 }
318 var rtslice TeamSlice 316 var rtslice TeamSlice
319 - vv,err := redishandler.GetRedisClient().HGetAllValues(redis.TEAM_INFO) 317 + vv, err := redishandler.GetRedisClient().HGetAllValues(redis.TEAM_INFO)
320 if err != nil { 318 if err != nil {
321 logger.Error("GetTeamListByCond err") 319 logger.Error("GetTeamListByCond err")
322 - return nil,err,0 320 + return nil, err, 0
323 } 321 }
324 322
325 - for _,val := range vv { 323 + for _, val := range vv {
326 one := new(TeamInfo) 324 one := new(TeamInfo)
327 bytestr := val.([]byte) 325 bytestr := val.([]byte)
328 err = json.Unmarshal(bytestr, one) 326 err = json.Unmarshal(bytestr, one)
329 if err == nil { 327 if err == nil {
330 if one.BaseInfo.Num <= shopnum { 328 if one.BaseInfo.Num <= shopnum {
331 - rtslice = append(rtslice,one) 329 + rtslice = append(rtslice, one)
332 } 330 }
333 } 331 }
334 } 332 }
335 //排序 333 //排序
336 sort.Sort(rtslice) 334 sort.Sort(rtslice)
337 335
338 - begin := (page-1) * 10 336 + begin := (page - 1) * 10
339 end := begin + 9 337 end := begin + 9
340 sumlen := len(rtslice) 338 sumlen := len(rtslice)
341 - if begin > sumlen{ 339 + if begin > sumlen {
342 begin = sumlen - 10 340 begin = sumlen - 10
343 } 341 }
344 if end > sumlen { 342 if end > sumlen {
345 end = sumlen - 1 343 end = sumlen - 1
346 } 344 }
347 345
348 - return rtslice[begin:end],nil,sumlen 346 + return rtslice[begin:end], nil, sumlen
349 347
350 } 348 }
351 349
352 -func GetTeamListByNameCond(shopnum int,page int, name string) (TeamSlice,error,int) { 350 +func GetTeamListByNameCond(shopnum int, page int, name string) (TeamSlice, error, int) {
353 if page < 0 { 351 if page < 0 {
354 - logger.Error("GetTeamListByCond invalid page=%v",page) 352 + logger.Error("GetTeamListByCond invalid page=%v", page)
355 page = 1 353 page = 1
356 } 354 }
357 var rtslice TeamSlice 355 var rtslice TeamSlice
358 - vv,err := redishandler.GetRedisClient().HGetAllValues(redis.TEAM_INFO) 356 + vv, err := redishandler.GetRedisClient().HGetAllValues(redis.TEAM_INFO)
359 if err != nil { 357 if err != nil {
360 logger.Error("GetTeamListByCond err") 358 logger.Error("GetTeamListByCond err")
361 - return nil,err,0 359 + return nil, err, 0
362 } 360 }
363 361
364 - for _,val := range vv { 362 + for _, val := range vv {
365 one := new(TeamInfo) 363 one := new(TeamInfo)
366 bytestr := val.([]byte) 364 bytestr := val.([]byte)
367 err = json.Unmarshal(bytestr, one) 365 err = json.Unmarshal(bytestr, one)
368 if err == nil { 366 if err == nil {
369 - if one.BaseInfo.Num <= shopnum && strings.Index(one.BaseInfo.Name,name) != -1{  
370 - rtslice = append(rtslice,one) 367 + if one.BaseInfo.Num <= shopnum && strings.Index(one.BaseInfo.Name, name) != -1 {
  368 + rtslice = append(rtslice, one)
371 } 369 }
372 } 370 }
373 } 371 }
374 //排序 372 //排序
375 sort.Sort(rtslice) 373 sort.Sort(rtslice)
376 374
377 - begin := (page-1) * 10 375 + begin := (page - 1) * 10
378 end := begin + 9 376 end := begin + 9
379 sumlen := len(rtslice) 377 sumlen := len(rtslice)
380 - if begin > sumlen{ 378 + if begin > sumlen {
381 begin = sumlen - 10 379 begin = sumlen - 10
382 } 380 }
383 if end > sumlen { 381 if end > sumlen {
384 end = sumlen - 1 382 end = sumlen - 1
385 } 383 }
386 384
387 - return rtslice[begin:end],nil,sumlen 385 + return rtslice[begin:end], nil, sumlen
388 386
389 } 387 }
390 388
391 func (alist *ApproveList) InApproveList(uuid int) bool { 389 func (alist *ApproveList) InApproveList(uuid int) bool {
392 - for _,val := range alist.Approve_info { 390 + for _, val := range alist.Approve_info {
393 if val.Uuid == uuid { 391 if val.Uuid == uuid {
394 return true 392 return true
395 } 393 }
@@ -398,56 +396,56 @@ func (alist *ApproveList) InApproveList(uuid int) bool { @@ -398,56 +396,56 @@ func (alist *ApproveList) InApproveList(uuid int) bool {
398 } 396 }
399 397
400 // 398 //
401 -func DelFromApproveList(uuid,deluuid int) error { 399 +func DelFromApproveList(uuid, deluuid int) error {
402 return nil 400 return nil
403 } 401 }
404 402
405 //待批准列表 403 //待批准列表
406 -func GetUserApproveList(uuid int) (*ApproveList,error) { 404 +func GetUserApproveList(uuid int) (*ApproveList, error) {
407 rt := new(ApproveList) 405 rt := new(ApproveList)
408 //存储为hset key为 固定key+uuid ,field为被添加者的uuid,fieldW为FriendInfo 406 //存储为hset key为 固定key+uuid ,field为被添加者的uuid,fieldW为FriendInfo
409 userkey := redis.FRIEND_APPROVELIST_KEY + ":" + strconv.Itoa(uuid) 407 userkey := redis.FRIEND_APPROVELIST_KEY + ":" + strconv.Itoa(uuid)
410 - vv,err := redishandler.GetRedisClient().HGetAllValues(userkey) 408 + vv, err := redishandler.GetRedisClient().HGetAllValues(userkey)
411 if err != nil { 409 if err != nil {
412 logger.Error("GetUserApproveList err") 410 logger.Error("GetUserApproveList err")
413 - return nil,err 411 + return nil, err
414 } 412 }
415 413
416 - nowtime:= int(time.Now().Unix())  
417 - for _,val := range vv { 414 + nowtime := int(time.Now().Unix())
  415 + for _, val := range vv {
418 one := new(ApplyInfo) 416 one := new(ApplyInfo)
419 bytestr := val.([]byte) 417 bytestr := val.([]byte)
420 err = json.Unmarshal(bytestr, one) 418 err = json.Unmarshal(bytestr, one)
421 - if err!= nil { 419 + if err != nil {
422 //需要剔除超过时间的 420 //需要剔除超过时间的
423 - if nowtime <= one.Apply_time + 3*86400 {  
424 - rt.Approve_info = append(rt.Approve_info,*one)  
425 - }else { 421 + if nowtime <= one.Apply_time+3*86400 {
  422 + rt.Approve_info = append(rt.Approve_info, *one)
  423 + } else {
426 //已经超时,需要删除 424 //已经超时,需要删除
427 - redishandler.GetRedisClient().HDel(userkey,strconv.Itoa(one.Uuid)) 425 + redishandler.GetRedisClient().HDel(userkey, strconv.Itoa(one.Uuid))
428 } 426 }
429 427
430 } 428 }
431 429
432 } 430 }
433 - return rt,nil 431 + return rt, nil
434 } 432 }
435 433
436 -func SaveUserApproveList(uuid int,adduuid int) error { 434 +func SaveUserApproveList(uuid int, adduuid int) error {
437 userkey := redis.FRIEND_APPROVELIST_KEY + ":" + strconv.Itoa(uuid) 435 userkey := redis.FRIEND_APPROVELIST_KEY + ":" + strconv.Itoa(uuid)
438 var finfo ApplyInfo 436 var finfo ApplyInfo
439 finfo.Uuid = adduuid 437 finfo.Uuid = adduuid
440 finfo.Apply_time = int(time.Now().Unix()) 438 finfo.Apply_time = int(time.Now().Unix())
441 - str,err := json.Marshal(&finfo) 439 + str, err := json.Marshal(&finfo)
442 if err != nil { 440 if err != nil {
443 - logger.Error("SaveUserApproveList failed,err=%v",err) 441 + logger.Error("SaveUserApproveList failed,err=%v", err)
444 } 442 }
445 - err = redishandler.GetRedisClient().HSet(userkey,strconv.Itoa(adduuid),string(str)) 443 + err = redishandler.GetRedisClient().HSet(userkey, strconv.Itoa(adduuid), string(str))
446 return err 444 return err
447 } 445 }
448 446
449 func (alist *ApplyList) InApplyList(uuid int) bool { 447 func (alist *ApplyList) InApplyList(uuid int) bool {
450 - for _,val := range alist.Apply_info { 448 + for _, val := range alist.Apply_info {
451 if val.Uuid == uuid { 449 if val.Uuid == uuid {
452 return true 450 return true
453 } 451 }
@@ -455,88 +453,88 @@ func (alist *ApplyList) InApplyList(uuid int) bool { @@ -455,88 +453,88 @@ func (alist *ApplyList) InApplyList(uuid int) bool {
455 return false 453 return false
456 } 454 }
457 455
458 -func GetUserApplyList(uuid int) (*ApplyList,error) { 456 +func GetUserApplyList(uuid int) (*ApplyList, error) {
459 rt := new(ApplyList) 457 rt := new(ApplyList)
460 //存储为hset key为 固定key+uuid ,field为被添加者的uuid,fieldW为FriendInfo 458 //存储为hset key为 固定key+uuid ,field为被添加者的uuid,fieldW为FriendInfo
461 userkey := redis.FRIEND_APPLYLIST_KEY + ":" + strconv.Itoa(uuid) 459 userkey := redis.FRIEND_APPLYLIST_KEY + ":" + strconv.Itoa(uuid)
462 - vv,err := redishandler.GetRedisClient().HGetAllValues(userkey) 460 + vv, err := redishandler.GetRedisClient().HGetAllValues(userkey)
463 if err != nil { 461 if err != nil {
464 logger.Error("GetUserApplyList err") 462 logger.Error("GetUserApplyList err")
465 - return nil,err 463 + return nil, err
466 } 464 }
467 465
468 - nowtime:= int(time.Now().Unix())  
469 - for _,val := range vv { 466 + nowtime := int(time.Now().Unix())
  467 + for _, val := range vv {
470 one := new(ApplyInfo) 468 one := new(ApplyInfo)
471 bytestr := val.([]byte) 469 bytestr := val.([]byte)
472 err = json.Unmarshal(bytestr, one) 470 err = json.Unmarshal(bytestr, one)
473 - if err!= nil { 471 + if err != nil {
474 //需要剔除超过时间的 472 //需要剔除超过时间的
475 - if nowtime <= one.Apply_time + 86400 {  
476 - rt.Apply_info = append(rt.Apply_info,*one)  
477 - }else { 473 + if nowtime <= one.Apply_time+86400 {
  474 + rt.Apply_info = append(rt.Apply_info, *one)
  475 + } else {
478 //已经超时,需要删除 476 //已经超时,需要删除
479 - redishandler.GetRedisClient().HDel(userkey,strconv.Itoa(one.Uuid)) 477 + redishandler.GetRedisClient().HDel(userkey, strconv.Itoa(one.Uuid))
480 } 478 }
481 479
482 } 480 }
483 481
484 } 482 }
485 - return rt,nil 483 + return rt, nil
486 } 484 }
487 485
488 -func SaveUserApplyList(uuid int,adduuid int) error { 486 +func SaveUserApplyList(uuid int, adduuid int) error {
489 userkey := redis.FRIEND_APPLYLIST_KEY + ":" + strconv.Itoa(uuid) 487 userkey := redis.FRIEND_APPLYLIST_KEY + ":" + strconv.Itoa(uuid)
490 var finfo ApplyInfo 488 var finfo ApplyInfo
491 finfo.Uuid = adduuid 489 finfo.Uuid = adduuid
492 finfo.Apply_time = int(time.Now().Unix()) 490 finfo.Apply_time = int(time.Now().Unix())
493 - str,err := json.Marshal(&finfo) 491 + str, err := json.Marshal(&finfo)
494 if err != nil { 492 if err != nil {
495 - logger.Error("SaveUserApplyList failed,err=%v",err) 493 + logger.Error("SaveUserApplyList failed,err=%v", err)
496 } 494 }
497 - err = redishandler.GetRedisClient().HSet(userkey,strconv.Itoa(adduuid),string(str)) 495 + err = redishandler.GetRedisClient().HSet(userkey, strconv.Itoa(adduuid), string(str))
498 return err 496 return err
499 } 497 }
500 498
501 -func GetUserFriendList(uuid int) (*FriendList,error) { 499 +func GetUserFriendList(uuid int) (*FriendList, error) {
502 //todo 500 //todo
503 rt := new(FriendList) 501 rt := new(FriendList)
504 //存储为hset key为 固定key+uuid ,field为被添加者的uuid,fieldW为FriendInfo 502 //存储为hset key为 固定key+uuid ,field为被添加者的uuid,fieldW为FriendInfo
505 userkey := redis.FRIEND_LIST_KEY + ":" + strconv.Itoa(uuid) 503 userkey := redis.FRIEND_LIST_KEY + ":" + strconv.Itoa(uuid)
506 - vv,err := redishandler.GetRedisClient().HGetAllValues(userkey) 504 + vv, err := redishandler.GetRedisClient().HGetAllValues(userkey)
507 if err != nil { 505 if err != nil {
508 logger.Error("GetUserFriendList err") 506 logger.Error("GetUserFriendList err")
509 - return nil,err 507 + return nil, err
510 } 508 }
511 509
512 - for _,val := range vv { 510 + for _, val := range vv {
513 one := new(FriendInfo) 511 one := new(FriendInfo)
514 bytestr := val.([]byte) 512 bytestr := val.([]byte)
515 err = json.Unmarshal(bytestr, one) 513 err = json.Unmarshal(bytestr, one)
516 - if err!= nil {  
517 - rt.Friends = append(rt.Friends,*one) 514 + if err != nil {
  515 + rt.Friends = append(rt.Friends, *one)
518 } 516 }
519 517
520 } 518 }
521 - return rt,nil 519 + return rt, nil
522 } 520 }
523 521
524 -func SaveUserFriendList(uuid int,adduuid int,status int) error { 522 +func SaveUserFriendList(uuid int, adduuid int, status int) error {
525 userkey := redis.FRIEND_LIST_KEY + ":" + strconv.Itoa(uuid) 523 userkey := redis.FRIEND_LIST_KEY + ":" + strconv.Itoa(uuid)
526 var finfo FriendInfo 524 var finfo FriendInfo
527 finfo.Uuid = adduuid 525 finfo.Uuid = adduuid
528 finfo.Status = status 526 finfo.Status = status
529 - str,err := json.Marshal(&finfo) 527 + str, err := json.Marshal(&finfo)
530 if err != nil { 528 if err != nil {
531 - logger.Error("SaveUserFriendList failed,err=%v",err) 529 + logger.Error("SaveUserFriendList failed,err=%v", err)
532 } 530 }
533 - err = redishandler.GetRedisClient().HSet(userkey,strconv.Itoa(adduuid),string(str)) 531 + err = redishandler.GetRedisClient().HSet(userkey, strconv.Itoa(adduuid), string(str))
534 return err 532 return err
535 } 533 }
536 534
537 //判断是否已经是好友 535 //判断是否已经是好友
538 func (flist *FriendList) IsInFreiendList(uuid int) bool { 536 func (flist *FriendList) IsInFreiendList(uuid int) bool {
539 - for _,val := range flist.Friends { 537 + for _, val := range flist.Friends {
540 if val.Uuid == uuid && val.Status == 0 { 538 if val.Uuid == uuid && val.Status == 0 {
541 return true 539 return true
542 } 540 }
@@ -544,53 +542,52 @@ func (flist *FriendList) IsInFreiendList(uuid int) bool { @@ -544,53 +542,52 @@ func (flist *FriendList) IsInFreiendList(uuid int) bool {
544 return false 542 return false
545 } 543 }
546 544
547 -func SaveCacheRecommandFriendList(uuid int,data *GetRecommendListDesc) {  
548 - savestr,err := json.Marshal(data) 545 +func SaveCacheRecommandFriendList(uuid int, data *GetRecommendListDesc) {
  546 + savestr, err := json.Marshal(data)
549 if err != nil { 547 if err != nil {
550 - logger.Error("SaveCacheRecommandFriendList err=%v",err) 548 + logger.Error("SaveCacheRecommandFriendList err=%v", err)
551 return 549 return
552 } 550 }
553 - err = redishandler.GetRedisClient().HSet(redis.FRIEND_RECOMMANDLIST_KEY,strconv.Itoa(uuid),string(savestr)) 551 + err = redishandler.GetRedisClient().HSet(redis.FRIEND_RECOMMANDLIST_KEY, strconv.Itoa(uuid), string(savestr))
554 if err != nil { 552 if err != nil {
555 - logger.Error("SaveCacheRecommandFriendList err=%v",err) 553 + logger.Error("SaveCacheRecommandFriendList err=%v", err)
556 return 554 return
557 } 555 }
558 } 556 }
559 557
560 -func GetCacheRecommandFriendList(uuid int) (*GetRecommendListDesc,error) { 558 +func GetCacheRecommandFriendList(uuid int) (*GetRecommendListDesc, error) {
561 rt := new(GetRecommendListDesc) 559 rt := new(GetRecommendListDesc)
562 - val,err:= redishandler.GetRedisClient().HGet(redis.FRIEND_RECOMMANDLIST_KEY,strconv.Itoa(uuid)) 560 + val, err := redishandler.GetRedisClient().HGet(redis.FRIEND_RECOMMANDLIST_KEY, strconv.Itoa(uuid))
563 if err != nil { 561 if err != nil {
564 - logger.Error("GetCacheRecommandFriendList err=%v",err)  
565 - return rt,err 562 + logger.Error("GetCacheRecommandFriendList err=%v", err)
  563 + return rt, err
566 } 564 }
567 565
568 - err = json.Unmarshal([]byte(val),rt) 566 + err = json.Unmarshal([]byte(val), rt)
569 if err != nil { 567 if err != nil {
570 - logger.Error("GetCacheRecommandFriendList err=%v",err)  
571 - return nil,err 568 + logger.Error("GetCacheRecommandFriendList err=%v", err)
  569 + return nil, err
572 } 570 }
573 571
574 - return rt,nil 572 + return rt, nil
575 } 573 }
576 574
577 func DelCacheRecommandFriendList(uuid int) error { 575 func DelCacheRecommandFriendList(uuid int) error {
578 - err := redishandler.GetRedisClient().HDel(redis.FRIEND_RECOMMANDLIST_KEY,strconv.Itoa(uuid)) 576 + err := redishandler.GetRedisClient().HDel(redis.FRIEND_RECOMMANDLIST_KEY, strconv.Itoa(uuid))
579 return err 577 return err
580 } 578 }
581 579
582 -  
583 func GetFfiendData(frienduuid int) *GetRecommendListInfo { 580 func GetFfiendData(frienduuid int) *GetRecommendListInfo {
584 - tmpext,err := GetUserExt(frienduuid) 581 + tmpext, err := GetUserExt(frienduuid)
585 if err != nil { 582 if err != nil {
586 return nil 583 return nil
587 } 584 }
588 - tmpbasic,err := GetUserBasic(frienduuid) 585 + tmpbasic, err := GetUserBasic(frienduuid)
589 if err != nil { 586 if err != nil {
590 return nil 587 return nil
591 } 588 }
592 589
593 - tmpinfo := new(GetRecommendListInfo) 590 + tmpinfo := new(GetRecommendListInfo)
594 tmpinfo.Hot = tmpext.Hot 591 tmpinfo.Hot = tmpext.Hot
595 tmpinfo.Bean = tmpext.Bean 592 tmpinfo.Bean = tmpext.Bean
596 tmpinfo.Userid = tmpext.Userid 593 tmpinfo.Userid = tmpext.Userid
@@ -609,158 +606,154 @@ func GetFfiendData(frienduuid int) *GetRecommendListInfo { @@ -609,158 +606,154 @@ func GetFfiendData(frienduuid int) *GetRecommendListInfo {
609 } 606 }
610 607
611 //获取推荐好友列表 608 //获取推荐好友列表
612 -func (flist *FriendList)GetRecommandFriendList(uuid,friendnum int) (*GetRecommendListDesc,error) { 609 +func (flist *FriendList) GetRecommandFriendList(uuid, friendnum int) (*GetRecommendListDesc, error) {
613 610
614 - rlist,err := GetCacheRecommandFriendList(uuid) 611 + rlist, err := GetCacheRecommandFriendList(uuid)
615 if err == nil { 612 if err == nil {
616 //有缓存 ,直接返回 613 //有缓存 ,直接返回
617 - return rlist,err 614 + return rlist, err
618 } 615 }
619 616
620 - selfext,err := GetUserExt(uuid) 617 + selfext, err := GetUserExt(uuid)
621 if err != nil { 618 if err != nil {
622 - return nil,err 619 + return nil, err
623 } 620 }
624 - selfbasic,err := GetUserBasic(uuid) 621 + selfbasic, err := GetUserBasic(uuid)
625 if err != nil { 622 if err != nil {
626 - return nil,err 623 + return nil, err
627 } 624 }
628 625
  626 + var randlist []int //记录随机的几个好友
  627 + var first []int //初步筛选的id列表
  628 + var second []int //第二步
  629 + var third []int
  630 + vv, err := redishandler.GetRedisClient().HGetAllValues(redis.USER_EXT_DATA)
  631 + if err != nil {
  632 + return nil, err
  633 + }
629 634
630 -  
631 - var randlist []int //记录随机的几个好友  
632 - var first []int //初步筛选的id列表  
633 - var second []int //第二步  
634 - var third []int  
635 - vv,err := redishandler.GetRedisClient().HGetAllValues(redis.USER_EXT_DATA)  
636 - if err != nil {  
637 - return nil ,err  
638 - }  
639 -  
640 - for _,val := range vv {  
641 - one := new(UserExtData)  
642 - bytestr := val.([]byte)  
643 - err = json.Unmarshal(bytestr, one)  
644 - if err == nil {  
645 - if selfext.Hot <= one.Hot+500 && selfext.Hot >= one.Hot-500 {  
646 - first = append(first,one.User_id)  
647 - }  
648 - }  
649 - if len(randlist) < friendnum {  
650 - randlist = append(randlist,one.User_id) 635 + for _, val := range vv {
  636 + one := new(UserExtData)
  637 + bytestr := val.([]byte)
  638 + err = json.Unmarshal(bytestr, one)
  639 + if err == nil {
  640 + if selfext.Hot <= one.Hot+500 && selfext.Hot >= one.Hot-500 {
  641 + first = append(first, one.User_id)
651 } 642 }
652 } 643 }
653 -  
654 - applylist,err := GetUserApplyList(uuid)  
655 - if err != nil {  
656 - logger.Error("GetRecommandFriendList failed err=%v",err)  
657 - second = append(second,first...)  
658 - }else {  
659 - //第二步判断是否已经在申请列表,不再才加入  
660 - for _,val := range first {  
661 - if !applylist.InApplyList(val) {  
662 - second = append(second,val)  
663 - }  
664 - } 644 + if len(randlist) < friendnum {
  645 + randlist = append(randlist, one.User_id)
665 } 646 }
  647 + }
666 648
667 - //第三步判断性别  
668 - for _,val := range second {  
669 - if len(third) >= friendnum {  
670 - //数量已经满了,直接退出  
671 - break  
672 - }  
673 -  
674 - tmpbasic,err:= GetUserBasic(val)  
675 - if err != nil {  
676 - continue  
677 - }  
678 - if tmpbasic.User_gender != selfbasic.User_gender {  
679 - third = append(third,val) 649 + applylist, err := GetUserApplyList(uuid)
  650 + if err != nil {
  651 + logger.Error("GetRecommandFriendList failed err=%v", err)
  652 + second = append(second, first...)
  653 + } else {
  654 + //第二步判断是否已经在申请列表,不再才加入
  655 + for _, val := range first {
  656 + if !applylist.InApplyList(val) {
  657 + second = append(second, val)
680 } 658 }
681 } 659 }
  660 + }
682 661
683 - //最后判断一下数量是否足够  
684 - if len(third) < friendnum {  
685 - //将随机的id补充进去  
686 - for i:=0;i<friendnum-len(third);i++ {  
687 - third = append(third,randlist[i])  
688 - } 662 + //第三步判断性别
  663 + for _, val := range second {
  664 + if len(third) >= friendnum {
  665 + //数量已经满了,直接退出
  666 + break
689 } 667 }
690 668
691 - //最后赋值  
692 - realrt := new(GetRecommendListDesc)  
693 - for _,val := range third {  
694 - tmpext,err := GetUserExt(val)  
695 - if err != nil {  
696 - logger.Error("GetRecommendListDesc third err=%v",err)  
697 - continue  
698 - }  
699 - tmpbasic,err := GetUserBasic(val)  
700 - if err != nil {  
701 - logger.Error("GetRecommendListDesc third err=%v",err)  
702 - continue  
703 - }  
704 - var tmpinfo GetRecommendListInfo  
705 - tmpinfo.Hot = tmpext.Hot  
706 - tmpinfo.Bean = tmpext.Bean  
707 - tmpinfo.Userid = tmpext.Userid  
708 - tmpinfo.Coin = tmpext.Coin  
709 - tmpinfo.Reg_time = tmpext.Regtime  
710 - tmpinfo.Lv = tmpext.Lv  
711 - tmpinfo.Exp = tmpext.Exp  
712 - tmpinfo.Nickname = tmpbasic.User_nickname  
713 - tmpinfo.Avatar_url = tmpbasic.User_avatar_url  
714 - tmpinfo.Cat_num = 0  
715 - tmpinfo.City = tmpbasic.User_city  
716 - tmpinfo.Gender = tmpbasic.User_gender  
717 - tmpinfo.Love_exp = tmpext.Loevexp  
718 - tmpinfo.Shop_num = tmpext.Shopnum  
719 - realrt.Recommend_list = append(realrt.Recommend_list,tmpinfo) 669 + tmpbasic, err := GetUserBasic(val)
  670 + if err != nil {
  671 + continue
  672 + }
  673 + if tmpbasic.User_gender != selfbasic.User_gender {
  674 + third = append(third, val)
  675 + }
  676 + }
720 677
  678 + //最后判断一下数量是否足够
  679 + if len(third) < friendnum {
  680 + //将随机的id补充进去
  681 + for i := 0; i < friendnum-len(third); i++ {
  682 + third = append(third, randlist[i])
721 } 683 }
  684 + }
722 685
  686 + //最后赋值
  687 + realrt := new(GetRecommendListDesc)
  688 + for _, val := range third {
  689 + tmpext, err := GetUserExt(val)
  690 + if err != nil {
  691 + logger.Error("GetRecommendListDesc third err=%v", err)
  692 + continue
  693 + }
  694 + tmpbasic, err := GetUserBasic(val)
  695 + if err != nil {
  696 + logger.Error("GetRecommendListDesc third err=%v", err)
  697 + continue
  698 + }
  699 + var tmpinfo GetRecommendListInfo
  700 + tmpinfo.Hot = tmpext.Hot
  701 + tmpinfo.Bean = tmpext.Bean
  702 + tmpinfo.Userid = tmpext.Userid
  703 + tmpinfo.Coin = tmpext.Coin
  704 + tmpinfo.Reg_time = tmpext.Regtime
  705 + tmpinfo.Lv = tmpext.Lv
  706 + tmpinfo.Exp = tmpext.Exp
  707 + tmpinfo.Nickname = tmpbasic.User_nickname
  708 + tmpinfo.Avatar_url = tmpbasic.User_avatar_url
  709 + tmpinfo.Cat_num = 0
  710 + tmpinfo.City = tmpbasic.User_city
  711 + tmpinfo.Gender = tmpbasic.User_gender
  712 + tmpinfo.Love_exp = tmpext.Loevexp
  713 + tmpinfo.Shop_num = tmpext.Shopnum
  714 + realrt.Recommend_list = append(realrt.Recommend_list, tmpinfo)
723 715
  716 + }
724 717
725 //保存到缓存 718 //保存到缓存
726 - SaveCacheRecommandFriendList(uuid,realrt)  
727 - return realrt,nil 719 + SaveCacheRecommandFriendList(uuid, realrt)
  720 + return realrt, nil
728 } 721 }
729 722
730 -func SaveAccount(account ,pwd string) error { 723 +func SaveAccount(account, pwd string) error {
731 //首先对pwd加密 724 //首先对pwd加密
732 h := md5.New() 725 h := md5.New()
733 h.Write([]byte(pwd)) // 需要加密的字符串为 726 h.Write([]byte(pwd)) // 需要加密的字符串为
734 - newpwd :=hex.EncodeToString(h.Sum(nil))  
735 - err := redishandler.GetRedisClient().HSet(redis.USER_ACCOUNT_PASSWORD_KEY,account,newpwd) 727 + newpwd := hex.EncodeToString(h.Sum(nil))
  728 + err := redishandler.GetRedisClient().HSet(redis.USER_ACCOUNT_PASSWORD_KEY, account, newpwd)
736 return err 729 return err
737 } 730 }
738 731
739 -func CheckAccout(account ,pwd string) error { 732 +func CheckAccout(account, pwd string) error {
740 h := md5.New() 733 h := md5.New()
741 h.Write([]byte(pwd)) // 需要加密的字符串为 734 h.Write([]byte(pwd)) // 需要加密的字符串为
742 - newpwd :=hex.EncodeToString(h.Sum(nil))  
743 - pwdstr,err := redishandler.GetRedisClient().HGet(redis.USER_ACCOUNT_PASSWORD_KEY,account) 735 + newpwd := hex.EncodeToString(h.Sum(nil))
  736 + pwdstr, err := redishandler.GetRedisClient().HGet(redis.USER_ACCOUNT_PASSWORD_KEY, account)
744 if err != nil { 737 if err != nil {
745 return err 738 return err
746 } 739 }
747 - if pwdstr!= newpwd { 740 + if pwdstr != newpwd {
748 return errors.New("pwdword not right!") 741 return errors.New("pwdword not right!")
749 } 742 }
750 return nil 743 return nil
751 } 744 }
752 745
753 -func SaveAccountToken(acc ,token string) {  
754 - err := redishandler.GetRedisClient().HSet(redis.USER_ACCOUNT_PASSWORD_KEY,acc,token) 746 +func SaveAccountToken(acc, token string) {
  747 + err := redishandler.GetRedisClient().HSet(redis.USER_ACCOUNT_PASSWORD_KEY, acc, token)
755 if err != nil { 748 if err != nil {
756 - logger.Error("SaveAccountToken err=%v",err) 749 + logger.Error("SaveAccountToken err=%v", err)
757 } 750 }
758 } 751 }
759 752
760 func GetAccountToken(acc string) string { 753 func GetAccountToken(acc string) string {
761 - token,err := redishandler.GetRedisClient().HGet(redis.USER_ACCOUNT_PASSWORD_KEY,acc) 754 + token, err := redishandler.GetRedisClient().HGet(redis.USER_ACCOUNT_PASSWORD_KEY, acc)
762 if err != nil { 755 if err != nil {
763 - logger.Error("GetAccountToken failed err=%v",err) 756 + logger.Error("GetAccountToken failed err=%v", err)
764 return "" 757 return ""
765 } 758 }
766 759
@@ -771,7 +764,7 @@ type WorkList []InviteWorkDesc @@ -771,7 +764,7 @@ type WorkList []InviteWorkDesc
771 764
772 func (wl *WorkList) IsInWork(uuid int) bool { 765 func (wl *WorkList) IsInWork(uuid int) bool {
773 isIn := false 766 isIn := false
774 - for _,val := range *wl { 767 + for _, val := range *wl {
775 if val.Uuid == uuid { 768 if val.Uuid == uuid {
776 isIn = true 769 isIn = true
777 } 770 }
@@ -780,79 +773,77 @@ func (wl *WorkList) IsInWork(uuid int) bool { @@ -780,79 +773,77 @@ func (wl *WorkList) IsInWork(uuid int) bool {
780 } 773 }
781 774
782 //此接口为处理返回所有的打工列表 775 //此接口为处理返回所有的打工列表
783 -func GetRealDagonglist(uuid int) (*WorkList,*WorkList,error) {  
784 - vv,err := redishandler.GetRedisClient().HGet(redis.USER_INVITEWORK_RELATION,strconv.Itoa(uuid)) 776 +func GetRealDagonglist(uuid int) (*WorkList, *WorkList, error) {
  777 + vv, err := redishandler.GetRedisClient().HGet(redis.USER_INVITEWORK_RELATION, strconv.Itoa(uuid))
785 778
786 if err != nil { 779 if err != nil {
787 //logger.Error("GetdagongList err=%v",err) 780 //logger.Error("GetdagongList err=%v",err)
788 - return nil,nil,nil 781 + return nil, nil, nil
789 } 782 }
790 783
791 var reallist WorkList 784 var reallist WorkList
792 var list WorkList 785 var list WorkList
793 - err = json.Unmarshal([]byte(vv),&list) 786 + err = json.Unmarshal([]byte(vv), &list)
794 if err != nil { 787 if err != nil {
795 - logger.Error("GetRealDagonglist err=%v",err)  
796 - return nil,nil,err 788 + logger.Error("GetRealDagonglist err=%v", err)
  789 + return nil, nil, err
797 } 790 }
798 791
799 //此处时间改为600s 792 //此处时间改为600s
800 nowtime := int(time.Now().Unix()) 793 nowtime := int(time.Now().Unix())
801 - for i:=0;i<len(list);i++ {  
802 - if nowtime > 600 + list[i].InviteTime { 794 + for i := 0; i < len(list); i++ {
  795 + if nowtime > 600+list[i].InviteTime {
803 //list = append(list[:i],list[i+1:]...) 796 //list = append(list[:i],list[i+1:]...)
804 //i-- 797 //i--
805 - }else {  
806 - reallist = append(reallist,list[i]) 798 + } else {
  799 + reallist = append(reallist, list[i])
807 } 800 }
808 } 801 }
809 802
810 - return &list,&reallist,nil 803 + return &list, &reallist, nil
811 } 804 }
812 805
813 -func GetdagongList(uuid int) (*WorkList,[]InviteWorkOffDesc,error) { 806 +func GetdagongList(uuid int) (*WorkList, []InviteWorkOffDesc, error) {
814 //需要判断 超过时间 四小时的删除 807 //需要判断 超过时间 四小时的删除
815 - vv,err := redishandler.GetRedisClient().HGet(redis.USER_INVITEWORK_RELATION,strconv.Itoa(uuid)) 808 + vv, err := redishandler.GetRedisClient().HGet(redis.USER_INVITEWORK_RELATION, strconv.Itoa(uuid))
816 809
817 if err != nil { 810 if err != nil {
818 //logger.Error("GetdagongList err=%v",err) 811 //logger.Error("GetdagongList err=%v",err)
819 - return nil,nil,nil 812 + return nil, nil, nil
820 } 813 }
821 814
822 var list WorkList 815 var list WorkList
823 - err = json.Unmarshal([]byte(vv),&list) 816 + err = json.Unmarshal([]byte(vv), &list)
824 if err != nil { 817 if err != nil {
825 - logger.Error("GetdagongList err=%v",err)  
826 - return nil,nil,err 818 + logger.Error("GetdagongList err=%v", err)
  819 + return nil, nil, err
827 } 820 }
828 821
829 var offlist []InviteWorkOffDesc 822 var offlist []InviteWorkOffDesc
830 //此处时间改为600s 823 //此处时间改为600s
831 nowtime := int(time.Now().Unix()) 824 nowtime := int(time.Now().Unix())
832 - for i:=0;i<len(list);i++ {  
833 - if nowtime > 4*3600 + list[i].InviteTime { 825 + for i := 0; i < len(list); i++ {
  826 + if nowtime > 4*3600+list[i].InviteTime {
834 var tmp InviteWorkOffDesc 827 var tmp InviteWorkOffDesc
835 tmp.Uuid = list[i].Uuid 828 tmp.Uuid = list[i].Uuid
836 tmp.InviteTime = list[i].InviteTime 829 tmp.InviteTime = list[i].InviteTime
837 - offlist = append(offlist,tmp)  
838 - list = append(list[:i],list[i+1:]...) 830 + offlist = append(offlist, tmp)
  831 + list = append(list[:i], list[i+1:]...)
839 832
840 i-- 833 i--
841 834
842 } 835 }
843 } 836 }
844 837
845 -  
846 -  
847 - return &list,offlist,nil 838 + return &list, offlist, nil
848 } 839 }
849 840
850 //加入打工列表 841 //加入打工列表
851 -func AddDagongList(uuid int,masteruuid int,list WorkList) error { 842 +func AddDagongList(uuid int, masteruuid int, list WorkList) error {
852 843
853 - nickname,headurl,err := mysql.QueryNameAndHead(uuid) 844 + nickname, headurl, err := mysql.QueryNameAndHead(uuid)
854 if err != nil { 845 if err != nil {
855 - logger.Error("AddDagongList err=%v",err) 846 + logger.Error("AddDagongList err=%v", err)
856 return err 847 return err
857 } 848 }
858 849
@@ -862,19 +853,112 @@ func AddDagongList(uuid int,masteruuid int,list WorkList) error { @@ -862,19 +853,112 @@ func AddDagongList(uuid int,masteruuid int,list WorkList) error {
862 tmp.Nickname = nickname 853 tmp.Nickname = nickname
863 tmp.InviteTime = int(time.Now().Unix()) 854 tmp.InviteTime = int(time.Now().Unix())
864 855
865 - list = append(list,tmp) 856 + list = append(list, tmp)
866 857
867 - savestr,err := json.Marshal(&list) 858 + savestr, err := json.Marshal(&list)
868 if err != nil { 859 if err != nil {
869 - logger.Error("AddDagongList err=%v",err) 860 + logger.Error("AddDagongList err=%v", err)
870 return err 861 return err
871 } 862 }
872 863
873 - err = redishandler.GetRedisClient().HSet(redis.USER_INVITEWORK_RELATION,strconv.Itoa(masteruuid),string(savestr)) 864 + err = redishandler.GetRedisClient().HSet(redis.USER_INVITEWORK_RELATION, strconv.Itoa(masteruuid), string(savestr))
874 if err != nil { 865 if err != nil {
875 - logger.Error("AddDagongList err=%v",err) 866 + logger.Error("AddDagongList err=%v", err)
876 return err 867 return err
877 } 868 }
878 869
879 return nil 870 return nil
880 -}  
881 \ No newline at end of file 871 \ No newline at end of file
  872 +}
  873 +
  874 +//查询玩家现在所在的队伍id
  875 +func QueryUserTeamId(uuid int) (int, error) {
  876 + rkey := "cat:cafe:teamuser:where:user_id:" + strconv.Itoa(uuid) + ":status:0"
  877 + teamstr, err := redishandler.GetRedisClient().GetString(rkey)
  878 + if err != nil {
  879 + return 0, err
  880 + }
  881 + var tmp RedisTeamInfo
  882 + err = json.Unmarshal([]byte(teamstr), &tmp)
  883 + if err != nil {
  884 + return 0, nil
  885 + }
  886 +
  887 + return tmp.Team_id, nil
  888 +}
  889 +
  890 +func CheckHasNewMessage(uuid int) (bool, error) {
  891 + //首先检查工会记录
  892 + lastteamsec := 0
  893 + lastchatteamsec := 0
  894 + laststr, err := redishandler.GetRedisClient().HGet(redis.USER_CHAT_TEAM_LASTGET_KEY, strconv.Itoa(uuid))
  895 + if err == nil {
  896 + lastteamsec, _ = strconv.Atoi(laststr)
  897 + }
  898 +
  899 + //先取得玩家队伍id
  900 + teamid, err := QueryUserTeamId(uuid)
  901 + if err != nil {
  902 + return false, nil
  903 + }
  904 + //取出最后一条工会聊天记录
  905 + rteamkey := redis.USER_CHAT_TEAM_INFO_KEY + ":" + strconv.Itoa(teamid)
  906 + chatinfostr, err := redishandler.GetRedisClient().LIndex(rteamkey, 0)
  907 + if err != nil {
  908 + logger.Error("CheckHasNewMessage failed err=%v", err)
  909 + } else {
  910 + var chats ChatInfoDesc
  911 + err = json.Unmarshal([]byte(chatinfostr), &chats)
  912 + if err != nil {
  913 + logger.Error("CheckHasNewMessage failed err=%v", err)
  914 + } else {
  915 + lastchatteamsec = chats.ChatTime
  916 + }
  917 + }
  918 +
  919 + if lastchatteamsec > lastteamsec {
  920 + //新的聊天信息
  921 + redishandler.GetRedisClient().HSet(redis.USER_CHAT_ISNEW, strconv.Itoa(uuid), "1")
  922 + return true, nil
  923 + }
  924 +
  925 + //判断自己的私人聊天记录
  926 + var talklistuid []int
  927 + rselfkey := redis.USER_CHAT_PRIVATE_LASTGET_KEY + ":" + strconv.Itoa(uuid)
  928 + vv, err := redishandler.GetRedisClient().HGetAllKeys(rselfkey)
  929 + if err != nil {
  930 + return false, err
  931 + }
  932 +
  933 + for _, val := range vv {
  934 + bytestr := string(val.([]byte))
  935 + bytenum, _ := strconv.Atoi(bytestr)
  936 + talklistuid = append(talklistuid, bytenum)
  937 + }
  938 +
  939 + for _, val := range talklistuid {
  940 + selfgetsec := 0
  941 + selftalksec := 0
  942 + rkeysselfs := redis.USER_CHAT_PRIVATE_INFO_KEY + ":" + strconv.Itoa(uuid) + ":" + strconv.Itoa(val)
  943 + tmpstr, err := redishandler.GetRedisClient().HGet(rselfkey, strconv.Itoa(uuid))
  944 + if err == nil {
  945 + selfgetsec, _ = strconv.Atoi(tmpstr)
  946 + }
  947 +
  948 + //查询最后一条记录
  949 + cselfstr, err := redishandler.GetRedisClient().LIndex(rkeysselfs, 0)
  950 + if err == nil {
  951 + var chats ChatInfoDesc
  952 + err = json.Unmarshal([]byte(cselfstr), &chats)
  953 + if err == nil {
  954 + selftalksec = chats.ChatTime
  955 + }
  956 + }
  957 +
  958 + if selfgetsec < selftalksec {
  959 + redishandler.GetRedisClient().HSet(redis.USER_CHAT_ISNEW, strconv.Itoa(uuid), "1")
  960 + return true, nil
  961 + }
  962 + }
  963 +
  964 + return false, nil
  965 +}
src/HttpServer/logic/httpserver.go
@@ -92,12 +92,25 @@ func startServerHttpServe() { @@ -92,12 +92,25 @@ func startServerHttpServe() {
92 http.HandleFunc("/catcafe/user/newGetData",NewGetData) //新的获取玩家数据接口 92 http.HandleFunc("/catcafe/user/newGetData",NewGetData) //新的获取玩家数据接口
93 http.HandleFunc("/catcafe/user/newSaveData",NewSaveData) //新的保存玩家数据接口 93 http.HandleFunc("/catcafe/user/newSaveData",NewSaveData) //新的保存玩家数据接口
94 94
  95 + http.HandleFunc("/catcafe/chat/queryNewMessage",queryNewMessage) //查询红点请求
  96 +
95 97
96 err := http.ListenAndServe(conf.GetServerHttpAddrConf(), nil) 98 err := http.ListenAndServe(conf.GetServerHttpAddrConf(), nil)
97 CheckErr(err) 99 CheckErr(err)
98 } 100 }
99 101
100 102
  103 +func queryNewMessage(w http.ResponseWriter, r *http.Request) {
  104 +
  105 + result, _ := ioutil.ReadAll(r.Body)
  106 + r.Body.Close()
  107 +
  108 + s := string(result)
  109 + //logger.Info("queryNewMessage , body:%v", s)
  110 +
  111 + HandlequeryNewMessage(w,s)
  112 +}
  113 +
101 func NewSaveData(w http.ResponseWriter, r *http.Request) { 114 func NewSaveData(w http.ResponseWriter, r *http.Request) {
102 115
103 result, _ := ioutil.ReadAll(r.Body) 116 result, _ := ioutil.ReadAll(r.Body)
src/HttpServer/logic/logic.go
@@ -274,6 +274,55 @@ func HandleQueryInvite(w http.ResponseWriter, data string) { @@ -274,6 +274,55 @@ func HandleQueryInvite(w http.ResponseWriter, data string) {
274 } 274 }
275 275
276 276
  277 +func HandlequeryNewMessage(w http.ResponseWriter, data string) {
  278 +
  279 + SetHeader(w)
  280 + var resp QueryNewMessageResp
  281 + resp.Status = "true"
  282 + resp.Result.Data.Isnew = 0
  283 + var rdata QueryNewMessageReq
  284 + err := json.Unmarshal([]byte(data), &rdata)
  285 + for {
  286 + if err != nil {
  287 + logger.Error("HandlequeryNewMessage json unmarshal failed=%v", err)
  288 + resp.Result.Code = ERROR_JSONUNMASHFAILED
  289 + break
  290 + }
  291 + //先从缓存取,如果已经有新消息则直接返回
  292 + exist,err := redishandler.GetRedisClient().HExists(redis.USER_CHAT_ISNEW,strconv.Itoa(rdata.Uuid))
  293 + if err != nil {
  294 + logger.Error("HandlequeryNewMessage save failed=%v", err)
  295 + resp.Result.Code = ERROR_SRVDB_FAILED
  296 + resp.Result.Data.Isnew = 0
  297 + break
  298 + }
  299 +
  300 + if exist {
  301 + resp.Result.Data.Isnew = 1
  302 + break
  303 + }
  304 +
  305 + //如果没有 则进行判断
  306 + isnew,err := CheckHasNewMessage(rdata.Uuid)
  307 + if err != nil {
  308 + logger.Error("HandlequeryNewMessage CheckHasNewMessage failed=%v", err)
  309 + resp.Result.Code = ERROR_SRVDB_FAILED
  310 + resp.Result.Data.Isnew = 0
  311 + break
  312 + }
  313 +
  314 + if isnew {
  315 + resp.Result.Data.Isnew = 1
  316 + }
  317 +
  318 + break
  319 + }
  320 +
  321 + //回包
  322 + respstr, _ := json.Marshal(&resp)
  323 + fmt.Fprint(w, string(respstr))
  324 +}
  325 +
277 func HandleNewSaveData(w http.ResponseWriter, data string) { 326 func HandleNewSaveData(w http.ResponseWriter, data string) {
278 SetHeader(w) 327 SetHeader(w)
279 var resp SaveDataBackupResp 328 var resp SaveDataBackupResp
src/common/redis/def.go
1 package redis 1 package redis
2 2
3 const ( 3 const (
4 - USER_TOURIST_UID = "CATCAFE_USER_TOURIST_UID" //存储对应设备编码与uid的对应关系  
5 - USER_MAX_UUID = "CATCAFE_USER_MAX_UUID" //记录当前最大的uid,新增自增即可  
6 - USER_BASIC_DATA = "CATCAFE_USER_BASIC_DATA" //玩家基础信息  
7 - USER_EXT_DATA = "CATCAFE_USER_EXT_DATA" //玩家游戏数据  
8 - USER_BASE_DATA = "CATCAFE_USER_BASE_DATA" //小游戏自定义数据  
9 - MSG_CKECK_ACCESSTOKEN = "CATCAFE_MSG_CKECK_ACCESSTOKEN" //敏感词检测的key  
10 - TEAM_USERTEAM_NAME = "CATCAFE_TEAM_USERTEAM_NAME" //存储了玩家队伍名称  
11 - TEAM_INFO = "CATCAFE_TEAM_INFO" //存储了玩家队伍信息  
12 - TEAM_MAX_UUID = "CATCAFE_TEAM_MAX_UUID" //记录当前最大的teamid,新增自增即可  
13 - TEAM_TEAMID_TOUUID = "CATCAFE_TEAM_TEAMID_TOUUID" //记录teamid与uuid的关系  
14 - FRIEND_LIST_KEY = "CATCAFE_FRIEND_LIST_KEY" //玩家的好友列表的key,需要在末尾加死":uuid"  
15 - FRIEND_APPLYLIST_KEY = "CATCAFE_FRIEND_APPLYLIST_KEY" //玩家申请好友列表,需要在末尾加死":uuid"  
16 - FRIEND_APPROVELIST_KEY = "CATCAFE_FRIEND_APPROVELIST_KEY" //待批准好友列表,需要在末尾加死":uuid"  
17 - FRIEND_RECOMMANDLIST_KEY = "CATCAFE_FRIEND_RECOMMANDLIST_KEY" //推荐好友缓存key  
18 - USER_ACCOUNT_PASSWORD_KEY = "CATCAFE_USER_ACCOUNT_PASSWORD_KEY" //玩家账号密码的key  
19 - USER_INVITEREWARD_FETCH_REWARD = "CATCAFE_USER_INVITEREWARD_FETCH_REWARD" //玩家邀请记录 hset key + uuid field为被邀请者的uuid value为领取状态  
20 - USER_BEINVITE_UUIDRELATION = "CATCAFE_USER_BEINVITE_UUIDRELATION" //玩家被邀请关系记录表  
21 - USER_INVITEWORK_RELATION = "CATCAFE_USER_INVITEWORK_RELATION" //玩家被邀请打工记录表  
22 - USER_BACKUP_DATA = "CATCAFE_USER_BACKUP_DATA" //玩家数据保存的备份  
23 - USER_NEW_DATA_KEY = "cat:cafe:data_new:where:data_uid:" //玩家数据保存的新的key 4 + USER_TOURIST_UID = "CATCAFE_USER_TOURIST_UID" //存储对应设备编码与uid的对应关系
  5 + USER_MAX_UUID = "CATCAFE_USER_MAX_UUID" //记录当前最大的uid,新增自增即可
  6 + USER_BASIC_DATA = "CATCAFE_USER_BASIC_DATA" //玩家基础信息
  7 + USER_EXT_DATA = "CATCAFE_USER_EXT_DATA" //玩家游戏数据
  8 + USER_BASE_DATA = "CATCAFE_USER_BASE_DATA" //小游戏自定义数据
  9 + MSG_CKECK_ACCESSTOKEN = "CATCAFE_MSG_CKECK_ACCESSTOKEN" //敏感词检测的key
  10 + TEAM_USERTEAM_NAME = "CATCAFE_TEAM_USERTEAM_NAME" //存储了玩家队伍名称
  11 + TEAM_INFO = "CATCAFE_TEAM_INFO" //存储了玩家队伍信息
  12 + TEAM_MAX_UUID = "CATCAFE_TEAM_MAX_UUID" //记录当前最大的teamid,新增自增即可
  13 + TEAM_TEAMID_TOUUID = "CATCAFE_TEAM_TEAMID_TOUUID" //记录teamid与uuid的关系
  14 + FRIEND_LIST_KEY = "CATCAFE_FRIEND_LIST_KEY" //玩家的好友列表的key,需要在末尾加死":uuid"
  15 + FRIEND_APPLYLIST_KEY = "CATCAFE_FRIEND_APPLYLIST_KEY" //玩家申请好友列表,需要在末尾加死":uuid"
  16 + FRIEND_APPROVELIST_KEY = "CATCAFE_FRIEND_APPROVELIST_KEY" //待批准好友列表,需要在末尾加死":uuid"
  17 + FRIEND_RECOMMANDLIST_KEY = "CATCAFE_FRIEND_RECOMMANDLIST_KEY" //推荐好友缓存key
  18 + USER_ACCOUNT_PASSWORD_KEY = "CATCAFE_USER_ACCOUNT_PASSWORD_KEY" //玩家账号密码的key
  19 + USER_INVITEREWARD_FETCH_REWARD = "CATCAFE_USER_INVITEREWARD_FETCH_REWARD" //玩家邀请记录 hset key + uuid field为被邀请者的uuid value为领取状态
  20 + USER_BEINVITE_UUIDRELATION = "CATCAFE_USER_BEINVITE_UUIDRELATION" //玩家被邀请关系记录表
  21 + USER_INVITEWORK_RELATION = "CATCAFE_USER_INVITEWORK_RELATION" //玩家被邀请打工记录表
  22 + USER_BACKUP_DATA = "CATCAFE_USER_BACKUP_DATA" //玩家数据保存的备份
  23 + USER_NEW_DATA_KEY = "cat:cafe:data_new:where:data_uid:" //玩家数据保存的新的key
24 24
25 - USER_CHAT_ISNEW = "CATCAFE_USER_CHAT_ISNEW" //hset field为uuid 存在表示有新消息了不用再去计算 否则需要挨个去判断  
26 - WORLD_CHAT_INFO_KEY = "CATCAFE_WORLD_CHAT_INFO_KEY" //存储的是世界聊天 list结构 最新的消息在最头部  
27 - USER_CHAT_TEAM_LASTGET_KEY ="CATCAFE_USER_CHAT_TEAM_LASTGET_KEY" // 结构是hset field是uuid value是存储的是最后一次获取工会聊天的时间戳,用于和工会聊天最新一条消息做对比,如果时间比最新一条小则有新的消息  
28 - USER_CHAT_TEAM_INFO_KEY = "CATCAFE_USER_CHAT_TEAM_INFO_KEY" // 加teamid 存储的是队伍聊天的信息 list结构 最新的消息在最头部 25 + USER_CHAT_ISNEW = "CATCAFE_USER_CHAT_ISNEW" //hset field为uuid 存在表示有新消息了不用再去计算 否则需要挨个去判断
  26 + WORLD_CHAT_INFO_KEY = "CATCAFE_WORLD_CHAT_INFO_KEY" //存储的是世界聊天 list结构 最新的消息在最头部
  27 + USER_CHAT_TEAM_LASTGET_KEY = "CATCAFE_USER_CHAT_TEAM_LASTGET_KEY" // 结构是hset field是uuid value是存储的是最后一次获取工会聊天的时间戳,用于和工会聊天最新一条消息做对比,如果时间比最新一条小则有新的消息
  28 + USER_CHAT_TEAM_INFO_KEY = "CATCAFE_USER_CHAT_TEAM_INFO_KEY" // 加teamid 存储的是队伍聊天的信息 list结构 最新的消息在最头部
29 USER_CHAT_PRIVATE_LASTGET_KEY = "CATCAFE_USER_CHAT_PRIVATE_LASTGET_KEY" // hset key加自己的uuid field为目标的uuid value为时间戳 29 USER_CHAT_PRIVATE_LASTGET_KEY = "CATCAFE_USER_CHAT_PRIVATE_LASTGET_KEY" // hset key加自己的uuid field为目标的uuid value为时间戳
30 - USER_CHAT_PRIVATE_INFO_KEY = "CATCAFE_USER_CHAT_PRIVATE_INFO_KEY" //list key需要加上自己的uuid 存储的是和自己相关的所有聊天信息 30 + USER_CHAT_PRIVATE_INFO_KEY = "CATCAFE_USER_CHAT_PRIVATE_INFO_KEY" //list key需要加上自己的:uuid再加上目标:uuid 存储的是和自己相关的所有聊天信息
31 ) 31 )
src/mysql/dbmysql.go
@@ -169,6 +169,8 @@ func QueryAllData(f *os.File) error{ @@ -169,6 +169,8 @@ func QueryAllData(f *os.File) error{
169 } 169 }
170 170
171 171
  172 +
  173 +
172 func QueryInvite(uuid int) ([]QuerInviteDesc,error){ 174 func QueryInvite(uuid int) ([]QuerInviteDesc,error){
173 var rtslice []QuerInviteDesc 175 var rtslice []QuerInviteDesc
174 176