Commit c7ebd49dc62d1123ec474f1c9a3edb8558612c1a
1 parent
ded79c55
Exists in
master
提交新街口
Showing
4 changed files
with
112 additions
and
0 deletions
Show diff stats
src/HttpServer/logic/datadef.go
@@ -724,3 +724,29 @@ type UserData struct { | @@ -724,3 +724,29 @@ type UserData struct { | ||
724 | LoginDay int | 724 | LoginDay int |
725 | } | 725 | } |
726 | 726 | ||
727 | +//--------------------------------------------------------------------------------------------------------------------- | ||
728 | +//聊天相关 | ||
729 | +type ChatInfoDesc struct { | ||
730 | + Uuid int `json:"uuid"` | ||
731 | + Headurl string `json:"headurl"` | ||
732 | + Nickname string `json:"nickname"` | ||
733 | + Sex int `json:"sex"` //1男0女 | ||
734 | + ChatTime int `json:"chattime"` | ||
735 | + Message string `json:"message"` | ||
736 | + | ||
737 | +} | ||
738 | + | ||
739 | +//聊天单个页签信息 | ||
740 | +type ChatRoomInfo struct { | ||
741 | + Chats []ChatInfoDesc `json:"chats"` | ||
742 | + Pos int `json:"pos"` | ||
743 | + Isnew int `json:"isnew"` //是否有新聊天 | ||
744 | +} | ||
745 | + | ||
746 | +type ChatRoomInfos []ChatRoomInfo | ||
747 | + | ||
748 | +type ChatMessagesInfo struct { | ||
749 | + World ChatRoomInfo `json:"world"` | ||
750 | + Team ChatRoomInfo `json:"team"` | ||
751 | + Private ChatRoomInfos `json:"privete"` | ||
752 | +} | ||
727 | \ No newline at end of file | 753 | \ No newline at end of file |
src/HttpServer/logic/httpserver.go
@@ -51,6 +51,7 @@ func startServerHttpServe() { | @@ -51,6 +51,7 @@ func startServerHttpServe() { | ||
51 | //------------------------------------------------------------- | 51 | //------------------------------------------------------------- |
52 | http.HandleFunc("/catcafe/ClearData", ClearData) //情况账号的测试接口 | 52 | http.HandleFunc("/catcafe/ClearData", ClearData) //情况账号的测试接口 |
53 | http.HandleFunc("/catcafe/AddWhiteList", AddWhiteList) //情况账号的测试接口 | 53 | http.HandleFunc("/catcafe/AddWhiteList", AddWhiteList) //情况账号的测试接口 |
54 | + http.HandleFunc("/catcafe/AddGoldAndLove", AddGoldAndLove) //情况账号的测试接口 | ||
54 | http.HandleFunc("/catcafe/QueryAllAccount", QueryAllAccount) //查询所有账号的等级信息等数据 | 55 | http.HandleFunc("/catcafe/QueryAllAccount", QueryAllAccount) //查询所有账号的等级信息等数据 |
55 | //------------------------------------------------------------- | 56 | //------------------------------------------------------------- |
56 | http.HandleFunc("/catcafe/login", UserLogin) //游客登录 | 57 | http.HandleFunc("/catcafe/login", UserLogin) //游客登录 |
@@ -183,6 +184,65 @@ func QueryAllAccount(w http.ResponseWriter, r *http.Request) { | @@ -183,6 +184,65 @@ func QueryAllAccount(w http.ResponseWriter, r *http.Request) { | ||
183 | } | 184 | } |
184 | 185 | ||
185 | 186 | ||
187 | +func AddGoldAndLove(w http.ResponseWriter, r *http.Request) { | ||
188 | + | ||
189 | + query := r.URL.Query() | ||
190 | + suuid := query.Get("uuid") | ||
191 | + sgold := query.Get("gold") | ||
192 | + slove := query.Get("love") | ||
193 | + uuid,_ := strconv.Atoi(suuid) | ||
194 | + gold,_ := strconv.Atoi(sgold) | ||
195 | + love,_ := strconv.Atoi(slove) | ||
196 | + logger.Info("ClearData , uuid:%v,gold:%v,love:%v", suuid,sgold,slove) | ||
197 | + if suuid == "" { | ||
198 | + fmt.Fprint(w, "uuid is nil,please check") | ||
199 | + return | ||
200 | + } | ||
201 | + var wilteist []int | ||
202 | + rkey := "CATCAFE_REDIS_CAN_RESETDATA_LIST" | ||
203 | + vv,err := redishandler.GetRedisClient().HGetAllKeys(rkey) | ||
204 | + if err != nil { | ||
205 | + fmt.Fprint(w,"获取白名单失败!,请检查") | ||
206 | + } | ||
207 | + | ||
208 | + for _,val := range vv { | ||
209 | + bytestr := string(val.([]byte)) | ||
210 | + bytenum,_ := strconv.Atoi(bytestr) | ||
211 | + wilteist = append(wilteist,bytenum) | ||
212 | + | ||
213 | + } | ||
214 | + logger.Info("AddGoldAndLove white list wilteist=%v",wilteist) | ||
215 | + isinwhitelist := false | ||
216 | + for _,val := range wilteist { | ||
217 | + if val == uuid { | ||
218 | + isinwhitelist = true | ||
219 | + break | ||
220 | + } | ||
221 | + } | ||
222 | + | ||
223 | + if !isinwhitelist { | ||
224 | + //不在白名单 | ||
225 | + fmt.Fprint(w, "你要加金币的数据不在白名单内,请联系管理员") | ||
226 | + return | ||
227 | + } | ||
228 | + | ||
229 | + //加金币 | ||
230 | + err = mysql.DoAddGold(uuid,gold,love) | ||
231 | + if err != nil { | ||
232 | + fmt.Fprint(w, "加金币失败了,错误码%v",err) | ||
233 | + } | ||
234 | + | ||
235 | + //清楚redis | ||
236 | + rediskey1 := "cat:cafe:userext:where:user_id:" + suuid | ||
237 | + err = redishandler.GetRedisClient().Delete(rediskey1) | ||
238 | + if err != nil { | ||
239 | + fmt.Fprint(w, "加金币失败了,错误码%v",err) | ||
240 | + } | ||
241 | + | ||
242 | + //将id从白名单删除 | ||
243 | + redishandler.GetRedisClient().HDel(rkey,suuid) | ||
244 | +} | ||
245 | + | ||
186 | func AddWhiteList(w http.ResponseWriter, r *http.Request) { | 246 | func AddWhiteList(w http.ResponseWriter, r *http.Request) { |
187 | 247 | ||
188 | query := r.URL.Query() | 248 | query := r.URL.Query() |
src/common/redis/def.go
@@ -21,4 +21,11 @@ const ( | @@ -21,4 +21,11 @@ const ( | ||
21 | USER_INVITEWORK_RELATION = "CATCAFE_USER_INVITEWORK_RELATION" //玩家被邀请打工记录表 | 21 | USER_INVITEWORK_RELATION = "CATCAFE_USER_INVITEWORK_RELATION" //玩家被邀请打工记录表 |
22 | USER_BACKUP_DATA = "CATCAFE_USER_BACKUP_DATA" //玩家数据保存的备份 | 22 | USER_BACKUP_DATA = "CATCAFE_USER_BACKUP_DATA" //玩家数据保存的备份 |
23 | USER_NEW_DATA_KEY = "cat:cafe:data_new:where:data_uid:" //玩家数据保存的新的key | 23 | USER_NEW_DATA_KEY = "cat:cafe:data_new:where:data_uid:" //玩家数据保存的新的key |
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结构 最新的消息在最头部 | ||
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 存储的是和自己相关的所有聊天信息 | ||
24 | ) | 31 | ) |
src/mysql/dbmysql.go
@@ -83,6 +83,25 @@ func TestClearData(uid int) (int,error) { | @@ -83,6 +83,25 @@ func TestClearData(uid int) (int,error) { | ||
83 | return value,nil | 83 | return value,nil |
84 | } | 84 | } |
85 | 85 | ||
86 | +func DoAddGold(uuid,gold,love int) error { | ||
87 | + for i:=0;i<10;i++ { | ||
88 | + tablename := "b_base_data_0" + strconv.Itoa(i) | ||
89 | + cmd := "update " + tablename + "set coin = " + strconv.Itoa(gold) + " where user_id= " + strconv.Itoa(uuid) | ||
90 | + err := ExcuteCmd(cmd) | ||
91 | + if err != nil { | ||
92 | + logger.Error("DoAddGold err=%v,cmd=%v",err,cmd) | ||
93 | + return err | ||
94 | + } | ||
95 | + cmd = "update " + tablename + "set love_exp = " + strconv.Itoa(love) + " where user_id= " + strconv.Itoa(uuid) | ||
96 | + err = ExcuteCmd(cmd) | ||
97 | + if err != nil { | ||
98 | + logger.Error("DoAddGold err=%v,cmd=%v",err,cmd) | ||
99 | + return err | ||
100 | + } | ||
101 | + } | ||
102 | + return nil | ||
103 | +} | ||
104 | + | ||
86 | func DoClearData(uuid int) error{ | 105 | func DoClearData(uuid int) error{ |
87 | //先删除十张分表的数据 | 106 | //先删除十张分表的数据 |
88 | for i:=0;i<10;i++ { | 107 | for i:=0;i<10;i++ { |