a
This commit is contained in:
@@ -653,21 +653,38 @@ func TransferMessageGroupMaster(ctx *jxcontext.Context, groupID int, userID stri
|
|||||||
|
|
||||||
func SendSysMessage(ctx *jxcontext.Context, imMessageRecord *model.ImMessageRecord) (err error) {
|
func SendSysMessage(ctx *jxcontext.Context, imMessageRecord *model.ImMessageRecord) (err error) {
|
||||||
var (
|
var (
|
||||||
db = dao.GetDB()
|
db = dao.GetDB()
|
||||||
userID = imMessageRecord.UserID
|
userID = imMessageRecord.UserID
|
||||||
|
groupID = imMessageRecord.GroupID
|
||||||
)
|
)
|
||||||
if userID == "" {
|
if userID == "" {
|
||||||
return fmt.Errorf("系统用户不存在!")
|
return fmt.Errorf("系统用户不存在!")
|
||||||
}
|
}
|
||||||
user, err := dao.GetUserByID(db, "user_id", userID)
|
if groupID != model.SysGroupID {
|
||||||
if err != nil {
|
return fmt.Errorf("只能给系统组发消息!")
|
||||||
return err
|
|
||||||
}
|
|
||||||
if user.Type != model.UserTypeBoss {
|
|
||||||
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())
|
dao.WrapAddIDCULDEntity(imMessageRecord, ctx.GetUserName())
|
||||||
err = dao.CreateEntity(db, imMessageRecord)
|
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
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user