diff --git a/business/jxstore/event/event.go b/business/jxstore/event/event.go index 84a2ff381..86f5c44a5 100644 --- a/business/jxstore/event/event.go +++ b/business/jxstore/event/event.go @@ -654,22 +654,30 @@ func TransferMessageGroupMaster(ctx *jxcontext.Context, groupID int, userID stri func SendSysMessage(ctx *jxcontext.Context, imMessageRecord *model.ImMessageRecord) (err error) { var ( db = dao.GetDB() + userID = imMessageRecord.UserID groupID = imMessageRecord.GroupID ) if groupID != model.SysGroupID { return fmt.Errorf("只能给系统组发消息!") } - // user, err := dao.GetUserByID(db, "user_id", userID) - // if err != nil { - // return err - // } - // if user.Type != model.UserTypeBoss { - // return fmt.Errorf("抱歉只有系统管理员才能发系统消息!") - // } dao.WrapAddIDCULDEntity(imMessageRecord, ctx.GetUserName()) err = dao.CreateEntity(db, imMessageRecord) - //循环map客户端 - for _, client := range wsClient.Clients[groupID] { + if userID == "" { + //循环map客户端 + for _, client := range wsClient.Clients[groupID] { + globals.SugarLogger.Debugf("msg %v", utils.Format4Output(imMessageRecord, false)) + if imMessageRecord.CreatedAt == utils.ZeroTimeValue { + imMessageRecord.CreatedAt = time.Now() + } + err = client.WriteJSON(imMessageRecord) + if err != nil { + globals.SugarLogger.Debugf("client.WriteJSON error: %v", err) + client.Close() //关闭 + // delete(wsClient.Clients[msg.GroupID], userID) + } + } + } else { + client := wsClient.Clients[groupID][userID] globals.SugarLogger.Debugf("msg %v", utils.Format4Output(imMessageRecord, false)) if imMessageRecord.CreatedAt == utils.ZeroTimeValue { imMessageRecord.CreatedAt = time.Now()