mirror of
https://github.com/openimsdk/open-im-server.git
synced 2025-04-06 04:15:46 +08:00
ws and push update
This commit is contained in:
parent
1aacd3cb23
commit
0a260a67d5
@ -159,11 +159,16 @@ func (r *RPCServer) OnlineBatchPushOneMsg(_ context.Context, req *pbRelay.Online
|
||||
}
|
||||
for _, v := range req.PushToUserIDList {
|
||||
var resp []*pbRelay.SingleMsgToUserPlatform
|
||||
tempT := &pbRelay.SingelMsgToUserResultList{
|
||||
UserID: v,
|
||||
}
|
||||
userConnMap := ws.getUserAllCons(v)
|
||||
for platform, userConn := range userConnMap {
|
||||
if userConn != nil {
|
||||
resultCode := sendMsgBatchToUser(userConn, replyBytes.Bytes(), req, platform, v)
|
||||
if resultCode == 0 && utils.IsContainInt(platform, r.pushTerminal) { //仅仅记录推送成功的平台端
|
||||
if resultCode == 0 && utils.IsContainInt(platform, r.pushTerminal) {
|
||||
tempT.OnlinePush = true
|
||||
log.Info(req.OperationID, "PushSuperMsgToUser is success By Ws", "args", req.String(), "recvPlatForm", constant.PlatformIDToName(platform), "recvID", v)
|
||||
temp := &pbRelay.SingleMsgToUserPlatform{
|
||||
ResultCode: resultCode,
|
||||
RecvID: v,
|
||||
@ -174,31 +179,7 @@ func (r *RPCServer) OnlineBatchPushOneMsg(_ context.Context, req *pbRelay.Online
|
||||
|
||||
}
|
||||
}
|
||||
//for _, x := range r.platformList {
|
||||
// if conn := ws.getUserConn(v, x); conn != nil {
|
||||
// resultCode := sendMsgBatchToUser(conn, replyBytes.Bytes(), req, x, v)
|
||||
// temp := &pbRelay.SingleMsgToUserPlatform{
|
||||
// ResultCode: resultCode,
|
||||
// RecvID: v,
|
||||
// RecvPlatFormID: constant.PlatformNameToID(x),
|
||||
// }
|
||||
// resp = append(resp, temp)
|
||||
// } else {
|
||||
// if utils.IsContain(x,r.pushTerminal) {
|
||||
// temp := &pbRelay.SingleMsgToUserPlatform{
|
||||
// ResultCode: -1,
|
||||
// RecvID: v,
|
||||
// RecvPlatFormID: constant.PlatformNameToID(x),
|
||||
// }
|
||||
// resp = append(resp, temp)
|
||||
// }
|
||||
//
|
||||
// }
|
||||
//}
|
||||
tempT := &pbRelay.SingelMsgToUserResultList{
|
||||
UserID: v,
|
||||
Resp: resp,
|
||||
}
|
||||
tempT.Resp = resp
|
||||
singleUserResult = append(singleUserResult, tempT)
|
||||
|
||||
}
|
||||
|
@ -36,7 +36,7 @@ type AtContent struct {
|
||||
var grpcCons []*grpc.ClientConn
|
||||
|
||||
func MsgToUser(pushMsg *pbPush.PushMsgReq) {
|
||||
var wsResult []*pbRelay.SingleMsgToUserPlatform
|
||||
var wsResult []*pbRelay.SingelMsgToUserResultList
|
||||
isOfflinePush := utils.GetSwitchFromOptions(pushMsg.MsgData.Options, constant.IsOfflinePush)
|
||||
log.Debug(pushMsg.OperationID, "Get msg from msg_transfer And push msg", pushMsg.String())
|
||||
if len(grpcCons) == 0 {
|
||||
@ -47,90 +47,83 @@ func MsgToUser(pushMsg *pbPush.PushMsgReq) {
|
||||
log.Debug("test", pushMsg.OperationID, "len grpc", len(grpcCons), "data", pushMsg.String())
|
||||
for _, v := range grpcCons {
|
||||
msgClient := pbRelay.NewOnlineMessageRelayServiceClient(v)
|
||||
reply, err := msgClient.OnlinePushMsg(context.Background(), &pbRelay.OnlinePushMsgReq{OperationID: pushMsg.OperationID, MsgData: pushMsg.MsgData, PushToUserID: pushMsg.PushToUserID})
|
||||
reply, err := msgClient.OnlineBatchPushOneMsg(context.Background(), &pbRelay.OnlineBatchPushOneMsgReq{OperationID: pushMsg.OperationID, MsgData: pushMsg.MsgData, PushToUserIDList: []string{pushMsg.PushToUserID}})
|
||||
if err != nil {
|
||||
log.NewError("push data to client rpc err", pushMsg.OperationID, "err", err)
|
||||
continue
|
||||
}
|
||||
if reply != nil && reply.Resp != nil {
|
||||
wsResult = append(wsResult, reply.Resp...)
|
||||
if reply != nil && reply.SinglePushResult != nil {
|
||||
wsResult = append(wsResult, reply.SinglePushResult...)
|
||||
}
|
||||
}
|
||||
log.NewInfo(pushMsg.OperationID, "push_result", wsResult, "sendData", pushMsg.MsgData)
|
||||
successCount++
|
||||
if isOfflinePush && pushMsg.PushToUserID != pushMsg.MsgData.SendID {
|
||||
for _, v := range wsResult {
|
||||
if v.ResultCode == 0 {
|
||||
if utils.IsContainInt32(v.RecvPlatFormID, pushTerminal) {
|
||||
break
|
||||
}
|
||||
continue
|
||||
if v.OnlinePush {
|
||||
return
|
||||
}
|
||||
if utils.IsContainInt32(v.RecvPlatFormID, pushTerminal) {
|
||||
//Use offline push messaging
|
||||
var UIDList []string
|
||||
UIDList = append(UIDList, v.RecvID)
|
||||
customContent := OpenIMContent{
|
||||
SessionType: int(pushMsg.MsgData.SessionType),
|
||||
From: pushMsg.MsgData.SendID,
|
||||
To: pushMsg.MsgData.RecvID,
|
||||
Seq: pushMsg.MsgData.Seq,
|
||||
}
|
||||
bCustomContent, _ := json.Marshal(customContent)
|
||||
jsonCustomContent := string(bCustomContent)
|
||||
var content string
|
||||
if pushMsg.MsgData.OfflinePushInfo != nil {
|
||||
content = pushMsg.MsgData.OfflinePushInfo.Title
|
||||
}
|
||||
//Use offline push messaging
|
||||
var UIDList []string
|
||||
UIDList = append(UIDList, pushMsg.PushToUserID)
|
||||
customContent := OpenIMContent{
|
||||
SessionType: int(pushMsg.MsgData.SessionType),
|
||||
From: pushMsg.MsgData.SendID,
|
||||
To: pushMsg.MsgData.RecvID,
|
||||
Seq: pushMsg.MsgData.Seq,
|
||||
}
|
||||
bCustomContent, _ := json.Marshal(customContent)
|
||||
jsonCustomContent := string(bCustomContent)
|
||||
var content string
|
||||
if pushMsg.MsgData.OfflinePushInfo != nil {
|
||||
content = pushMsg.MsgData.OfflinePushInfo.Title
|
||||
|
||||
} else {
|
||||
switch pushMsg.MsgData.ContentType {
|
||||
case constant.Text:
|
||||
content = constant.ContentType2PushContent[constant.Text]
|
||||
case constant.Picture:
|
||||
content = constant.ContentType2PushContent[constant.Picture]
|
||||
case constant.Voice:
|
||||
content = constant.ContentType2PushContent[constant.Voice]
|
||||
case constant.Video:
|
||||
content = constant.ContentType2PushContent[constant.Video]
|
||||
case constant.File:
|
||||
content = constant.ContentType2PushContent[constant.File]
|
||||
case constant.AtText:
|
||||
a := AtContent{}
|
||||
_ = utils.JsonStringToStruct(string(pushMsg.MsgData.Content), &a)
|
||||
if utils.IsContain(pushMsg.PushToUserID, a.AtUserList) {
|
||||
content = constant.ContentType2PushContent[constant.AtText] + constant.ContentType2PushContent[constant.Common]
|
||||
} else {
|
||||
switch pushMsg.MsgData.ContentType {
|
||||
case constant.Text:
|
||||
content = constant.ContentType2PushContent[constant.Text]
|
||||
case constant.Picture:
|
||||
content = constant.ContentType2PushContent[constant.Picture]
|
||||
case constant.Voice:
|
||||
content = constant.ContentType2PushContent[constant.Voice]
|
||||
case constant.Video:
|
||||
content = constant.ContentType2PushContent[constant.Video]
|
||||
case constant.File:
|
||||
content = constant.ContentType2PushContent[constant.File]
|
||||
case constant.AtText:
|
||||
a := AtContent{}
|
||||
_ = utils.JsonStringToStruct(string(pushMsg.MsgData.Content), &a)
|
||||
if utils.IsContain(v.RecvID, a.AtUserList) {
|
||||
content = constant.ContentType2PushContent[constant.AtText] + constant.ContentType2PushContent[constant.Common]
|
||||
} else {
|
||||
content = constant.ContentType2PushContent[constant.GroupMsg]
|
||||
}
|
||||
default:
|
||||
content = constant.ContentType2PushContent[constant.Common]
|
||||
}
|
||||
content = constant.ContentType2PushContent[constant.GroupMsg]
|
||||
}
|
||||
callbackResp := callbackOfflinePush(pushMsg.OperationID, UIDList[0], pushMsg.MsgData.OfflinePushInfo, v.RecvPlatFormID)
|
||||
log.NewDebug(pushMsg.OperationID, utils.GetSelfFuncName(), "offline callback Resp")
|
||||
if callbackResp.ErrCode != 0 {
|
||||
log.NewError(pushMsg.OperationID, utils.GetSelfFuncName(), "callbackOfflinePush result: ", callbackResp)
|
||||
}
|
||||
if callbackResp.ActionCode != constant.ActionAllow {
|
||||
log.NewDebug(pushMsg.OperationID, utils.GetSelfFuncName(), "offlinePush stop")
|
||||
break
|
||||
}
|
||||
|
||||
if offlinePusher == nil {
|
||||
offlinePusher = jpush.JPushClient
|
||||
}
|
||||
pushResult, err := offlinePusher.Push(UIDList, content, jsonCustomContent, pushMsg.OperationID)
|
||||
if err != nil {
|
||||
log.NewError(pushMsg.OperationID, "offline push error", pushMsg.String(), err.Error())
|
||||
} else {
|
||||
log.NewDebug(pushMsg.OperationID, "offline push return result is ", pushResult, pushMsg.MsgData)
|
||||
}
|
||||
break
|
||||
default:
|
||||
content = constant.ContentType2PushContent[constant.Common]
|
||||
}
|
||||
|
||||
}
|
||||
callbackResp := callbackOfflinePush(pushMsg.OperationID, UIDList[0], pushMsg.MsgData.OfflinePushInfo, constant.AndroidPlatformID)
|
||||
log.NewDebug(pushMsg.OperationID, utils.GetSelfFuncName(), "offline callback Resp")
|
||||
if callbackResp.ErrCode != 0 {
|
||||
log.NewError(pushMsg.OperationID, utils.GetSelfFuncName(), "callbackOfflinePush result: ", callbackResp)
|
||||
}
|
||||
if callbackResp.ActionCode != constant.ActionAllow {
|
||||
log.NewDebug(pushMsg.OperationID, utils.GetSelfFuncName(), "offlinePush stop")
|
||||
return
|
||||
}
|
||||
if offlinePusher == nil {
|
||||
offlinePusher = jpush.JPushClient
|
||||
}
|
||||
pushResult, err := offlinePusher.Push(UIDList, content, jsonCustomContent, pushMsg.OperationID)
|
||||
if err != nil {
|
||||
log.NewError(pushMsg.OperationID, "offline push error", pushMsg.String(), err.Error())
|
||||
} else {
|
||||
log.NewDebug(pushMsg.OperationID, "offline push return result is ", pushResult, pushMsg.MsgData)
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
func MsgToSuperGroupUser(pushMsg *pbPush.PushMsgReq) {
|
||||
@ -155,7 +148,7 @@ func MsgToSuperGroupUser(pushMsg *pbPush.PushMsgReq) {
|
||||
// wsResult = append(wsResult, reply.SinglePushResult...)
|
||||
// }
|
||||
//}
|
||||
//log.NewInfo(pushMsg.OperationID, "push_result", wsResult, "sendData", pushMsg.MsgData)
|
||||
//log.Debug(pushMsg.OperationID, "push_result", wsResult, "sendData", pushMsg.MsgData)
|
||||
//successCount++
|
||||
//if isOfflinePush && pushMsg.PushToUserID != pushMsg.MsgData.SendID {
|
||||
// for _, v := range wsResult {
|
||||
|
@ -37,7 +37,7 @@ func (m *OnlinePushMsgReq) Reset() { *m = OnlinePushMsgReq{} }
|
||||
func (m *OnlinePushMsgReq) String() string { return proto.CompactTextString(m) }
|
||||
func (*OnlinePushMsgReq) ProtoMessage() {}
|
||||
func (*OnlinePushMsgReq) Descriptor() ([]byte, []int) {
|
||||
return fileDescriptor_relay_72b82cfd7861903a, []int{0}
|
||||
return fileDescriptor_relay_77ab6a9fe292f32a, []int{0}
|
||||
}
|
||||
func (m *OnlinePushMsgReq) XXX_Unmarshal(b []byte) error {
|
||||
return xxx_messageInfo_OnlinePushMsgReq.Unmarshal(m, b)
|
||||
@ -89,7 +89,7 @@ func (m *OnlinePushMsgResp) Reset() { *m = OnlinePushMsgResp{} }
|
||||
func (m *OnlinePushMsgResp) String() string { return proto.CompactTextString(m) }
|
||||
func (*OnlinePushMsgResp) ProtoMessage() {}
|
||||
func (*OnlinePushMsgResp) Descriptor() ([]byte, []int) {
|
||||
return fileDescriptor_relay_72b82cfd7861903a, []int{1}
|
||||
return fileDescriptor_relay_77ab6a9fe292f32a, []int{1}
|
||||
}
|
||||
func (m *OnlinePushMsgResp) XXX_Unmarshal(b []byte) error {
|
||||
return xxx_messageInfo_OnlinePushMsgResp.Unmarshal(m, b)
|
||||
@ -119,6 +119,7 @@ func (m *OnlinePushMsgResp) GetResp() []*SingleMsgToUserPlatform {
|
||||
type SingelMsgToUserResultList struct {
|
||||
UserID string `protobuf:"bytes,1,opt,name=userID" json:"userID,omitempty"`
|
||||
Resp []*SingleMsgToUserPlatform `protobuf:"bytes,2,rep,name=resp" json:"resp,omitempty"`
|
||||
OnlinePush bool `protobuf:"varint,3,opt,name=onlinePush" json:"onlinePush,omitempty"`
|
||||
XXX_NoUnkeyedLiteral struct{} `json:"-"`
|
||||
XXX_unrecognized []byte `json:"-"`
|
||||
XXX_sizecache int32 `json:"-"`
|
||||
@ -128,7 +129,7 @@ func (m *SingelMsgToUserResultList) Reset() { *m = SingelMsgToUserResult
|
||||
func (m *SingelMsgToUserResultList) String() string { return proto.CompactTextString(m) }
|
||||
func (*SingelMsgToUserResultList) ProtoMessage() {}
|
||||
func (*SingelMsgToUserResultList) Descriptor() ([]byte, []int) {
|
||||
return fileDescriptor_relay_72b82cfd7861903a, []int{2}
|
||||
return fileDescriptor_relay_77ab6a9fe292f32a, []int{2}
|
||||
}
|
||||
func (m *SingelMsgToUserResultList) XXX_Unmarshal(b []byte) error {
|
||||
return xxx_messageInfo_SingelMsgToUserResultList.Unmarshal(m, b)
|
||||
@ -162,6 +163,13 @@ func (m *SingelMsgToUserResultList) GetResp() []*SingleMsgToUserPlatform {
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *SingelMsgToUserResultList) GetOnlinePush() bool {
|
||||
if m != nil {
|
||||
return m.OnlinePush
|
||||
}
|
||||
return false
|
||||
}
|
||||
|
||||
type OnlineBatchPushOneMsgReq struct {
|
||||
OperationID string `protobuf:"bytes,1,opt,name=OperationID" json:"OperationID,omitempty"`
|
||||
MsgData *sdk_ws.MsgData `protobuf:"bytes,2,opt,name=msgData" json:"msgData,omitempty"`
|
||||
@ -175,7 +183,7 @@ func (m *OnlineBatchPushOneMsgReq) Reset() { *m = OnlineBatchPushOneMsgR
|
||||
func (m *OnlineBatchPushOneMsgReq) String() string { return proto.CompactTextString(m) }
|
||||
func (*OnlineBatchPushOneMsgReq) ProtoMessage() {}
|
||||
func (*OnlineBatchPushOneMsgReq) Descriptor() ([]byte, []int) {
|
||||
return fileDescriptor_relay_72b82cfd7861903a, []int{3}
|
||||
return fileDescriptor_relay_77ab6a9fe292f32a, []int{3}
|
||||
}
|
||||
func (m *OnlineBatchPushOneMsgReq) XXX_Unmarshal(b []byte) error {
|
||||
return xxx_messageInfo_OnlineBatchPushOneMsgReq.Unmarshal(m, b)
|
||||
@ -227,7 +235,7 @@ func (m *OnlineBatchPushOneMsgResp) Reset() { *m = OnlineBatchPushOneMsg
|
||||
func (m *OnlineBatchPushOneMsgResp) String() string { return proto.CompactTextString(m) }
|
||||
func (*OnlineBatchPushOneMsgResp) ProtoMessage() {}
|
||||
func (*OnlineBatchPushOneMsgResp) Descriptor() ([]byte, []int) {
|
||||
return fileDescriptor_relay_72b82cfd7861903a, []int{4}
|
||||
return fileDescriptor_relay_77ab6a9fe292f32a, []int{4}
|
||||
}
|
||||
func (m *OnlineBatchPushOneMsgResp) XXX_Unmarshal(b []byte) error {
|
||||
return xxx_messageInfo_OnlineBatchPushOneMsgResp.Unmarshal(m, b)
|
||||
@ -267,7 +275,7 @@ func (m *SingleMsgToUserPlatform) Reset() { *m = SingleMsgToUserPlatform
|
||||
func (m *SingleMsgToUserPlatform) String() string { return proto.CompactTextString(m) }
|
||||
func (*SingleMsgToUserPlatform) ProtoMessage() {}
|
||||
func (*SingleMsgToUserPlatform) Descriptor() ([]byte, []int) {
|
||||
return fileDescriptor_relay_72b82cfd7861903a, []int{5}
|
||||
return fileDescriptor_relay_77ab6a9fe292f32a, []int{5}
|
||||
}
|
||||
func (m *SingleMsgToUserPlatform) XXX_Unmarshal(b []byte) error {
|
||||
return xxx_messageInfo_SingleMsgToUserPlatform.Unmarshal(m, b)
|
||||
@ -321,7 +329,7 @@ func (m *GetUsersOnlineStatusReq) Reset() { *m = GetUsersOnlineStatusReq
|
||||
func (m *GetUsersOnlineStatusReq) String() string { return proto.CompactTextString(m) }
|
||||
func (*GetUsersOnlineStatusReq) ProtoMessage() {}
|
||||
func (*GetUsersOnlineStatusReq) Descriptor() ([]byte, []int) {
|
||||
return fileDescriptor_relay_72b82cfd7861903a, []int{6}
|
||||
return fileDescriptor_relay_77ab6a9fe292f32a, []int{6}
|
||||
}
|
||||
func (m *GetUsersOnlineStatusReq) XXX_Unmarshal(b []byte) error {
|
||||
return xxx_messageInfo_GetUsersOnlineStatusReq.Unmarshal(m, b)
|
||||
@ -376,7 +384,7 @@ func (m *GetUsersOnlineStatusResp) Reset() { *m = GetUsersOnlineStatusRe
|
||||
func (m *GetUsersOnlineStatusResp) String() string { return proto.CompactTextString(m) }
|
||||
func (*GetUsersOnlineStatusResp) ProtoMessage() {}
|
||||
func (*GetUsersOnlineStatusResp) Descriptor() ([]byte, []int) {
|
||||
return fileDescriptor_relay_72b82cfd7861903a, []int{7}
|
||||
return fileDescriptor_relay_77ab6a9fe292f32a, []int{7}
|
||||
}
|
||||
func (m *GetUsersOnlineStatusResp) XXX_Unmarshal(b []byte) error {
|
||||
return xxx_messageInfo_GetUsersOnlineStatusResp.Unmarshal(m, b)
|
||||
@ -438,7 +446,7 @@ func (m *GetUsersOnlineStatusResp_SuccessDetail) Reset() {
|
||||
func (m *GetUsersOnlineStatusResp_SuccessDetail) String() string { return proto.CompactTextString(m) }
|
||||
func (*GetUsersOnlineStatusResp_SuccessDetail) ProtoMessage() {}
|
||||
func (*GetUsersOnlineStatusResp_SuccessDetail) Descriptor() ([]byte, []int) {
|
||||
return fileDescriptor_relay_72b82cfd7861903a, []int{7, 0}
|
||||
return fileDescriptor_relay_77ab6a9fe292f32a, []int{7, 0}
|
||||
}
|
||||
func (m *GetUsersOnlineStatusResp_SuccessDetail) XXX_Unmarshal(b []byte) error {
|
||||
return xxx_messageInfo_GetUsersOnlineStatusResp_SuccessDetail.Unmarshal(m, b)
|
||||
@ -485,7 +493,7 @@ func (m *GetUsersOnlineStatusResp_FailedDetail) Reset() { *m = GetUsersO
|
||||
func (m *GetUsersOnlineStatusResp_FailedDetail) String() string { return proto.CompactTextString(m) }
|
||||
func (*GetUsersOnlineStatusResp_FailedDetail) ProtoMessage() {}
|
||||
func (*GetUsersOnlineStatusResp_FailedDetail) Descriptor() ([]byte, []int) {
|
||||
return fileDescriptor_relay_72b82cfd7861903a, []int{7, 1}
|
||||
return fileDescriptor_relay_77ab6a9fe292f32a, []int{7, 1}
|
||||
}
|
||||
func (m *GetUsersOnlineStatusResp_FailedDetail) XXX_Unmarshal(b []byte) error {
|
||||
return xxx_messageInfo_GetUsersOnlineStatusResp_FailedDetail.Unmarshal(m, b)
|
||||
@ -541,7 +549,7 @@ func (m *GetUsersOnlineStatusResp_SuccessResult) Reset() {
|
||||
func (m *GetUsersOnlineStatusResp_SuccessResult) String() string { return proto.CompactTextString(m) }
|
||||
func (*GetUsersOnlineStatusResp_SuccessResult) ProtoMessage() {}
|
||||
func (*GetUsersOnlineStatusResp_SuccessResult) Descriptor() ([]byte, []int) {
|
||||
return fileDescriptor_relay_72b82cfd7861903a, []int{7, 2}
|
||||
return fileDescriptor_relay_77ab6a9fe292f32a, []int{7, 2}
|
||||
}
|
||||
func (m *GetUsersOnlineStatusResp_SuccessResult) XXX_Unmarshal(b []byte) error {
|
||||
return xxx_messageInfo_GetUsersOnlineStatusResp_SuccessResult.Unmarshal(m, b)
|
||||
@ -734,49 +742,50 @@ var _OnlineMessageRelayService_serviceDesc = grpc.ServiceDesc{
|
||||
Metadata: "relay/relay.proto",
|
||||
}
|
||||
|
||||
func init() { proto.RegisterFile("relay/relay.proto", fileDescriptor_relay_72b82cfd7861903a) }
|
||||
func init() { proto.RegisterFile("relay/relay.proto", fileDescriptor_relay_77ab6a9fe292f32a) }
|
||||
|
||||
var fileDescriptor_relay_72b82cfd7861903a = []byte{
|
||||
// 656 bytes of a gzipped FileDescriptorProto
|
||||
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xb4, 0x55, 0x4f, 0x4f, 0xdb, 0x4e,
|
||||
0x10, 0x95, 0x31, 0x7f, 0x7e, 0x0c, 0xf0, 0x2b, 0xac, 0x68, 0x31, 0x3e, 0x04, 0xd7, 0x87, 0x2a,
|
||||
0xaa, 0xda, 0x44, 0x4a, 0x7b, 0xeb, 0x0d, 0x22, 0x50, 0x24, 0xa2, 0xa0, 0x4d, 0xab, 0x56, 0x5c,
|
||||
0xa2, 0x25, 0x59, 0x8c, 0x85, 0x13, 0x2f, 0x3b, 0x36, 0x88, 0x2f, 0xd1, 0x53, 0xcf, 0x3d, 0xf4,
|
||||
0x4b, 0xf4, 0xeb, 0x55, 0xfb, 0x27, 0xa9, 0x0d, 0x0e, 0x28, 0x87, 0x5e, 0xa2, 0xcc, 0xec, 0xec,
|
||||
0x9b, 0xf7, 0xde, 0xec, 0xae, 0x61, 0x47, 0xf2, 0x84, 0xdd, 0x37, 0xf5, 0x6f, 0x43, 0xc8, 0x34,
|
||||
0x4b, 0xc9, 0x8a, 0x0e, 0xfc, 0xd7, 0x3d, 0xc1, 0x27, 0x83, 0x4e, 0xb7, 0x29, 0xae, 0xa3, 0xa6,
|
||||
0x5e, 0x69, 0xe2, 0xe8, 0x7a, 0x70, 0x87, 0xcd, 0x3b, 0x34, 0x95, 0xe1, 0x77, 0x07, 0xb6, 0x7b,
|
||||
0x93, 0x24, 0x9e, 0xf0, 0xb3, 0x1c, 0xaf, 0xba, 0x18, 0x51, 0x7e, 0x43, 0x02, 0xd8, 0xe8, 0x09,
|
||||
0x2e, 0x59, 0x16, 0xa7, 0x93, 0x4e, 0xdb, 0x73, 0x02, 0xa7, 0xbe, 0x4e, 0x8b, 0x29, 0xf2, 0x11,
|
||||
0xd6, 0xc6, 0x18, 0xb5, 0x59, 0xc6, 0xbc, 0xa5, 0xc0, 0xa9, 0x6f, 0xb4, 0xfc, 0x06, 0x72, 0x79,
|
||||
0xcb, 0xe5, 0x80, 0x89, 0x78, 0x20, 0x98, 0x64, 0x63, 0x6c, 0x74, 0x4d, 0x05, 0x9d, 0x96, 0x92,
|
||||
0x10, 0x36, 0x45, 0x8e, 0x57, 0x9f, 0xd3, 0x2f, 0xc8, 0x65, 0xa7, 0xed, 0xb9, 0x1a, 0xb8, 0x94,
|
||||
0x0b, 0x4f, 0x60, 0xe7, 0x01, 0x1f, 0x14, 0xa4, 0x05, 0xcb, 0x92, 0xa3, 0xf0, 0x9c, 0xc0, 0xad,
|
||||
0x6f, 0xb4, 0x6a, 0x0d, 0xa3, 0xb5, 0x1f, 0x4f, 0xa2, 0x84, 0x77, 0x31, 0x32, 0x9b, 0xcf, 0x12,
|
||||
0x96, 0x5d, 0xa6, 0x72, 0x4c, 0x75, 0x6d, 0x18, 0xc1, 0xbe, 0x2a, 0xe0, 0xc9, 0xac, 0x80, 0x72,
|
||||
0xcc, 0x93, 0xec, 0x34, 0xc6, 0x8c, 0xbc, 0x82, 0xd5, 0xdc, 0x70, 0x30, 0xe2, 0x6c, 0x34, 0x6b,
|
||||
0xb4, 0xb4, 0x40, 0xa3, 0x9f, 0x0e, 0x78, 0x86, 0xf2, 0x21, 0xcb, 0x86, 0x57, 0x8a, 0x77, 0x6f,
|
||||
0xc2, 0xff, 0xb1, 0x95, 0x6f, 0x61, 0xbb, 0x68, 0x9b, 0x12, 0xe5, 0xb9, 0x81, 0x5b, 0x5f, 0xa7,
|
||||
0x8f, 0xf2, 0x61, 0x0c, 0xfb, 0x73, 0xf8, 0xa1, 0x20, 0xa7, 0xb0, 0x8d, 0x5a, 0x9e, 0xca, 0x1b,
|
||||
0x87, 0xac, 0xcd, 0x41, 0x41, 0x7d, 0xa5, 0x8b, 0xf4, 0xd1, 0xce, 0xf0, 0x1e, 0xf6, 0xe6, 0x98,
|
||||
0x45, 0x6a, 0x00, 0xa6, 0xe8, 0x28, 0x1d, 0x71, 0x6d, 0x84, 0x4b, 0x0b, 0x19, 0x35, 0x12, 0xca,
|
||||
0x87, 0xb7, 0x9d, 0xb6, 0xb6, 0x61, 0x9d, 0xda, 0x88, 0xbc, 0x81, 0xff, 0xd5, 0x3f, 0x85, 0x73,
|
||||
0x9c, 0xca, 0xb1, 0x3d, 0x36, 0x2b, 0xf4, 0x41, 0x36, 0xbc, 0x83, 0xbd, 0x13, 0x9e, 0xa9, 0x96,
|
||||
0x68, 0xd4, 0xf6, 0x33, 0x96, 0xe5, 0xa8, 0x86, 0x50, 0x03, 0xc8, 0xff, 0xda, 0xe4, 0x68, 0x9b,
|
||||
0x0a, 0x19, 0x35, 0xa4, 0xb4, 0x30, 0x24, 0xd3, 0xbf, 0x98, 0x22, 0x3e, 0xfc, 0x97, 0x8a, 0xd2,
|
||||
0xa9, 0x9d, 0xc5, 0xe1, 0xef, 0x65, 0xf0, 0xaa, 0x3b, 0xa3, 0x20, 0x1e, 0xac, 0x71, 0x29, 0x67,
|
||||
0x92, 0x57, 0xe8, 0x34, 0x54, 0x7a, 0xb9, 0x94, 0x5d, 0x8c, 0xa6, 0x7a, 0x4d, 0x44, 0xfa, 0xb0,
|
||||
0x85, 0xf9, 0x70, 0xc8, 0x11, 0xed, 0x34, 0x5c, 0x3d, 0x8d, 0xf7, 0x76, 0x1a, 0xf3, 0x3a, 0x35,
|
||||
0xfa, 0xc5, 0x4d, 0xb4, 0x8c, 0x41, 0xce, 0x60, 0xf3, 0x92, 0xc5, 0x09, 0x1f, 0x59, 0xcc, 0x65,
|
||||
0x8d, 0xf9, 0xee, 0x39, 0xcc, 0x63, 0xbd, 0xa7, 0xcd, 0x33, 0x16, 0x27, 0xb4, 0x84, 0xe0, 0x1f,
|
||||
0xc1, 0x96, 0xed, 0x68, 0x96, 0x95, 0x45, 0xc2, 0xce, 0xda, 0x1e, 0xf3, 0x59, 0xac, 0xb4, 0xa2,
|
||||
0x46, 0x9d, 0x6a, 0x35, 0x91, 0xff, 0x0d, 0x36, 0x8b, 0x2d, 0x0a, 0xd7, 0xd2, 0x2d, 0x5d, 0xcb,
|
||||
0x85, 0x5d, 0xf4, 0x7f, 0x39, 0x33, 0x7e, 0xd6, 0x82, 0x79, 0x57, 0x7e, 0x0e, 0x37, 0xc2, 0x60,
|
||||
0x77, 0xa4, 0x59, 0x4d, 0x4f, 0xb0, 0xf1, 0x65, 0xc1, 0x71, 0x58, 0xef, 0x2a, 0xa1, 0x5a, 0x3f,
|
||||
0x96, 0xa6, 0x37, 0xb3, 0xcb, 0x11, 0x59, 0xc4, 0xa9, 0xc2, 0xec, 0x73, 0x79, 0x1b, 0x0f, 0x39,
|
||||
0x39, 0x84, 0xad, 0xd2, 0x4b, 0x48, 0xf6, 0x6c, 0xcf, 0x87, 0xef, 0xb5, 0xef, 0x55, 0x2f, 0xa0,
|
||||
0x20, 0x5f, 0x61, 0xb7, 0x8a, 0x21, 0xa9, 0x3d, 0x49, 0xff, 0xc6, 0x3f, 0x78, 0x46, 0x1e, 0x39,
|
||||
0x87, 0x97, 0x95, 0x6f, 0x0a, 0x39, 0x28, 0x71, 0x79, 0xfc, 0x22, 0xfa, 0xc1, 0xd3, 0x05, 0x28,
|
||||
0x0e, 0x77, 0xce, 0x5f, 0x34, 0xcc, 0xe7, 0xec, 0x93, 0xb8, 0xd0, 0x96, 0x5c, 0xac, 0xea, 0xaf,
|
||||
0xd5, 0x87, 0x3f, 0x01, 0x00, 0x00, 0xff, 0xff, 0x04, 0x75, 0xfe, 0xf6, 0xec, 0x06, 0x00, 0x00,
|
||||
var fileDescriptor_relay_77ab6a9fe292f32a = []byte{
|
||||
// 668 bytes of a gzipped FileDescriptorProto
|
||||
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xb4, 0x55, 0x4f, 0x4f, 0xdb, 0x4a,
|
||||
0x10, 0x97, 0x31, 0x7f, 0x07, 0x78, 0x0f, 0x56, 0xbc, 0x87, 0xf1, 0x21, 0xb8, 0x3e, 0x54, 0x51,
|
||||
0xd5, 0x26, 0x52, 0xda, 0x5b, 0x6f, 0x10, 0x81, 0x22, 0x11, 0x05, 0x6d, 0x5a, 0xb5, 0xe2, 0x12,
|
||||
0x2d, 0xc9, 0x62, 0x2c, 0x9c, 0x78, 0xd9, 0xb1, 0x41, 0x7c, 0x82, 0xde, 0x7a, 0xea, 0xb9, 0x87,
|
||||
0x7e, 0x89, 0x7e, 0xbd, 0x6a, 0xff, 0xc4, 0xb5, 0x21, 0x81, 0x72, 0xe8, 0x25, 0xca, 0xcc, 0xce,
|
||||
0xce, 0xfc, 0xfe, 0xec, 0xae, 0x61, 0x5b, 0xf2, 0x84, 0xdd, 0x35, 0xf5, 0x6f, 0x43, 0xc8, 0x34,
|
||||
0x4b, 0xc9, 0x92, 0x0e, 0xfc, 0x17, 0x3d, 0xc1, 0x27, 0x83, 0x4e, 0xb7, 0x29, 0xae, 0xa2, 0xa6,
|
||||
0x5e, 0x69, 0xe2, 0xe8, 0x6a, 0x70, 0x8b, 0xcd, 0x5b, 0x34, 0x95, 0xe1, 0x57, 0x07, 0xb6, 0x7a,
|
||||
0x93, 0x24, 0x9e, 0xf0, 0xd3, 0x1c, 0x2f, 0xbb, 0x18, 0x51, 0x7e, 0x4d, 0x02, 0x58, 0xef, 0x09,
|
||||
0x2e, 0x59, 0x16, 0xa7, 0x93, 0x4e, 0xdb, 0x73, 0x02, 0xa7, 0xbe, 0x46, 0xcb, 0x29, 0xf2, 0x0e,
|
||||
0x56, 0xc6, 0x18, 0xb5, 0x59, 0xc6, 0xbc, 0x85, 0xc0, 0xa9, 0xaf, 0xb7, 0xfc, 0x06, 0x72, 0x79,
|
||||
0xc3, 0xe5, 0x80, 0x89, 0x78, 0x20, 0x98, 0x64, 0x63, 0x6c, 0x74, 0x4d, 0x05, 0x9d, 0x96, 0x92,
|
||||
0x10, 0x36, 0x44, 0x8e, 0x97, 0x1f, 0xd2, 0x8f, 0xc8, 0x65, 0xa7, 0xed, 0xb9, 0xba, 0x71, 0x25,
|
||||
0x17, 0x1e, 0xc3, 0xf6, 0x3d, 0x3c, 0x28, 0x48, 0x0b, 0x16, 0x25, 0x47, 0xe1, 0x39, 0x81, 0x5b,
|
||||
0x5f, 0x6f, 0xd5, 0x1a, 0x86, 0x6b, 0x3f, 0x9e, 0x44, 0x09, 0xef, 0x62, 0x64, 0x36, 0x9f, 0x26,
|
||||
0x2c, 0xbb, 0x48, 0xe5, 0x98, 0xea, 0xda, 0xf0, 0x8b, 0x03, 0x7b, 0xaa, 0x82, 0x27, 0x45, 0x05,
|
||||
0xe5, 0x98, 0x27, 0xd9, 0x49, 0x8c, 0x19, 0xf9, 0x1f, 0x96, 0x73, 0x03, 0xc2, 0xb0, 0xb3, 0x51,
|
||||
0x31, 0x69, 0xe1, 0xcf, 0x27, 0x91, 0x1a, 0x40, 0x5a, 0x40, 0xd6, 0xa4, 0x56, 0x69, 0x29, 0x13,
|
||||
0x7e, 0x77, 0xc0, 0x33, 0x9c, 0x0e, 0x58, 0x36, 0xbc, 0x54, 0xb9, 0xde, 0x84, 0xff, 0x65, 0xad,
|
||||
0x5f, 0xc1, 0x56, 0x59, 0x57, 0x45, 0xda, 0x73, 0x03, 0xb7, 0xbe, 0x46, 0x1f, 0xe4, 0xc3, 0x18,
|
||||
0xf6, 0xe6, 0xe0, 0x43, 0x41, 0x4e, 0x60, 0x0b, 0x35, 0x7d, 0x95, 0x37, 0x0a, 0x5a, 0x1f, 0x82,
|
||||
0x92, 0x3a, 0x33, 0x55, 0xa6, 0x0f, 0x76, 0x86, 0x77, 0xb0, 0x3b, 0x47, 0x4c, 0x25, 0xa3, 0x29,
|
||||
0x3a, 0x4c, 0x47, 0x5c, 0x0b, 0xe1, 0xd2, 0x52, 0x46, 0x59, 0x46, 0xf9, 0xf0, 0xa6, 0xd3, 0xd6,
|
||||
0x32, 0xac, 0x51, 0x1b, 0x91, 0x97, 0xf0, 0x8f, 0xfa, 0xa7, 0xfa, 0x1c, 0xa5, 0x72, 0x6c, 0xcf,
|
||||
0xd5, 0x12, 0xbd, 0x97, 0x0d, 0x6f, 0x61, 0xf7, 0x98, 0x67, 0x6a, 0x24, 0x1a, 0xb6, 0xfd, 0x8c,
|
||||
0x65, 0x39, 0x2a, 0x13, 0x6a, 0x00, 0xf9, 0x6f, 0x99, 0x1c, 0x2d, 0x53, 0x29, 0xa3, 0x4c, 0x4a,
|
||||
0x4b, 0x26, 0x99, 0xf9, 0xe5, 0x14, 0xf1, 0x61, 0x35, 0x15, 0x95, 0x63, 0x5d, 0xc4, 0xe1, 0xcf,
|
||||
0x45, 0xf0, 0x66, 0x4f, 0x46, 0x41, 0x3c, 0x58, 0xe1, 0x52, 0x16, 0x94, 0x97, 0xe8, 0x34, 0x54,
|
||||
0x7c, 0xb9, 0x94, 0x5d, 0x8c, 0xa6, 0x7c, 0x4d, 0x44, 0xfa, 0xb0, 0x89, 0xf9, 0x70, 0xc8, 0x11,
|
||||
0xad, 0x1b, 0xae, 0x76, 0xe3, 0x8d, 0x75, 0x63, 0xde, 0xa4, 0x46, 0xbf, 0xbc, 0x89, 0x56, 0x7b,
|
||||
0x90, 0x53, 0xd8, 0xb8, 0x60, 0x71, 0xc2, 0x47, 0xb6, 0xe7, 0xa2, 0xee, 0xf9, 0xfa, 0xa9, 0x9e,
|
||||
0x47, 0x7a, 0x4f, 0x9b, 0x67, 0x2c, 0x4e, 0x68, 0xa5, 0x83, 0x7f, 0x08, 0x9b, 0x76, 0xa2, 0x59,
|
||||
0x56, 0x12, 0x09, 0xeb, 0xb5, 0x3d, 0xe6, 0x45, 0xac, 0xb8, 0xa2, 0xee, 0x3a, 0xe5, 0x6a, 0x22,
|
||||
0xff, 0x33, 0x6c, 0x94, 0x47, 0x94, 0xae, 0xad, 0x5b, 0xb9, 0xb6, 0xcf, 0x56, 0xd1, 0xff, 0xe1,
|
||||
0x14, 0xf8, 0xac, 0x04, 0xf3, 0x9e, 0x84, 0x39, 0xd8, 0x08, 0x83, 0x9d, 0x91, 0x46, 0x35, 0x3d,
|
||||
0xc1, 0x46, 0x97, 0x67, 0xda, 0x61, 0xb5, 0x9b, 0xd9, 0xaa, 0xf5, 0x6d, 0x61, 0x7a, 0x33, 0xbb,
|
||||
0x1c, 0x91, 0x45, 0x9c, 0xaa, 0x9e, 0x7d, 0x2e, 0x6f, 0xe2, 0x21, 0x27, 0x07, 0xb0, 0x59, 0x79,
|
||||
0x2a, 0xc9, 0xae, 0x9d, 0x79, 0xff, 0x41, 0xf7, 0xbd, 0xd9, 0x0b, 0x28, 0xc8, 0x27, 0xd8, 0x99,
|
||||
0x85, 0x90, 0xd4, 0x1e, 0x85, 0x7f, 0xed, 0xef, 0x3f, 0x41, 0x8f, 0x9c, 0xc1, 0x7f, 0x33, 0xdf,
|
||||
0x14, 0xb2, 0x5f, 0xc1, 0xf2, 0xf0, 0x45, 0xf4, 0x83, 0xc7, 0x0b, 0x50, 0x1c, 0x6c, 0x9f, 0xfd,
|
||||
0xdb, 0x30, 0xdf, 0xbb, 0xf7, 0xe2, 0x5c, 0x4b, 0x72, 0xbe, 0xac, 0x3f, 0x67, 0x6f, 0x7f, 0x05,
|
||||
0x00, 0x00, 0xff, 0xff, 0x30, 0xa9, 0x4c, 0xde, 0x0d, 0x07, 0x00, 0x00,
|
||||
}
|
||||
|
@ -14,6 +14,7 @@ repeated SingleMsgToUserPlatform resp = 1;
|
||||
message SingelMsgToUserResultList{
|
||||
string userID =1;
|
||||
repeated SingleMsgToUserPlatform resp = 2;
|
||||
bool onlinePush = 3;
|
||||
|
||||
}
|
||||
message OnlineBatchPushOneMsgReq{
|
||||
|
Loading…
x
Reference in New Issue
Block a user