Files
open-im-server/internal/msg_gateway/gate/callback.go
T

87 lines
3.5 KiB
Go
Raw Normal View History

2022-05-26 18:02:00 +08:00
package gate
import (
cbApi "Open_IM/pkg/call_back_struct"
"Open_IM/pkg/common/config"
"Open_IM/pkg/common/constant"
"Open_IM/pkg/common/http"
http2 "net/http"
2022-05-27 19:33:47 +08:00
"time"
2022-05-26 18:02:00 +08:00
)
2022-06-02 16:44:55 +08:00
func callbackUserOnline(operationID, userID string, platformID int, token string) cbApi.CommonCallbackResp {
2022-05-26 18:02:00 +08:00
callbackResp := cbApi.CommonCallbackResp{OperationID: operationID}
if !config.Config.Callback.CallbackUserOnline.Enable {
return callbackResp
}
callbackUserOnlineReq := cbApi.CallbackUserOnlineReq{
Token: token,
UserStatusCallbackReq: cbApi.UserStatusCallbackReq{
2022-07-29 15:09:00 +08:00
UserStatusBaseCallback: cbApi.UserStatusBaseCallback{
CallbackCommand: constant.CallbackUserOnlineCommand,
OperationID: operationID,
PlatformID: int32(platformID),
Platform: constant.PlatformIDToName(platformID),
},
UserID: userID,
2022-05-27 19:33:47 +08:00
},
2022-07-01 12:14:15 +08:00
Seq: int(time.Now().UnixNano() / 1e6),
2022-05-27 19:33:47 +08:00
}
2022-11-08 17:10:27 +08:00
callbackUserOnlineResp := &cbApi.CallbackUserOnlineResp{CommonCallbackResp: &callbackResp}
2022-10-20 12:01:06 +08:00
if err := http.CallBackPostReturn(config.Config.Callback.CallbackUrl, constant.CallbackUserOnlineCommand, callbackUserOnlineReq, callbackUserOnlineResp, config.Config.Callback.CallbackUserOnline.CallbackTimeOut); err != nil {
2022-05-26 18:02:00 +08:00
callbackResp.ErrCode = http2.StatusInternalServerError
callbackResp.ErrMsg = err.Error()
}
return callbackResp
}
2022-06-02 16:44:55 +08:00
func callbackUserOffline(operationID, userID string, platformID int) cbApi.CommonCallbackResp {
2022-05-26 18:02:00 +08:00
callbackResp := cbApi.CommonCallbackResp{OperationID: operationID}
if !config.Config.Callback.CallbackUserOffline.Enable {
return callbackResp
}
2022-05-27 19:33:47 +08:00
callbackOfflineReq := cbApi.CallbackUserOfflineReq{
UserStatusCallbackReq: cbApi.UserStatusCallbackReq{
2022-07-29 15:09:00 +08:00
UserStatusBaseCallback: cbApi.UserStatusBaseCallback{
2022-07-29 15:28:23 +08:00
CallbackCommand: constant.CallbackUserOfflineCommand,
2022-07-29 15:09:00 +08:00
OperationID: operationID,
PlatformID: int32(platformID),
Platform: constant.PlatformIDToName(platformID),
},
UserID: userID,
2022-05-27 19:33:47 +08:00
},
2022-07-01 12:14:15 +08:00
Seq: int(time.Now().UnixNano() / 1e6),
2022-05-27 19:33:47 +08:00
}
2022-11-08 17:10:27 +08:00
callbackUserOfflineResp := &cbApi.CallbackUserOfflineResp{CommonCallbackResp: &callbackResp}
2022-10-20 12:01:06 +08:00
if err := http.CallBackPostReturn(config.Config.Callback.CallbackUrl, constant.CallbackUserOfflineCommand, callbackOfflineReq, callbackUserOfflineResp, config.Config.Callback.CallbackUserOffline.CallbackTimeOut); err != nil {
2022-05-26 18:02:00 +08:00
callbackResp.ErrCode = http2.StatusInternalServerError
callbackResp.ErrMsg = err.Error()
}
return callbackResp
}
2022-08-11 15:55:33 +08:00
func callbackUserKickOff(operationID string, userID string, platformID int) cbApi.CommonCallbackResp {
callbackResp := cbApi.CommonCallbackResp{OperationID: operationID}
if !config.Config.Callback.CallbackUserKickOff.Enable {
return callbackResp
}
callbackUserKickOffReq := cbApi.CallbackUserKickOffReq{
UserStatusCallbackReq: cbApi.UserStatusCallbackReq{
UserStatusBaseCallback: cbApi.UserStatusBaseCallback{
CallbackCommand: constant.CallbackUserKickOffCommand,
OperationID: operationID,
PlatformID: int32(platformID),
Platform: constant.PlatformIDToName(platformID),
},
UserID: userID,
},
Seq: int(time.Now().UnixNano() / 1e6),
}
2022-11-08 17:10:27 +08:00
callbackUserKickOffResp := &cbApi.CallbackUserKickOffResp{CommonCallbackResp: &callbackResp}
2022-10-20 12:01:06 +08:00
if err := http.CallBackPostReturn(config.Config.Callback.CallbackUrl, constant.CallbackUserKickOffCommand, callbackUserKickOffReq, callbackUserKickOffResp, config.Config.Callback.CallbackUserOffline.CallbackTimeOut); err != nil {
2022-08-11 15:55:33 +08:00
callbackResp.ErrCode = http2.StatusInternalServerError
callbackResp.ErrMsg = err.Error()
}
return callbackResp
}