notification

This commit is contained in:
wangchuxiao 2023-05-10 17:48:26 +08:00
parent c3b16aa678
commit e05d617893
3 changed files with 9 additions and 7 deletions

View File

@ -116,12 +116,14 @@ func (och *OnlineHistoryRedisConsumerHandler) getPushStorageMsgList(conversation
}
for _, v := range totalMsgs {
options := utils.Options(v.message.Options)
if options.IsNotification() {
if !options.IsNotNotification() {
// 原通知
notificationMsg := proto.Clone(v.message).(*sdkws.MsgData)
if options.IsSendMsg() {
// 消息
v.message.Options = utils.WithOptions(utils.Options(v.message.Options), utils.WithNotification(false), utils.WithSendMsg(false))
if v.message.Options != nil {
v.message.Options = utils.WithOptions(utils.Options(v.message.Options), utils.WithNotification(false), utils.WithSendMsg(false))
}
storageMsgList = append(storageMsgList, v.message)
}
if isStorage(notificationMsg) {

View File

@ -112,7 +112,7 @@ func (o Options) Is(notification string) bool {
return false
}
func (o Options) IsNotification() bool {
func (o Options) IsNotNotification() bool {
return o.Is(constant.IsNotification)
}

View File

@ -176,22 +176,22 @@ func GetConversationIDByMsg(msg *sdkws.MsgData) string {
case constant.SingleChatType:
l := []string{msg.SendID, msg.RecvID}
sort.Strings(l)
if options.IsNotification() {
if !options.IsNotNotification() {
return "n_" + strings.Join(l, "_")
}
return "si_" + strings.Join(l, "_") // single chat
case constant.GroupChatType:
if options.IsNotification() {
if !options.IsNotNotification() {
return "n_" + msg.GroupID // group chat
}
return "g_" + msg.GroupID // group chat
case constant.SuperGroupChatType:
if options.IsNotification() {
if !options.IsNotNotification() {
return "n_" + msg.GroupID // super group chat
}
return "sg_" + msg.GroupID // super group chat
case constant.NotificationChatType:
if options.IsNotification() {
if !options.IsNotNotification() {
return "n_" + msg.SendID + "_" + msg.RecvID // super group chat
}
return "sn_" + msg.SendID + "_" + msg.RecvID // server notification chat