房间号相关修复,视频’音频时长修复
This commit is contained in:
@@ -686,6 +686,7 @@ func (c *WebSocketController) SendMessageHandler(ctx *gin.Context) {
|
||||
|
||||
clientMsg := models.ClientReceivedMessage{
|
||||
SenderID: "system",
|
||||
RoomID: payload.RoomId,
|
||||
ReceiverID: payload.TargetClientID,
|
||||
SenderUserID: payload.SenderUserID,
|
||||
ReceiverUserID: payload.ReceiverUserID,
|
||||
@@ -784,25 +785,33 @@ func (c *WebSocketController) SendToUserHandler(ctx *gin.Context) {
|
||||
RoomId: payload.RoomId,
|
||||
SenderUserID: payload.SenderUserID,
|
||||
ReceiverUserID: payload.ReceiverUserID,
|
||||
Duration: payload.Duration,
|
||||
MessageType: payload.MessageType,
|
||||
MessageContent: payload.MessageContent,
|
||||
CallID: payload.CallID,
|
||||
CallStatus: payload.CallStatus,
|
||||
}
|
||||
|
||||
var savedID = 0
|
||||
|
||||
// 保存到数据库
|
||||
if err := c.DB.Create(&chatMsg).Error; err != nil {
|
||||
log.Printf("❌ 保存消息到数据库失败: %v", err)
|
||||
} else {
|
||||
// 获取消息id
|
||||
log.Printf("💾 消息保存到数据库成功: ID=%d", chatMsg.ID)
|
||||
savedID = int(chatMsg.ID)
|
||||
}
|
||||
|
||||
// 创建基础消息结构
|
||||
clientMsg := models.ClientReceivedMessage{
|
||||
SenderID: "system",
|
||||
ReceiverID: "",
|
||||
ID: savedID,
|
||||
RoomID: payload.RoomId,
|
||||
SenderUserID: payload.SenderUserID,
|
||||
ReceiverUserID: payload.ReceiverUserID,
|
||||
Duration: payload.Duration,
|
||||
MessageType: payload.MessageType,
|
||||
Content: payload.MessageContent,
|
||||
SendTime: time.Now().Format(time.RFC3339),
|
||||
@@ -1026,29 +1035,29 @@ func (c *WebSocketController) sendMessageToUser(userID string, message models.Cl
|
||||
|
||||
if len(clientIDs) == 0 {
|
||||
log.Printf("⚠️ 用户无在线客户端: UserID=%s", userID)
|
||||
return fmt.Errorf("用户 %s 无在线客户端", userID)
|
||||
}
|
||||
//return fmt.Errorf("用户 %s 无在线客户端", userID)
|
||||
} else {
|
||||
log.Printf("📤📤📤📤📤📤📤📤 发送消息给用户: \n UserID=%s \n ClientCount=%d \n MsgType=%d",
|
||||
userID, len(clientIDs), message.MessageType)
|
||||
|
||||
log.Printf("📤📤📤📤📤📤📤📤 发送消息给用户: \n UserID=%s \n ClientCount=%d \n MsgType=%d",
|
||||
userID, len(clientIDs), message.MessageType)
|
||||
var lastErr error
|
||||
successCount := 0
|
||||
|
||||
var lastErr error
|
||||
successCount := 0
|
||||
|
||||
for _, clientID := range clientIDs {
|
||||
if err := c.sendMessageToClient(clientID, message); err != nil {
|
||||
log.Printf("⚠️ 发送到客户端失败: %v | ClientID=%s", err, clientID)
|
||||
lastErr = err
|
||||
} else {
|
||||
successCount++
|
||||
for _, clientID := range clientIDs {
|
||||
if err := c.sendMessageToClient(clientID, message); err != nil {
|
||||
log.Printf("⚠️ 发送到客户端失败: %v | ClientID=%s", err, clientID)
|
||||
lastErr = err
|
||||
} else {
|
||||
successCount++
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if successCount == 0 {
|
||||
return fmt.Errorf("所有客户端发送失败,最后错误: %v", lastErr)
|
||||
}
|
||||
if successCount == 0 {
|
||||
return fmt.Errorf("所有客户端发送失败,最后错误: %v", lastErr)
|
||||
}
|
||||
|
||||
log.Printf("✅ 用户消息发送完成: \n UserID=%s \n 成功=%d/%d", userID, successCount, len(clientIDs))
|
||||
log.Printf("✅ 用户消息发送完成: \n UserID=%s \n 成功=%d/%d", userID, successCount, len(clientIDs))
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user