From 26ece732ff4e35faf415dac27ec51d522c6105ff Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8B=8F=E5=B0=B9=E5=B2=9A?= <770236076@qq.com> Date: Fri, 4 Dec 2020 15:24:39 +0800 Subject: [PATCH] a --- controllers/event_controller.go | 36 ++++++++++++++++++--------------- 1 file changed, 20 insertions(+), 16 deletions(-) diff --git a/controllers/event_controller.go b/controllers/event_controller.go index 17b786196..62d9b403c 100644 --- a/controllers/event_controller.go +++ b/controllers/event_controller.go @@ -69,12 +69,14 @@ func (c *EventController) TestWebsocket() { userID = c.GetString("userID") clientUser = make(map[string]*websocket.Conn) ) + if userID == "" { + return + } //将当前客户端放入map中 messageGroups, _ := dao.GetUserMessageGroups(dao.GetDB(), userID) if len(messageGroups) == 0 { return } - fmt.Println("11111111111111111111111111111111111111111111111", userID) clientUser[userID] = ws clientsHeart[userID] = ws for _, v := range messageGroups { @@ -114,23 +116,25 @@ func (c *EventController) TestWebsocket() { } else { //接受消息 业务逻辑 broadcast <- s - //发聊天消息时,这个组所有的成员包括创建者都在userIDs里 - userIDs := []string{} - if results, err := dao.GetMessageGroups(db, "", s.GroupID, 0, true, ""); err == nil { - for _, v := range results { - userIDs = append(userIDs, v.UserID) - for _, vv := range v.MessageGroupMembers { - userIDs = append(userIDs, vv.UserID) + if s.GroupID != 0 { + //发聊天消息时,这个组所有的成员包括创建者都在userIDs里 + userIDs := []string{} + if results, err := dao.GetMessageGroups(db, "", s.GroupID, 0, true, ""); err == nil { + for _, v := range results { + userIDs = append(userIDs, v.UserID) + for _, vv := range v.MessageGroupMembers { + userIDs = append(userIDs, vv.UserID) + } } } - } - //如果这些人不在这个组的ws池子里就打上未读标记 - for _, v := range userIDs { - if clientsHeart[v] == nil { - messageGroupReads, _ := dao.GetMessageGroupRead(db, v, s.GroupID) - for _, vv := range messageGroupReads { - vv.UnReadCount++ - dao.UpdateEntity(db, vv, "UnReadCount") + //如果这些人不在这个组的ws池子里就打上未读标记 + for _, v := range userIDs { + if clientsHeart[v] == nil { + messageGroupReads, _ := dao.GetMessageGroupRead(db, v, s.GroupID) + for _, vv := range messageGroupReads { + vv.UnReadCount++ + dao.UpdateEntity(db, vv, "UnReadCount") + } } } }