ass
This commit is contained in:
@@ -13,8 +13,8 @@ import (
|
||||
"gorm.io/gorm"
|
||||
)
|
||||
|
||||
func chatMessageDTO(m models.ChatMessage, staffName string) fiber.Map {
|
||||
return fiber.Map{
|
||||
func chatMessageDTO(m models.ChatMessage, staffName string) map[string]any {
|
||||
return map[string]any{
|
||||
"id": m.ID,
|
||||
"staffId": m.StaffID,
|
||||
"studentRkId": m.StudentRkID,
|
||||
|
||||
@@ -58,15 +58,15 @@ func (h *WsHub) PushChatToStudent(studentRkID int64, data map[string]any) {
|
||||
}
|
||||
|
||||
func (h *WsHub) PushChatToStaff(staffID uint, data map[string]any) {
|
||||
h.mu.RLock()
|
||||
addrs := append([]string(nil), h.teachersByStaff[staffID]...)
|
||||
h.mu.RUnlock()
|
||||
if data == nil {
|
||||
data = map[string]any{}
|
||||
}
|
||||
data["targetStaffId"] = staffID
|
||||
msg := SocketMsg{Event: "chat:message", Data: data}
|
||||
for _, addr := range addrs {
|
||||
h.mu.RLock()
|
||||
t, found := h.teachers[addr]
|
||||
h.mu.RUnlock()
|
||||
if found && t != nil {
|
||||
h.mu.RLock()
|
||||
defer h.mu.RUnlock()
|
||||
for _, t := range h.teachers {
|
||||
if t != nil && t.Role == "teacher" {
|
||||
_ = t.Conn.WriteJSON(msg)
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user