diff --git a/internal/push/logic/callback.go b/internal/push/logic/callback.go index f9722f3c2..746b9e122 100644 --- a/internal/push/logic/callback.go +++ b/internal/push/logic/callback.go @@ -96,6 +96,11 @@ func callbackOnlinePush(operationID string, userIDList []string, msg *commonPb.M return callbackResp } } + if resp.ErrCode == constant.CallbackHandleSuccess && resp.ActionCode == constant.ActionAllow { + if resp.OfflinePushInfo != nil { + msg.OfflinePushInfo = resp.OfflinePushInfo + } + } return callbackResp } @@ -133,8 +138,13 @@ func callbackBeforeSuperGroupOnlinePush(operationID string, groupID string, msg return callbackResp } } - if resp.ErrCode == constant.CallbackHandleSuccess && resp.ActionCode == constant.ActionAllow && len(resp.UserIDList) != 0 { - *pushToUserList = resp.UserIDList + if resp.ErrCode == constant.CallbackHandleSuccess && resp.ActionCode == constant.ActionAllow { + if len(resp.UserIDList) != 0 { + *pushToUserList = resp.UserIDList + } + if resp.OfflinePushInfo != nil { + msg.OfflinePushInfo = resp.OfflinePushInfo + } } log.NewDebug(operationID, utils.GetSelfFuncName(), pushToUserList, resp.UserIDList) return callbackResp diff --git a/pkg/call_back_struct/push.go b/pkg/call_back_struct/push.go index 3225d703d..1fa0fbff6 100644 --- a/pkg/call_back_struct/push.go +++ b/pkg/call_back_struct/push.go @@ -34,5 +34,6 @@ type CallbackBeforeSuperGroupOnlinePushReq struct { type CallbackBeforeSuperGroupOnlinePushResp struct { *CommonCallbackResp - UserIDList []string `json:"userIDList"` + UserIDList []string `json:"userIDList"` + OfflinePushInfo *commonPb.OfflinePushInfo `json:"offlinePushInfo"` }