From 84de6377ebc7b0285cfa20fe2e2f0e20908ef09f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8B=8F=E5=B0=B9=E5=B2=9A?= <770236076@qq.com> Date: Wed, 30 Dec 2020 14:17:21 +0800 Subject: [PATCH] a --- business/jxstore/event/event.go | 33 +++++++++++++++++++++++++-------- 1 file changed, 25 insertions(+), 8 deletions(-) diff --git a/business/jxstore/event/event.go b/business/jxstore/event/event.go index 708adcd00..2eb36f95b 100644 --- a/business/jxstore/event/event.go +++ b/business/jxstore/event/event.go @@ -653,21 +653,38 @@ 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 + db = dao.GetDB() + userID = imMessageRecord.UserID + groupID = imMessageRecord.GroupID ) if userID == "" { return fmt.Errorf("系统用户不存在!") } - user, err := dao.GetUserByID(db, "user_id", userID) - if err != nil { - return err - } - if user.Type != model.UserTypeBoss { - return fmt.Errorf("抱歉只有系统管理员才能发系统消息!") + 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] { + 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) + } + } return err }