聊天?
This commit is contained in:
@@ -230,3 +230,22 @@ func GetMessageGroupMembers(db *DaoDB, groupID int, memberUserID string) (messag
|
||||
err = GetRows(db, &messageGroupMembers, sql, sqlParams)
|
||||
return messageGroupMembers, err
|
||||
}
|
||||
|
||||
//得到某个用户所在所有群组
|
||||
func GetUserMessageGroups(db *DaoDB, userID string) (messageGroup []*model.MessageGroup, err error) {
|
||||
sql := `
|
||||
SELECT group_id
|
||||
FROM message_group
|
||||
WHERE deleted_at = ? AND user_id = ?
|
||||
UNION
|
||||
SELECT group_id
|
||||
FROM message_group_member
|
||||
WHERE deleted_at = ? AND user_id = ?
|
||||
`
|
||||
sqlParams := []interface{}{
|
||||
utils.DefaultTimeValue, userID,
|
||||
utils.DefaultTimeValue, userID,
|
||||
}
|
||||
err = GetRows(db, &messageGroup, sql, sqlParams)
|
||||
return messageGroup, err
|
||||
}
|
||||
|
||||
@@ -86,12 +86,15 @@ func (c *EventController) TestWebsocket() {
|
||||
}
|
||||
defer ws.Close()
|
||||
var (
|
||||
// userID = c.GetString("userID")
|
||||
userID = c.GetString("userID")
|
||||
msgMap = make(map[int]*model.ImMessageRecord)
|
||||
groupID int
|
||||
)
|
||||
//将当前客户端放入map中
|
||||
// clients[vendorOrderID] = append(clients[vendorOrderID], ws)
|
||||
messageGroups, _ := dao.GetUserMessageGroups(dao.GetDB(), userID)
|
||||
for _, v := range messageGroups {
|
||||
clients[v.GroupID] = append(clients[v.GroupID], ws)
|
||||
}
|
||||
|
||||
db := dao.GetDB()
|
||||
if globals.IsProductEnv() {
|
||||
@@ -111,7 +114,6 @@ func (c *EventController) TestWebsocket() {
|
||||
for {
|
||||
//接收客户端的消息
|
||||
err := ws.ReadJSON(&s)
|
||||
clients[s.GroupID] = append(clients[s.GroupID], ws)
|
||||
if err != nil {
|
||||
globals.SugarLogger.Debugf("页面可能断开啦 ws.ReadJSON error: %v", err.Error())
|
||||
index := 0
|
||||
@@ -130,9 +132,10 @@ func (c *EventController) TestWebsocket() {
|
||||
//接受消息 业务逻辑
|
||||
msgMap[s.GroupID] = s
|
||||
broadcast <- msgMap
|
||||
dao.WrapAddIDCULDEntity(s, "")
|
||||
dao.CreateEntity(db, s)
|
||||
// fmt.Println("接受到从页面上反馈回来的信息 ", utils.Format4Output(s, false))
|
||||
go func() {
|
||||
dao.WrapAddIDCULDEntity(s, "")
|
||||
dao.CreateEntity(db, s)
|
||||
}()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user