diff --git a/internal/api/manage/management_chat.go b/internal/api/manage/management_chat.go index 7a1876c83..98d4ac98b 100644 --- a/internal/api/manage/management_chat.go +++ b/internal/api/manage/management_chat.go @@ -29,10 +29,10 @@ import ( var validate *validator.Validate func SetOptions(options map[string]bool, value bool) { - utils.SetSwitchFromOptions(options, constant.IsOfflinePush, value) utils.SetSwitchFromOptions(options, constant.IsHistory, value) utils.SetSwitchFromOptions(options, constant.IsPersistent, value) utils.SetSwitchFromOptions(options, constant.IsSenderSync, value) + utils.SetSwitchFromOptions(options, constant.IsConversationUpdate, value) } func newUserSendMsgReq(params *api.ManagementSendMsgReq) *pbChat.SendMsgReq { @@ -59,10 +59,12 @@ func newUserSendMsgReq(params *api.ManagementSendMsgReq) *pbChat.SendMsgReq { if params.IsOnlineOnly { SetOptions(options, false) } - if params.ContentType == constant.CustomMsgOnlineOnly { - SetOptions(options, false) - } else if params.ContentType == constant.CustomMsgNotTriggerConversation { + if params.NotOfflinePush { + utils.SetSwitchFromOptions(options, constant.IsOfflinePush, false) + } + if params.ContentType == constant.CustomOnlineOnly { SetOptions(options, false) + } else if params.ContentType == constant.CustomNotTriggerConversation { utils.SetSwitchFromOptions(options, constant.IsConversationUpdate, false) } @@ -146,9 +148,9 @@ func ManagementSendMsg(c *gin.Context) { case constant.OANotification: data = OANotificationElem{} params.SessionType = constant.NotificationChatType - case constant.CustomMsgNotTriggerConversation: + case constant.CustomNotTriggerConversation: data = CustomElem{} - case constant.CustomMsgOnlineOnly: + case constant.CustomOnlineOnly: data = CustomElem{} //case constant.HasReadReceipt: //case constant.Typing: @@ -277,9 +279,9 @@ func ManagementBatchSendMsg(c *gin.Context) { case constant.OANotification: data = OANotificationElem{} params.SessionType = constant.NotificationChatType - case constant.CustomMsgNotTriggerConversation: + case constant.CustomNotTriggerConversation: data = CustomElem{} - case constant.CustomMsgOnlineOnly: + case constant.CustomOnlineOnly: data = CustomElem{} //case constant.HasReadReceipt: //case constant.Typing: @@ -322,12 +324,11 @@ func ManagementBatchSendMsg(c *gin.Context) { return } client := pbChat.NewMsgClient(etcdConn) + req := &api.ManagementSendMsgReq{ + ManagementSendMsg: params.ManagementSendMsg, + } + pbData := newUserSendMsgReq(req) for _, recvID := range params.RecvIDList { - req := &api.ManagementSendMsgReq{ - ManagementSendMsg: params.ManagementSendMsg, - RecvID: recvID, - } - pbData := newUserSendMsgReq(req) pbData.MsgData.RecvID = recvID log.Info(params.OperationID, "", "api ManagementSendMsg call start..., ", pbData.String()) @@ -344,10 +345,11 @@ func ManagementBatchSendMsg(c *gin.Context) { msgSendFailedFlag = true continue } - resp.Data.ResultList = append(resp.Data.ResultList, server_api_params.UserSendMsgResp{ + resp.Data.ResultList = append(resp.Data.ResultList, &api.SingleReturnResult{ ServerMsgID: rpcResp.ServerMsgID, ClientMsgID: rpcResp.ClientMsgID, SendTime: rpcResp.SendTime, + RecvID: recvID, }) } if msgSendFailedFlag { diff --git a/internal/api/msg/del_msg.go b/internal/api/msg/del_msg.go index b52990d73..2ae84505f 100644 --- a/internal/api/msg/del_msg.go +++ b/internal/api/msg/del_msg.go @@ -78,15 +78,18 @@ func DelSuperGroupMsg(c *gin.Context) { req api.DelSuperGroupMsgReq resp api.DelSuperGroupMsgResp ) + rpcReq := &rpc.DelSuperGroupMsgReq{} + utils.CopyStructFields(req, &req) if err := c.BindJSON(&req); err != nil { c.JSON(http.StatusBadRequest, gin.H{"errCode": 400, "errMsg": err.Error()}) return } log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "req:", req) - - ok, opUserID, errInfo := token_verify.GetUserIDFromToken(c.Request.Header.Get("token"), req.OperationID) + var ok bool + var errInfo string + ok, rpcReq.OpUserID, errInfo = token_verify.GetUserIDFromToken(c.Request.Header.Get("token"), req.OperationID) if !ok { - errMsg := req.OperationID + " " + opUserID + " " + "GetUserIDFromToken failed " + errInfo + " token:" + c.Request.Header.Get("token") + errMsg := req.OperationID + " " + rpcReq.OpUserID + " " + "GetUserIDFromToken failed " + errInfo + " token:" + c.Request.Header.Get("token") log.NewError(req.OperationID, errMsg) c.JSON(http.StatusBadRequest, gin.H{"errCode": 500, "errMsg": errMsg}) return @@ -137,18 +140,32 @@ func DelSuperGroupMsg(c *gin.Context) { client := rpc.NewMsgClient(etcdConn) log.Info(req.OperationID, "", "api DelSuperGroupMsg call, api call rpc...") - - RpcResp, err := client.SendMsg(context.Background(), &pbData) - if err != nil { - log.NewError(req.OperationID, "call delete UserSendMsg rpc server failed", err.Error()) - c.JSON(http.StatusInternalServerError, gin.H{"errCode": 500, "errMsg": "call UserSendMsg rpc server failed"}) - return + if req.IsAllDelete { + RpcResp, err := client.DelSuperGroupMsg(context.Background(),rpcReq) + if err != nil { + log.NewError(req.OperationID, "call delete DelSuperGroupMsg rpc server failed", err.Error()) + c.JSON(http.StatusInternalServerError, gin.H{"errCode": 500, "errMsg": "call DelSuperGroupMsg rpc server failed"}) + return + } + log.Info(req.OperationID, "", "api DelSuperGroupMsg call end..., [data: %s] [reply: %s]", pbData.String(), RpcResp.String()) + resp.ErrCode = RpcResp.ErrCode + resp.ErrMsg = RpcResp.ErrMsg + log.NewInfo(req.OperationID, utils.GetSelfFuncName(), resp) + c.JSON(http.StatusOK, resp) + }else{ + RpcResp, err := client.SendMsg(context.Background(), &pbData) + if err != nil { + log.NewError(req.OperationID, "call delete UserSendMsg rpc server failed", err.Error()) + c.JSON(http.StatusInternalServerError, gin.H{"errCode": 500, "errMsg": "call UserSendMsg rpc server failed"}) + return + } + log.Info(req.OperationID, "", "api DelSuperGroupMsg call end..., [data: %s] [reply: %s]", pbData.String(), RpcResp.String()) + resp.ErrCode = RpcResp.ErrCode + resp.ErrMsg = RpcResp.ErrMsg + log.NewInfo(req.OperationID, utils.GetSelfFuncName(), resp) + c.JSON(http.StatusOK, resp) } - log.Info(req.OperationID, "", "api DelSuperGroupMsg call end..., [data: %s] [reply: %s]", pbData.String(), RpcResp.String()) - resp.ErrCode = RpcResp.ErrCode - resp.ErrMsg = RpcResp.ErrMsg - log.NewInfo(req.OperationID, utils.GetSelfFuncName(), resp) - c.JSON(http.StatusOK, resp) + } // @Summary 清空用户消息 diff --git a/internal/api/user/user.go b/internal/api/user/user.go index 51919fa42..48171ece0 100644 --- a/internal/api/user/user.go +++ b/internal/api/user/user.go @@ -417,6 +417,7 @@ func GetUsersOnlineStatus(c *gin.Context) { flag := false grpcCons := getcdv3.GetConn4Unique(config.Config.Etcd.EtcdSchema, strings.Join(config.Config.Etcd.EtcdAddr, ","), config.Config.RpcRegisterName.OpenImRelayName) for _, v := range grpcCons { + log.Debug(params.OperationID, "get node ", *v, v.Target()) client := pbRelay.NewRelayClient(v) reply, err := client.GetUsersOnlineStatus(context.Background(), req) if err != nil { diff --git a/internal/msg_gateway/gate/open_im_media/room.go b/internal/msg_gateway/gate/open_im_media/room.go index 83796da29..b840de39a 100644 --- a/internal/msg_gateway/gate/open_im_media/room.go +++ b/internal/msg_gateway/gate/open_im_media/room.go @@ -5,8 +5,6 @@ const ( Address = "127.0.0.1:11300" ) -//var roomClient *lksdk.RoomServiceClient - type Media struct { } @@ -14,45 +12,11 @@ func NewMedia() *Media { return &Media{} } -//func (m *Media) GetJoinToken(room, identity string, operationID string, data *open_im_sdk.ParticipantMetaData) (string, string, error) { -// var newData pbRtc.ParticipantMetaData -// copier.Copy(&newData, data) -// conn, err := grpc.Dial(Address, grpc.WithInsecure()) -// if err != nil { -// return "", "", err -// } -// defer conn.Close() -// c := pbRtc.NewRtcServiceClient(conn) -// req := &pbRtc.GetJoinTokenReq{Room: room, OperationID: operationID, Identity: identity, MetaData: &newData} -// resp, err := c.GetJoinToken(context.Background(), req) -// if err != nil { -// return "", "", err -// } -// if resp.CommonResp.ErrCode != 0 { -// return "", "", errors.New(resp.CommonResp.ErrMsg) -// } -// return resp.Jwt, resp.LiveURL, nil -// //at := auth.NewAccessToken(m.ApiKey, m.ApiSecret) -// //grant := &auth.VideoGrant{ -// // RoomJoin: true, -// // Room: room, -// //} -// //at.AddGrant(grant). -// // SetIdentity(identity). -// // SetValidFor(time.Hour) -// // -// //return at.ToJWT() -//} - func init() { - //roomClient = lksdk.NewRoomServiceClient(MediaAddress, ApiKey, ApiSecret) + } func (m *Media) CreateRoom(roomName string) (error, error) { return nil, nil - //return roomClient.CreateRoom(context.Background(), &livekit.CreateRoomRequest{ - // Name: roomName, - // EmptyTimeout: 60 * 3, - //}) } diff --git a/internal/msg_transfer/logic/online_msg_to_mongo_handler.go b/internal/msg_transfer/logic/online_msg_to_mongo_handler.go index 42efdc428..58575f849 100644 --- a/internal/msg_transfer/logic/online_msg_to_mongo_handler.go +++ b/internal/msg_transfer/logic/online_msg_to_mongo_handler.go @@ -36,7 +36,12 @@ func (mc *OnlineHistoryMongoConsumerHandler) handleChatWs2Mongo(cMsg *sarama.Con } err = db.DB.BatchInsertChat2DB(msgFromMQ.AggregationID, msgFromMQ.MessageList, msgFromMQ.TriggerID, msgFromMQ.LastSeq) if err != nil { - log.NewError(msgFromMQ.TriggerID, "single data insert to mongo err", err.Error(), msgFromMQ.MessageList) + log.NewError(msgFromMQ.TriggerID, "single data insert to mongo err", err.Error(), msgFromMQ.MessageList, msgFromMQ.AggregationID, msgFromMQ.TriggerID) + } else { + err = db.DB.DeleteMessageFromCache(msgFromMQ.MessageList, msgFromMQ.AggregationID, msgFromMQ.GetTriggerID()) + if err != nil { + log.NewError(msgFromMQ.TriggerID, "remove cache msg from redis err", err.Error(), msgFromMQ.MessageList, msgFromMQ.AggregationID, msgFromMQ.TriggerID) + } } for _, v := range msgFromMQ.MessageList { if v.MsgData.ContentType == constant.DeleteMessageNotification { diff --git a/internal/push/fcm/push.go b/internal/push/fcm/push.go index a9c7e5b39..3f0552d62 100644 --- a/internal/push/fcm/push.go +++ b/internal/push/fcm/push.go @@ -1,36 +1,30 @@ -package push +package fcm import ( "Open_IM/internal/push" "Open_IM/pkg/common/config" "Open_IM/pkg/common/db" + "Open_IM/pkg/common/log" "context" - "log" - "path/filepath" - "strconv" - firebase "firebase.google.com/go" "firebase.google.com/go/messaging" "google.golang.org/api/option" + "path/filepath" + "strconv" ) type Fcm struct { -} - -var ( - FcmClient *Fcm FcmMsgCli *messaging.Client -) - -func init() { - //FcmClient = newFcmClient() } +func NewFcm() *Fcm { + return newFcmClient() +} func newFcmClient() *Fcm { opt := option.WithCredentialsFile(filepath.Join(config.Root, "config", config.Config.Push.Fcm.ServiceAccount)) fcmApp, err := firebase.NewApp(context.Background(), nil, opt) if err != nil { - log.Println("error initializing app: %v\n", err) + log.Debug("", "error initializing app: ", err.Error()) return nil } //授权 @@ -41,13 +35,12 @@ func newFcmClient() *Fcm { // } // log.Printf("%#v\r\n", fcmClient) ctx := context.Background() - FcmMsgCli, err = fcmApp.Messaging(ctx) + fcmMsgClient, err := fcmApp.Messaging(ctx) if err != nil { - log.Fatalf("error getting Messaging client: %v\n", err) + panic(err.Error()) return nil } - log.Println(FcmMsgCli) - return &Fcm{} + return &Fcm{FcmMsgCli: fcmMsgClient} } func (f *Fcm) Push(accounts []string, alert, detailContent, operationID string, opts push.PushOpts) (string, error) { @@ -87,9 +80,9 @@ func (f *Fcm) Push(accounts []string, alert, detailContent, operationID string, //An error from SendMulticast indicates a total failure -- i.e. //the message could not be sent to any of the recipients. //Partial failures are indicated by a `BatchResponse` return value. - response, err := FcmMsgCli.SendMulticast(ctx, Msg) + response, err := f.FcmMsgCli.SendMulticast(ctx, Msg) if err != nil { - log.Fatalln(err) + return "", err } Success = Success + response.SuccessCount Fail = Fail + response.FailureCount diff --git a/internal/push/logic/init.go b/internal/push/logic/init.go index 0b540af6a..6d6229dca 100644 --- a/internal/push/logic/init.go +++ b/internal/push/logic/init.go @@ -44,7 +44,7 @@ func init() { } if config.Config.Push.Fcm.Enable { - offlinePusher = fcm.FcmClient + offlinePusher = fcm.NewFcm() } } diff --git a/internal/rpc/group/group.go b/internal/rpc/group/group.go index e5fd06afb..1f728d6d7 100644 --- a/internal/rpc/group/group.go +++ b/internal/rpc/group/group.go @@ -280,7 +280,7 @@ func (s *groupServer) InviteUserToGroup(ctx context.Context, req *pbGroup.Invite groupInfo, err := imdb.GetGroupInfoByGroupID(req.GroupID) if err != nil { log.NewError(req.OperationID, "GetGroupInfoByGroupID failed ", req.GroupID, err) - return &pbGroup.InviteUserToGroupResp{ErrCode: constant.ErrDB.ErrCode, ErrMsg: constant.ErrDB.ErrMsg}, nil + return &pbGroup.InviteUserToGroupResp{ErrCode: constant.ErrDB.ErrCode, ErrMsg: err.Error()}, nil } if groupInfo.Status == constant.GroupStatusDismissed { errMsg := " group status is dismissed " diff --git a/internal/rpc/msg/chat.go b/internal/rpc/msg/chat.go index a525dab09..1d403e3a4 100644 --- a/internal/rpc/msg/chat.go +++ b/internal/rpc/msg/chat.go @@ -53,7 +53,7 @@ func (rpc *rpcChat) SetMsgMinSeq(_ context.Context, req *pbChat.SetMsgMinSeqReq) } return &pbChat.SetMsgMinSeqResp{}, nil } - err := db.DB.SetGroupUserMinSeq(req.GroupID, req.UserID, req.MinSeq) + err := db.DB.SetGroupUserMinSeq(req.GroupID, req.UserID, uint64(req.MinSeq)) if err != nil { errMsg := "SetGroupUserMinSeq failed " + err.Error() + req.OperationID + req.GroupID + req.UserID + utils.Uint32ToString(req.MinSeq) log.Error(req.OperationID, errMsg) diff --git a/internal/rpc/msg/del_msg.go b/internal/rpc/msg/del_msg.go index c6856bb98..06ec06e06 100644 --- a/internal/rpc/msg/del_msg.go +++ b/internal/rpc/msg/del_msg.go @@ -2,8 +2,11 @@ package msg import ( "Open_IM/pkg/common/constant" + "Open_IM/pkg/common/db" "Open_IM/pkg/common/log" + "Open_IM/pkg/common/token_verify" commonPb "Open_IM/pkg/proto/sdk_ws" + "Open_IM/pkg/proto/msg" "Open_IM/pkg/utils" "context" "time" @@ -27,3 +30,27 @@ func (rpc *rpcChat) DelMsgList(_ context.Context, req *commonPb.DelMsgListReq) ( log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "resp: ", resp.String()) return resp, nil } +func (rpc *rpcChat) DelSuperGroupMsg(_ context.Context, req *msg.DelSuperGroupMsgReq) (*msg.DelSuperGroupMsgResp, error) { + log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "req: ", req.String()) + if !token_verify.CheckAccess(req.OpUserID, req.UserID) { + log.NewError(req.OperationID, "CheckAccess false ", req.OpUserID, req.UserID) + return &msg.DelSuperGroupMsgResp{ErrCode: constant.ErrAccess.ErrCode, ErrMsg: constant.ErrAccess.ErrMsg}, nil + } + resp := &msg.DelSuperGroupMsgResp{} + groupMaxSeq, err := db.DB.GetGroupMaxSeq(req.GroupID) + if err != nil { + log.NewError(req.OperationID, "GetGroupMaxSeq false ", req.OpUserID, req.UserID,req.GroupID) + resp.ErrCode = constant.ErrDB.ErrCode + resp.ErrMsg = err.Error() + return resp, nil + } + err = db.DB.SetGroupUserMinSeq(req.GroupID,req.UserID, groupMaxSeq) + if err != nil { + log.NewError(req.OperationID, "SetGroupUserMinSeq false ", req.OpUserID, req.UserID,req.GroupID) + resp.ErrCode = constant.ErrDB.ErrCode + resp.ErrMsg = err.Error() + return resp, nil + } + log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "resp: ", resp.String()) + return resp, nil +} \ No newline at end of file diff --git a/pkg/base_info/manage_api_struct.go b/pkg/base_info/manage_api_struct.go index e7db30f77..7d9f43653 100644 --- a/pkg/base_info/manage_api_struct.go +++ b/pkg/base_info/manage_api_struct.go @@ -52,6 +52,7 @@ type ManagementSendMsg struct { ContentType int32 `json:"contentType" binding:"required"` SessionType int32 `json:"sessionType" binding:"required"` IsOnlineOnly bool `json:"isOnlineOnly"` + NotOfflinePush bool `json:"notOfflinePush"` OfflinePushInfo *open_im_sdk.OfflinePushInfo `json:"offlinePushInfo"` } @@ -73,10 +74,16 @@ type ManagementBatchSendMsgReq struct { type ManagementBatchSendMsgResp struct { CommResp Data struct { - ResultList []server_api_params.UserSendMsgResp `json:"resultList"` + ResultList []*SingleReturnResult `json:"resultList"` FailedIDList []string } `json:"data"` } +type SingleReturnResult struct { + ServerMsgID string `json:"serverMsgID"` + ClientMsgID string `json:"clientMsgID"` + SendTime int64 `json:"sendTime"` + RecvID string `json:"recvID" ` +} type CheckMsgIsSendSuccessReq struct { OperationID string `json:"operationID"` diff --git a/pkg/common/constant/constant.go b/pkg/common/constant/constant.go index f7c8a7650..ad5caf19f 100644 --- a/pkg/common/constant/constant.go +++ b/pkg/common/constant/constant.go @@ -28,25 +28,25 @@ const ( ///ContentType //UserRelated - Text = 101 - Picture = 102 - Voice = 103 - Video = 104 - File = 105 - AtText = 106 - Merger = 107 - Card = 108 - Location = 109 - Custom = 110 - Revoke = 111 - HasReadReceipt = 112 - Typing = 113 - Quote = 114 - GroupHasReadReceipt = 116 - AdvancedText = 117 - AdvancedRevoke = 118 //影响前者消息 - CustomMsgNotTriggerConversation = 119 - CustomMsgOnlineOnly = 120 + Text = 101 + Picture = 102 + Voice = 103 + Video = 104 + File = 105 + AtText = 106 + Merger = 107 + Card = 108 + Location = 109 + Custom = 110 + Revoke = 111 + HasReadReceipt = 112 + Typing = 113 + Quote = 114 + GroupHasReadReceipt = 116 + AdvancedText = 117 + AdvancedRevoke = 118 //影响前者消息 + CustomNotTriggerConversation = 119 + CustomOnlineOnly = 120 Common = 200 GroupMsg = 201 diff --git a/pkg/common/db/RedisModel.go b/pkg/common/db/RedisModel.go index 217c4c5c5..2ef11d59b 100644 --- a/pkg/common/db/RedisModel.go +++ b/pkg/common/db/RedisModel.go @@ -88,7 +88,7 @@ func (d *DataBases) GetUserMinSeq(uid string) (uint64, error) { return uint64(utils.StringToInt(seq)), err } -func (d *DataBases) SetGroupUserMinSeq(groupID, userID string, minSeq uint32) (err error) { +func (d *DataBases) SetGroupUserMinSeq(groupID, userID string, minSeq uint64) (err error) { key := groupUserMinSeq + "g:" + groupID + "u:" + userID return d.RDB.Set(context.Background(), key, minSeq, 0).Err() } @@ -221,6 +221,19 @@ func (d *DataBases) SetMessageToCache(msgList []*pbChat.MsgDataToMQ, uid string, _, err := pipe.Exec(ctx) return err } +func (d *DataBases) DeleteMessageFromCache(msgList []*pbChat.MsgDataToMQ, uid string, operationID string) error { + ctx := context.Background() + var keys []string + for _, msg := range msgList { + key := messageCache + uid + "_" + strconv.Itoa(int(msg.MsgData.Seq)) + keys = append(keys, key) + } + err := d.RDB.Del(ctx, keys...).Err() + if err != nil { + log2.NewWarn(operationID, utils.GetSelfFuncName(), "redis failed", "args:", keys, uid, err.Error(), msgList) + } + return err +} func (d *DataBases) CleanUpOneUserAllMsgFromRedis(userID string, operationID string) error { ctx := context.Background() diff --git a/pkg/common/db/batch_insert_chat.go b/pkg/common/db/batch_insert_chat.go index bef5a312c..f2920813d 100644 --- a/pkg/common/db/batch_insert_chat.go +++ b/pkg/common/db/batch_insert_chat.go @@ -101,7 +101,7 @@ func (d *DataBases) BatchInsertChat2DB(userID string, msgList []*pbMsg.MsgDataTo return utils.Wrap(err, "") } } - log.NewWarn(operationID, "batch mgo cost time ", getCurrentTimestampByMill()-newTime, userID, len(msgList)) + log.Debug(operationID, "batch mgo cost time ", getCurrentTimestampByMill()-newTime, userID, len(msgList)) return nil } diff --git a/pkg/proto/msg/msg.pb.go b/pkg/proto/msg/msg.pb.go index f2002012f..38616ae68 100644 --- a/pkg/proto/msg/msg.pb.go +++ b/pkg/proto/msg/msg.pb.go @@ -37,7 +37,7 @@ func (m *MsgDataToMQ) Reset() { *m = MsgDataToMQ{} } func (m *MsgDataToMQ) String() string { return proto.CompactTextString(m) } func (*MsgDataToMQ) ProtoMessage() {} func (*MsgDataToMQ) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_b3ce531eb8197ddf, []int{0} + return fileDescriptor_msg_110411abaacf415d, []int{0} } func (m *MsgDataToMQ) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_MsgDataToMQ.Unmarshal(m, b) @@ -90,7 +90,7 @@ func (m *MsgDataToDB) Reset() { *m = MsgDataToDB{} } func (m *MsgDataToDB) String() string { return proto.CompactTextString(m) } func (*MsgDataToDB) ProtoMessage() {} func (*MsgDataToDB) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_b3ce531eb8197ddf, []int{1} + return fileDescriptor_msg_110411abaacf415d, []int{1} } func (m *MsgDataToDB) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_MsgDataToDB.Unmarshal(m, b) @@ -137,7 +137,7 @@ func (m *PushMsgDataToMQ) Reset() { *m = PushMsgDataToMQ{} } func (m *PushMsgDataToMQ) String() string { return proto.CompactTextString(m) } func (*PushMsgDataToMQ) ProtoMessage() {} func (*PushMsgDataToMQ) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_b3ce531eb8197ddf, []int{2} + return fileDescriptor_msg_110411abaacf415d, []int{2} } func (m *PushMsgDataToMQ) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_PushMsgDataToMQ.Unmarshal(m, b) @@ -192,7 +192,7 @@ func (m *MsgDataToMongoByMQ) Reset() { *m = MsgDataToMongoByMQ{} } func (m *MsgDataToMongoByMQ) String() string { return proto.CompactTextString(m) } func (*MsgDataToMongoByMQ) ProtoMessage() {} func (*MsgDataToMongoByMQ) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_b3ce531eb8197ddf, []int{3} + return fileDescriptor_msg_110411abaacf415d, []int{3} } func (m *MsgDataToMongoByMQ) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_MsgDataToMongoByMQ.Unmarshal(m, b) @@ -272,7 +272,7 @@ func (m *GetMaxAndMinSeqReq) Reset() { *m = GetMaxAndMinSeqReq{} } func (m *GetMaxAndMinSeqReq) String() string { return proto.CompactTextString(m) } func (*GetMaxAndMinSeqReq) ProtoMessage() {} func (*GetMaxAndMinSeqReq) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_b3ce531eb8197ddf, []int{4} + return fileDescriptor_msg_110411abaacf415d, []int{4} } func (m *GetMaxAndMinSeqReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetMaxAndMinSeqReq.Unmarshal(m, b) @@ -320,7 +320,7 @@ func (m *GetMaxAndMinSeqResp) Reset() { *m = GetMaxAndMinSeqResp{} } func (m *GetMaxAndMinSeqResp) String() string { return proto.CompactTextString(m) } func (*GetMaxAndMinSeqResp) ProtoMessage() {} func (*GetMaxAndMinSeqResp) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_b3ce531eb8197ddf, []int{5} + return fileDescriptor_msg_110411abaacf415d, []int{5} } func (m *GetMaxAndMinSeqResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetMaxAndMinSeqResp.Unmarshal(m, b) @@ -381,7 +381,7 @@ func (m *SendMsgReq) Reset() { *m = SendMsgReq{} } func (m *SendMsgReq) String() string { return proto.CompactTextString(m) } func (*SendMsgReq) ProtoMessage() {} func (*SendMsgReq) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_b3ce531eb8197ddf, []int{6} + return fileDescriptor_msg_110411abaacf415d, []int{6} } func (m *SendMsgReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SendMsgReq.Unmarshal(m, b) @@ -437,7 +437,7 @@ func (m *SendMsgResp) Reset() { *m = SendMsgResp{} } func (m *SendMsgResp) String() string { return proto.CompactTextString(m) } func (*SendMsgResp) ProtoMessage() {} func (*SendMsgResp) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_b3ce531eb8197ddf, []int{7} + return fileDescriptor_msg_110411abaacf415d, []int{7} } func (m *SendMsgResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SendMsgResp.Unmarshal(m, b) @@ -505,7 +505,7 @@ func (m *ClearMsgReq) Reset() { *m = ClearMsgReq{} } func (m *ClearMsgReq) String() string { return proto.CompactTextString(m) } func (*ClearMsgReq) ProtoMessage() {} func (*ClearMsgReq) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_b3ce531eb8197ddf, []int{8} + return fileDescriptor_msg_110411abaacf415d, []int{8} } func (m *ClearMsgReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ClearMsgReq.Unmarshal(m, b) @@ -558,7 +558,7 @@ func (m *ClearMsgResp) Reset() { *m = ClearMsgResp{} } func (m *ClearMsgResp) String() string { return proto.CompactTextString(m) } func (*ClearMsgResp) ProtoMessage() {} func (*ClearMsgResp) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_b3ce531eb8197ddf, []int{9} + return fileDescriptor_msg_110411abaacf415d, []int{9} } func (m *ClearMsgResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ClearMsgResp.Unmarshal(m, b) @@ -607,7 +607,7 @@ func (m *SetMsgMinSeqReq) Reset() { *m = SetMsgMinSeqReq{} } func (m *SetMsgMinSeqReq) String() string { return proto.CompactTextString(m) } func (*SetMsgMinSeqReq) ProtoMessage() {} func (*SetMsgMinSeqReq) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_b3ce531eb8197ddf, []int{10} + return fileDescriptor_msg_110411abaacf415d, []int{10} } func (m *SetMsgMinSeqReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SetMsgMinSeqReq.Unmarshal(m, b) @@ -674,7 +674,7 @@ func (m *SetMsgMinSeqResp) Reset() { *m = SetMsgMinSeqResp{} } func (m *SetMsgMinSeqResp) String() string { return proto.CompactTextString(m) } func (*SetMsgMinSeqResp) ProtoMessage() {} func (*SetMsgMinSeqResp) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_b3ce531eb8197ddf, []int{11} + return fileDescriptor_msg_110411abaacf415d, []int{11} } func (m *SetMsgMinSeqResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SetMsgMinSeqResp.Unmarshal(m, b) @@ -719,7 +719,7 @@ func (m *SetSendMsgFailedFlagReq) Reset() { *m = SetSendMsgFailedFlagReq func (m *SetSendMsgFailedFlagReq) String() string { return proto.CompactTextString(m) } func (*SetSendMsgFailedFlagReq) ProtoMessage() {} func (*SetSendMsgFailedFlagReq) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_b3ce531eb8197ddf, []int{12} + return fileDescriptor_msg_110411abaacf415d, []int{12} } func (m *SetSendMsgFailedFlagReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SetSendMsgFailedFlagReq.Unmarshal(m, b) @@ -758,7 +758,7 @@ func (m *SetSendMsgFailedFlagResp) Reset() { *m = SetSendMsgFailedFlagRe func (m *SetSendMsgFailedFlagResp) String() string { return proto.CompactTextString(m) } func (*SetSendMsgFailedFlagResp) ProtoMessage() {} func (*SetSendMsgFailedFlagResp) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_b3ce531eb8197ddf, []int{13} + return fileDescriptor_msg_110411abaacf415d, []int{13} } func (m *SetSendMsgFailedFlagResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SetSendMsgFailedFlagResp.Unmarshal(m, b) @@ -803,7 +803,7 @@ func (m *GetSendMsgStatusReq) Reset() { *m = GetSendMsgStatusReq{} } func (m *GetSendMsgStatusReq) String() string { return proto.CompactTextString(m) } func (*GetSendMsgStatusReq) ProtoMessage() {} func (*GetSendMsgStatusReq) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_b3ce531eb8197ddf, []int{14} + return fileDescriptor_msg_110411abaacf415d, []int{14} } func (m *GetSendMsgStatusReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetSendMsgStatusReq.Unmarshal(m, b) @@ -843,7 +843,7 @@ func (m *GetSendMsgStatusResp) Reset() { *m = GetSendMsgStatusResp{} } func (m *GetSendMsgStatusResp) String() string { return proto.CompactTextString(m) } func (*GetSendMsgStatusResp) ProtoMessage() {} func (*GetSendMsgStatusResp) Descriptor() ([]byte, []int) { - return fileDescriptor_msg_b3ce531eb8197ddf, []int{15} + return fileDescriptor_msg_110411abaacf415d, []int{15} } func (m *GetSendMsgStatusResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetSendMsgStatusResp.Unmarshal(m, b) @@ -884,6 +884,114 @@ func (m *GetSendMsgStatusResp) GetStatus() int32 { return 0 } +type DelSuperGroupMsgReq struct { + OpUserID string `protobuf:"bytes,1,opt,name=opUserID" json:"opUserID,omitempty"` + UserID string `protobuf:"bytes,2,opt,name=userID" json:"userID,omitempty"` + GroupID string `protobuf:"bytes,3,opt,name=groupID" json:"groupID,omitempty"` + OperationID string `protobuf:"bytes,4,opt,name=operationID" json:"operationID,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *DelSuperGroupMsgReq) Reset() { *m = DelSuperGroupMsgReq{} } +func (m *DelSuperGroupMsgReq) String() string { return proto.CompactTextString(m) } +func (*DelSuperGroupMsgReq) ProtoMessage() {} +func (*DelSuperGroupMsgReq) Descriptor() ([]byte, []int) { + return fileDescriptor_msg_110411abaacf415d, []int{16} +} +func (m *DelSuperGroupMsgReq) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_DelSuperGroupMsgReq.Unmarshal(m, b) +} +func (m *DelSuperGroupMsgReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_DelSuperGroupMsgReq.Marshal(b, m, deterministic) +} +func (dst *DelSuperGroupMsgReq) XXX_Merge(src proto.Message) { + xxx_messageInfo_DelSuperGroupMsgReq.Merge(dst, src) +} +func (m *DelSuperGroupMsgReq) XXX_Size() int { + return xxx_messageInfo_DelSuperGroupMsgReq.Size(m) +} +func (m *DelSuperGroupMsgReq) XXX_DiscardUnknown() { + xxx_messageInfo_DelSuperGroupMsgReq.DiscardUnknown(m) +} + +var xxx_messageInfo_DelSuperGroupMsgReq proto.InternalMessageInfo + +func (m *DelSuperGroupMsgReq) GetOpUserID() string { + if m != nil { + return m.OpUserID + } + return "" +} + +func (m *DelSuperGroupMsgReq) GetUserID() string { + if m != nil { + return m.UserID + } + return "" +} + +func (m *DelSuperGroupMsgReq) GetGroupID() string { + if m != nil { + return m.GroupID + } + return "" +} + +func (m *DelSuperGroupMsgReq) GetOperationID() string { + if m != nil { + return m.OperationID + } + return "" +} + +type DelSuperGroupMsgResp struct { + ErrCode int32 `protobuf:"varint,1,opt,name=errCode" json:"errCode,omitempty"` + ErrMsg string `protobuf:"bytes,2,opt,name=errMsg" json:"errMsg,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *DelSuperGroupMsgResp) Reset() { *m = DelSuperGroupMsgResp{} } +func (m *DelSuperGroupMsgResp) String() string { return proto.CompactTextString(m) } +func (*DelSuperGroupMsgResp) ProtoMessage() {} +func (*DelSuperGroupMsgResp) Descriptor() ([]byte, []int) { + return fileDescriptor_msg_110411abaacf415d, []int{17} +} +func (m *DelSuperGroupMsgResp) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_DelSuperGroupMsgResp.Unmarshal(m, b) +} +func (m *DelSuperGroupMsgResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_DelSuperGroupMsgResp.Marshal(b, m, deterministic) +} +func (dst *DelSuperGroupMsgResp) XXX_Merge(src proto.Message) { + xxx_messageInfo_DelSuperGroupMsgResp.Merge(dst, src) +} +func (m *DelSuperGroupMsgResp) XXX_Size() int { + return xxx_messageInfo_DelSuperGroupMsgResp.Size(m) +} +func (m *DelSuperGroupMsgResp) XXX_DiscardUnknown() { + xxx_messageInfo_DelSuperGroupMsgResp.DiscardUnknown(m) +} + +var xxx_messageInfo_DelSuperGroupMsgResp proto.InternalMessageInfo + +func (m *DelSuperGroupMsgResp) GetErrCode() int32 { + if m != nil { + return m.ErrCode + } + return 0 +} + +func (m *DelSuperGroupMsgResp) GetErrMsg() string { + if m != nil { + return m.ErrMsg + } + return "" +} + func init() { proto.RegisterType((*MsgDataToMQ)(nil), "msg.MsgDataToMQ") proto.RegisterType((*MsgDataToDB)(nil), "msg.MsgDataToDB") @@ -901,6 +1009,8 @@ func init() { proto.RegisterType((*SetSendMsgFailedFlagResp)(nil), "msg.SetSendMsgFailedFlagResp") proto.RegisterType((*GetSendMsgStatusReq)(nil), "msg.GetSendMsgStatusReq") proto.RegisterType((*GetSendMsgStatusResp)(nil), "msg.GetSendMsgStatusResp") + proto.RegisterType((*DelSuperGroupMsgReq)(nil), "msg.DelSuperGroupMsgReq") + proto.RegisterType((*DelSuperGroupMsgResp)(nil), "msg.DelSuperGroupMsgResp") } // Reference imports to suppress errors if they are not otherwise used. @@ -918,6 +1028,7 @@ type MsgClient interface { PullMessageBySeqList(ctx context.Context, in *sdk_ws.PullMessageBySeqListReq, opts ...grpc.CallOption) (*sdk_ws.PullMessageBySeqListResp, error) SendMsg(ctx context.Context, in *SendMsgReq, opts ...grpc.CallOption) (*SendMsgResp, error) DelMsgList(ctx context.Context, in *sdk_ws.DelMsgListReq, opts ...grpc.CallOption) (*sdk_ws.DelMsgListResp, error) + DelSuperGroupMsg(ctx context.Context, in *DelSuperGroupMsgReq, opts ...grpc.CallOption) (*DelSuperGroupMsgResp, error) ClearMsg(ctx context.Context, in *ClearMsgReq, opts ...grpc.CallOption) (*ClearMsgResp, error) SetMsgMinSeq(ctx context.Context, in *SetMsgMinSeqReq, opts ...grpc.CallOption) (*SetMsgMinSeqResp, error) SetSendMsgFailedFlag(ctx context.Context, in *SetSendMsgFailedFlagReq, opts ...grpc.CallOption) (*SetSendMsgFailedFlagResp, error) @@ -968,6 +1079,15 @@ func (c *msgClient) DelMsgList(ctx context.Context, in *sdk_ws.DelMsgListReq, op return out, nil } +func (c *msgClient) DelSuperGroupMsg(ctx context.Context, in *DelSuperGroupMsgReq, opts ...grpc.CallOption) (*DelSuperGroupMsgResp, error) { + out := new(DelSuperGroupMsgResp) + err := grpc.Invoke(ctx, "/msg.msg/DelSuperGroupMsg", in, out, c.cc, opts...) + if err != nil { + return nil, err + } + return out, nil +} + func (c *msgClient) ClearMsg(ctx context.Context, in *ClearMsgReq, opts ...grpc.CallOption) (*ClearMsgResp, error) { out := new(ClearMsgResp) err := grpc.Invoke(ctx, "/msg.msg/ClearMsg", in, out, c.cc, opts...) @@ -1011,6 +1131,7 @@ type MsgServer interface { PullMessageBySeqList(context.Context, *sdk_ws.PullMessageBySeqListReq) (*sdk_ws.PullMessageBySeqListResp, error) SendMsg(context.Context, *SendMsgReq) (*SendMsgResp, error) DelMsgList(context.Context, *sdk_ws.DelMsgListReq) (*sdk_ws.DelMsgListResp, error) + DelSuperGroupMsg(context.Context, *DelSuperGroupMsgReq) (*DelSuperGroupMsgResp, error) ClearMsg(context.Context, *ClearMsgReq) (*ClearMsgResp, error) SetMsgMinSeq(context.Context, *SetMsgMinSeqReq) (*SetMsgMinSeqResp, error) SetSendMsgFailedFlag(context.Context, *SetSendMsgFailedFlagReq) (*SetSendMsgFailedFlagResp, error) @@ -1093,6 +1214,24 @@ func _Msg_DelMsgList_Handler(srv interface{}, ctx context.Context, dec func(inte return interceptor(ctx, in, info, handler) } +func _Msg_DelSuperGroupMsg_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(DelSuperGroupMsgReq) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(MsgServer).DelSuperGroupMsg(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/msg.msg/DelSuperGroupMsg", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(MsgServer).DelSuperGroupMsg(ctx, req.(*DelSuperGroupMsgReq)) + } + return interceptor(ctx, in, info, handler) +} + func _Msg_ClearMsg_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(ClearMsgReq) if err := dec(in); err != nil { @@ -1185,6 +1324,10 @@ var _Msg_serviceDesc = grpc.ServiceDesc{ MethodName: "DelMsgList", Handler: _Msg_DelMsgList_Handler, }, + { + MethodName: "DelSuperGroupMsg", + Handler: _Msg_DelSuperGroupMsg_Handler, + }, { MethodName: "ClearMsg", Handler: _Msg_ClearMsg_Handler, @@ -1206,58 +1349,62 @@ var _Msg_serviceDesc = grpc.ServiceDesc{ Metadata: "msg/msg.proto", } -func init() { proto.RegisterFile("msg/msg.proto", fileDescriptor_msg_b3ce531eb8197ddf) } +func init() { proto.RegisterFile("msg/msg.proto", fileDescriptor_msg_110411abaacf415d) } -var fileDescriptor_msg_b3ce531eb8197ddf = []byte{ - // 793 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xbc, 0x56, 0xcf, 0x6e, 0xfb, 0x44, - 0x10, 0x96, 0x9b, 0x7f, 0xbf, 0x8c, 0x5b, 0x25, 0x2c, 0xa1, 0x18, 0xab, 0x48, 0xa9, 0x05, 0x28, - 0x02, 0x94, 0x48, 0x01, 0x89, 0x43, 0x2f, 0x90, 0xa6, 0xad, 0x2a, 0xd5, 0xb4, 0xb5, 0xcb, 0x85, - 0x4b, 0x6a, 0x9a, 0xd5, 0xd6, 0xaa, 0xff, 0x6c, 0x3c, 0x0e, 0x6d, 0xe1, 0x19, 0x78, 0x00, 0x4e, - 0xdc, 0x78, 0x33, 0xde, 0x03, 0xed, 0xae, 0x93, 0xd8, 0x89, 0xa1, 0x51, 0x0e, 0xbf, 0xe3, 0xf7, - 0x79, 0x76, 0xe6, 0xfb, 0x66, 0x67, 0x27, 0x81, 0x83, 0x10, 0xd9, 0x20, 0x44, 0xd6, 0xe7, 0x49, - 0x9c, 0xc6, 0xa4, 0x12, 0x22, 0x33, 0x8f, 0xaf, 0x39, 0x8d, 0x26, 0x97, 0xf6, 0x80, 0x3f, 0xb1, - 0x81, 0xe4, 0x07, 0x38, 0x7d, 0x9a, 0x3c, 0xe3, 0xe0, 0x19, 0x55, 0x9c, 0xf5, 0x3b, 0xe8, 0x36, - 0xb2, 0xb1, 0x97, 0x7a, 0x77, 0xb1, 0x7d, 0x4b, 0x3a, 0x50, 0x4b, 0xe3, 0x27, 0x1a, 0x19, 0x5a, - 0x57, 0xeb, 0x35, 0x1d, 0x05, 0x48, 0x17, 0xf4, 0x98, 0xd3, 0xc4, 0x4b, 0xfd, 0x38, 0xba, 0x1c, - 0x1b, 0x7b, 0xf2, 0x5b, 0x9e, 0x22, 0xdf, 0x42, 0x23, 0x54, 0x69, 0x8c, 0x4a, 0x57, 0xeb, 0xe9, - 0x43, 0xb3, 0x8f, 0x34, 0xf9, 0x95, 0x26, 0x13, 0x8f, 0xfb, 0x13, 0xee, 0x25, 0x5e, 0x88, 0xfd, - 0xac, 0x90, 0xb3, 0x08, 0xb5, 0x68, 0xae, 0xf8, 0x78, 0x94, 0x4f, 0xa2, 0x6d, 0x9d, 0xe4, 0x6d, - 0x71, 0xd6, 0x1f, 0x1a, 0xb4, 0x6e, 0xe6, 0xf8, 0x98, 0x37, 0xda, 0x05, 0xfd, 0x3a, 0x77, 0x4a, - 0xd9, 0xcd, 0x53, 0x79, 0x35, 0x7b, 0xdb, 0xab, 0xb1, 0x60, 0x9f, 0xcf, 0xf1, 0xf1, 0x2e, 0xfe, - 0x09, 0x69, 0x72, 0x39, 0x96, 0xdd, 0x68, 0x3a, 0x05, 0xce, 0xfa, 0x5b, 0x03, 0xb2, 0xd2, 0x12, - 0x47, 0x2c, 0x1e, 0xbd, 0xda, 0xb7, 0xc4, 0x80, 0x46, 0xe0, 0x61, 0xea, 0xd2, 0x99, 0x94, 0x53, - 0x75, 0x16, 0x90, 0x7c, 0x06, 0x07, 0x1e, 0x63, 0x09, 0x65, 0x45, 0x93, 0x45, 0x92, 0x0c, 0x41, - 0x0f, 0x29, 0xa2, 0xc7, 0xe8, 0x95, 0x8f, 0xa9, 0x51, 0xe9, 0x56, 0x7a, 0xfa, 0xb0, 0xdd, 0x17, - 0x33, 0x91, 0x73, 0xee, 0xe4, 0x83, 0xc8, 0x11, 0x34, 0xd3, 0xc4, 0x67, 0x4c, 0x6a, 0xad, 0xca, - 0xac, 0x2b, 0xc2, 0xfa, 0x11, 0xc8, 0x05, 0x4d, 0x6d, 0xef, 0xe5, 0x87, 0x68, 0x6a, 0xfb, 0x91, - 0x4b, 0x67, 0x0e, 0x9d, 0x91, 0x43, 0xa8, 0x67, 0xe6, 0x54, 0xd7, 0x32, 0xb4, 0xde, 0xd2, 0xbd, - 0x8d, 0x96, 0x5a, 0xcf, 0xf0, 0xe1, 0x46, 0x3e, 0xe4, 0xc2, 0xf8, 0x59, 0x92, 0x9c, 0xc6, 0x53, - 0x2a, 0x33, 0xd6, 0x9c, 0x05, 0x14, 0xa5, 0xce, 0x92, 0xc4, 0x46, 0x96, 0x65, 0xcb, 0x90, 0xe0, - 0x6d, 0xef, 0x45, 0x74, 0x4a, 0xf4, 0xf7, 0xc0, 0xc9, 0x90, 0xe4, 0x65, 0x5e, 0xe9, 0x45, 0xf0, - 0x12, 0x59, 0xbf, 0x01, 0xb8, 0x34, 0x9a, 0xda, 0xc8, 0x84, 0x81, 0xf7, 0x3b, 0xe4, 0x7f, 0x69, - 0xa0, 0x2f, 0x8b, 0x2b, 0xb7, 0xb4, 0xe8, 0x96, 0xae, 0xdc, 0xd2, 0x82, 0x5b, 0x85, 0x84, 0x32, - 0x55, 0xc7, 0x46, 0xb6, 0xbc, 0xa6, 0x3c, 0x25, 0x22, 0x1e, 0x02, 0x9f, 0x46, 0xa9, 0x8a, 0xa8, - 0xa9, 0x88, 0x1c, 0x45, 0x4c, 0x78, 0x87, 0x34, 0x9a, 0xde, 0xf9, 0x21, 0x35, 0xea, 0x5d, 0xad, - 0x57, 0x71, 0x96, 0xd8, 0x7a, 0x00, 0xfd, 0x34, 0xa0, 0x5e, 0x92, 0xb5, 0xe7, 0x10, 0xea, 0xf3, - 0xc2, 0xfd, 0x2a, 0x24, 0x52, 0xc4, 0x3c, 0xbb, 0x79, 0x25, 0x70, 0x89, 0xd7, 0x9b, 0x57, 0xd9, - 0x7c, 0x84, 0xdf, 0xc3, 0xfe, 0xaa, 0xc8, 0x2e, 0x6d, 0xb0, 0xfe, 0xd4, 0xa0, 0xe5, 0x52, 0xe1, - 0xa7, 0x30, 0x8b, 0xa5, 0x5a, 0x0d, 0x68, 0xb0, 0x24, 0x9e, 0xf3, 0xa5, 0xd4, 0x05, 0x14, 0x27, - 0x42, 0x35, 0x22, 0xd9, 0xe8, 0x28, 0xb4, 0xee, 0xa0, 0xba, 0x79, 0xfd, 0x79, 0xff, 0xb5, 0xa2, - 0x7f, 0x6b, 0x0c, 0xed, 0xa2, 0xb4, 0x9d, 0x1c, 0x9e, 0xc0, 0xc7, 0x2e, 0x4d, 0xb3, 0x61, 0x39, - 0xf7, 0xfc, 0x80, 0x4e, 0xcf, 0x03, 0x4f, 0x5e, 0xca, 0x9a, 0x3c, 0x6d, 0xb3, 0xc1, 0x57, 0x60, - 0x94, 0x1f, 0xde, 0x49, 0xca, 0x77, 0xf2, 0xa9, 0x66, 0xd9, 0xdc, 0xd4, 0x4b, 0xe7, 0xb8, 0x9d, - 0x8c, 0x7b, 0xe8, 0x6c, 0x1e, 0xdc, 0x69, 0xec, 0x0f, 0xa1, 0x8e, 0xf2, 0xbc, 0xbc, 0xa9, 0x9a, - 0x93, 0xa1, 0xe1, 0x3f, 0x55, 0x10, 0xbf, 0x6e, 0xe4, 0x1e, 0x5a, 0x6b, 0xdb, 0x84, 0x7c, 0x5e, - 0xf2, 0x20, 0x37, 0x37, 0x98, 0xf9, 0xc5, 0x36, 0x61, 0xc8, 0x49, 0x0c, 0x9d, 0x9b, 0x79, 0x10, - 0xd8, 0x6a, 0x61, 0x8e, 0x5e, 0x5d, 0x3a, 0x93, 0x5b, 0xf3, 0xcb, 0x92, 0xf3, 0x65, 0x81, 0xa2, - 0xd6, 0x57, 0x5b, 0xc7, 0x22, 0x27, 0x5f, 0x43, 0x23, 0xeb, 0x1c, 0x69, 0xc9, 0xc5, 0xbd, 0xda, - 0x5a, 0x66, 0xbb, 0x48, 0x20, 0x27, 0xb7, 0x00, 0x63, 0x1a, 0xd8, 0xc8, 0xa4, 0xa8, 0x6e, 0x49, - 0xa1, 0xd5, 0x67, 0x91, 0xe1, 0xf8, 0x8d, 0x08, 0xe4, 0x64, 0x00, 0xef, 0x16, 0xaf, 0x94, 0xa8, - 0x82, 0xb9, 0xcd, 0x60, 0x7e, 0xb0, 0xc6, 0x20, 0x27, 0x27, 0xb0, 0x9f, 0x1f, 0x7c, 0xd2, 0xc9, - 0x54, 0x16, 0x9e, 0xa9, 0xf9, 0x51, 0x09, 0x8b, 0x9c, 0xb8, 0xd0, 0x29, 0x1b, 0x59, 0x72, 0xb4, - 0x08, 0x2f, 0x7b, 0x0a, 0xe6, 0xa7, 0xff, 0xf3, 0x15, 0x39, 0xb9, 0x80, 0xf6, 0xfa, 0x00, 0x12, - 0x43, 0x1e, 0x29, 0x19, 0x68, 0xf3, 0x93, 0xff, 0xf8, 0x82, 0x7c, 0xa4, 0xff, 0xdc, 0xec, 0x8b, - 0x7f, 0x54, 0x27, 0x21, 0xb2, 0x5f, 0xea, 0xf2, 0xef, 0xd2, 0x37, 0xff, 0x06, 0x00, 0x00, 0xff, - 0xff, 0x01, 0x7d, 0x7b, 0xe8, 0x67, 0x09, 0x00, 0x00, +var fileDescriptor_msg_110411abaacf415d = []byte{ + // 850 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xbc, 0x56, 0xcd, 0x6f, 0x1b, 0x55, + 0x10, 0xd7, 0xc6, 0xb1, 0xd3, 0xcc, 0x26, 0xb2, 0x79, 0x35, 0x61, 0x59, 0x15, 0xc9, 0x5d, 0x01, + 0xb2, 0x00, 0xd9, 0x92, 0x41, 0xe2, 0x90, 0x0b, 0xb8, 0x6e, 0x43, 0xa4, 0x2e, 0x6d, 0x76, 0xc3, + 0x85, 0x8b, 0xbb, 0xd4, 0x4f, 0xaf, 0xab, 0xec, 0xc7, 0xf3, 0xce, 0x9a, 0xb4, 0x70, 0xe6, 0xc8, + 0x1f, 0xc0, 0x89, 0x1b, 0x47, 0xfe, 0x46, 0xf4, 0x3e, 0x6c, 0xef, 0x57, 0x88, 0xe5, 0x43, 0x8f, + 0x33, 0x3b, 0x6f, 0xe6, 0xf7, 0x9b, 0xf9, 0xbd, 0x79, 0x0b, 0xa7, 0x31, 0xb2, 0x71, 0x8c, 0x6c, + 0xc4, 0xb3, 0x34, 0x4f, 0x49, 0x2b, 0x46, 0x66, 0x3f, 0x7e, 0xc1, 0x69, 0x32, 0xbf, 0x74, 0xc7, + 0xfc, 0x86, 0x8d, 0xa5, 0x7f, 0x8c, 0x8b, 0x9b, 0xf9, 0x2d, 0x8e, 0x6f, 0x51, 0xc5, 0x39, 0xbf, + 0x83, 0xe9, 0x22, 0x9b, 0x05, 0x79, 0x70, 0x9d, 0xba, 0x57, 0xa4, 0x0f, 0xed, 0x3c, 0xbd, 0xa1, + 0x89, 0x65, 0x0c, 0x8c, 0xe1, 0xb1, 0xa7, 0x0c, 0x32, 0x00, 0x33, 0xe5, 0x34, 0x0b, 0xf2, 0x30, + 0x4d, 0x2e, 0x67, 0xd6, 0x81, 0xfc, 0x56, 0x74, 0x91, 0x6f, 0xe0, 0x28, 0x56, 0x69, 0xac, 0xd6, + 0xc0, 0x18, 0x9a, 0x13, 0x7b, 0x84, 0x34, 0xfb, 0x95, 0x66, 0xf3, 0x80, 0x87, 0x73, 0x1e, 0x64, + 0x41, 0x8c, 0x23, 0x5d, 0xc8, 0x5b, 0x87, 0x3a, 0xb4, 0x50, 0x7c, 0x36, 0x2d, 0x26, 0x31, 0x76, + 0x4e, 0x72, 0x3f, 0x38, 0xe7, 0x4f, 0x03, 0xba, 0x2f, 0x57, 0xf8, 0xa6, 0x48, 0x74, 0x00, 0xe6, + 0x8b, 0xc2, 0x29, 0x45, 0xb7, 0xe8, 0x2a, 0xa2, 0x39, 0xd8, 0x1d, 0x8d, 0x03, 0x27, 0x7c, 0x85, + 0x6f, 0xae, 0xd3, 0x9f, 0x90, 0x66, 0x97, 0x33, 0xd9, 0x8d, 0x63, 0xaf, 0xe4, 0x73, 0xfe, 0x31, + 0x80, 0x6c, 0xb1, 0xa4, 0x09, 0x4b, 0xa7, 0xef, 0xdc, 0x2b, 0x62, 0xc1, 0x51, 0x14, 0x60, 0xee, + 0xd3, 0xa5, 0x84, 0x73, 0xe8, 0xad, 0x4d, 0xf2, 0x29, 0x9c, 0x06, 0x8c, 0x65, 0x94, 0x95, 0x49, + 0x96, 0x9d, 0x64, 0x02, 0x66, 0x4c, 0x11, 0x03, 0x46, 0x9f, 0x87, 0x98, 0x5b, 0xad, 0x41, 0x6b, + 0x68, 0x4e, 0x7a, 0x23, 0xa1, 0x89, 0x02, 0x73, 0xaf, 0x18, 0x44, 0x1e, 0xc1, 0x71, 0x9e, 0x85, + 0x8c, 0x49, 0xac, 0x87, 0x32, 0xeb, 0xd6, 0xe1, 0xfc, 0x08, 0xe4, 0x82, 0xe6, 0x6e, 0xf0, 0xf6, + 0xfb, 0x64, 0xe1, 0x86, 0x89, 0x4f, 0x97, 0x1e, 0x5d, 0x92, 0x33, 0xe8, 0x68, 0x72, 0xaa, 0x6b, + 0xda, 0xaa, 0xb6, 0xf4, 0xa0, 0xd6, 0x52, 0xe7, 0x16, 0x1e, 0xd6, 0xf2, 0x21, 0x17, 0xc4, 0x9f, + 0x66, 0xd9, 0x93, 0x74, 0x41, 0x65, 0xc6, 0xb6, 0xb7, 0x36, 0x45, 0xa9, 0xa7, 0x59, 0xe6, 0x22, + 0xd3, 0xd9, 0xb4, 0x25, 0xfc, 0x6e, 0xf0, 0x56, 0x74, 0x4a, 0xf4, 0xf7, 0xd4, 0xd3, 0x96, 0xf4, + 0xcb, 0xbc, 0x92, 0x8b, 0xf0, 0x4b, 0xcb, 0xf9, 0x0d, 0xc0, 0xa7, 0xc9, 0xc2, 0x45, 0x26, 0x08, + 0xbc, 0x5f, 0x91, 0xff, 0x6d, 0x80, 0xb9, 0x29, 0xae, 0xd8, 0xd2, 0x32, 0x5b, 0xba, 0x65, 0x4b, + 0x4b, 0x6c, 0x95, 0x25, 0x90, 0xa9, 0x3a, 0x2e, 0xb2, 0xcd, 0x98, 0x8a, 0x2e, 0x11, 0xf1, 0x3a, + 0x0a, 0x69, 0x92, 0xab, 0x88, 0xb6, 0x8a, 0x28, 0xb8, 0x88, 0x0d, 0x0f, 0x90, 0x26, 0x8b, 0xeb, + 0x30, 0xa6, 0x56, 0x67, 0x60, 0x0c, 0x5b, 0xde, 0xc6, 0x76, 0x5e, 0x83, 0xf9, 0x24, 0xa2, 0x41, + 0xa6, 0xdb, 0x73, 0x06, 0x9d, 0x55, 0x69, 0xbe, 0xca, 0x12, 0x29, 0x52, 0xae, 0x27, 0xaf, 0x00, + 0x6e, 0xec, 0x6a, 0xf3, 0x5a, 0xf5, 0x4b, 0xf8, 0x1d, 0x9c, 0x6c, 0x8b, 0xec, 0xd3, 0x06, 0xe7, + 0x2f, 0x03, 0xba, 0x3e, 0x15, 0x7c, 0x4a, 0x5a, 0x6c, 0xc4, 0x6a, 0xc1, 0x11, 0xcb, 0xd2, 0x15, + 0xdf, 0x40, 0x5d, 0x9b, 0xe2, 0x44, 0xac, 0x24, 0xa2, 0xa5, 0xa3, 0xac, 0x2a, 0x83, 0xc3, 0xfa, + 0xf8, 0x8b, 0xfc, 0xdb, 0x65, 0xfe, 0xce, 0x0c, 0x7a, 0x65, 0x68, 0x7b, 0x31, 0x3c, 0x87, 0x8f, + 0x7c, 0x9a, 0x6b, 0xb1, 0x3c, 0x0b, 0xc2, 0x88, 0x2e, 0x9e, 0x45, 0x81, 0x1c, 0x4a, 0x05, 0x9e, + 0x51, 0x6f, 0xf0, 0x73, 0xb0, 0x9a, 0x0f, 0xef, 0x05, 0xe5, 0x5b, 0x79, 0x55, 0x75, 0x36, 0x3f, + 0x0f, 0xf2, 0x15, 0xee, 0x06, 0xe3, 0x15, 0xf4, 0xeb, 0x07, 0xf7, 0x92, 0xfd, 0x19, 0x74, 0x50, + 0x9e, 0x97, 0x93, 0x6a, 0x7b, 0xda, 0x72, 0xfe, 0x30, 0xe0, 0xe1, 0x8c, 0x46, 0xfe, 0x8a, 0xd3, + 0xec, 0x42, 0x4c, 0x55, 0xeb, 0xb6, 0x38, 0x1f, 0xa3, 0xa2, 0xcf, 0xad, 0x4e, 0x0e, 0xee, 0xd2, + 0x49, 0xab, 0xac, 0x93, 0x7b, 0xf5, 0xe0, 0xfc, 0x00, 0xfd, 0x3a, 0x8c, 0x7d, 0x98, 0x4e, 0xfe, + 0x6d, 0x83, 0x78, 0xaf, 0xc9, 0x2b, 0xe8, 0x56, 0xf6, 0x23, 0xf9, 0xac, 0x61, 0xc5, 0xd4, 0x77, + 0xb2, 0xfd, 0xf9, 0x2e, 0x61, 0xc8, 0x49, 0x0a, 0xfd, 0x97, 0xab, 0x28, 0x72, 0xd5, 0x13, 0x30, + 0x7d, 0xe7, 0xd3, 0xa5, 0x7c, 0x07, 0xbe, 0x68, 0x38, 0xdf, 0x14, 0x28, 0x6a, 0x7d, 0xb9, 0x73, + 0x2c, 0x72, 0xf2, 0x15, 0x1c, 0x69, 0x2d, 0x90, 0xae, 0x7c, 0x8a, 0xb6, 0x7b, 0xd8, 0xee, 0x95, + 0x1d, 0xc8, 0xc9, 0x15, 0xc0, 0x8c, 0x46, 0x2e, 0x32, 0x09, 0x6a, 0xd0, 0x50, 0x68, 0xfb, 0x59, + 0x64, 0x78, 0x7c, 0x4f, 0x04, 0x72, 0x72, 0x01, 0xbd, 0xea, 0x94, 0x88, 0x25, 0x0b, 0x37, 0x68, + 0xc8, 0xfe, 0xf8, 0x8e, 0x2f, 0xc8, 0xc9, 0x18, 0x1e, 0xac, 0x17, 0x18, 0x51, 0xc8, 0x0b, 0x4b, + 0xd3, 0xfe, 0xa0, 0xe2, 0x41, 0x4e, 0xce, 0xe1, 0xa4, 0xb8, 0x13, 0x48, 0x5f, 0xd3, 0x2d, 0x6d, + 0x30, 0xfb, 0xc3, 0x06, 0x2f, 0x72, 0xe2, 0x43, 0xbf, 0xe9, 0x36, 0x93, 0x47, 0xeb, 0xf0, 0xa6, + 0x2d, 0x61, 0x7f, 0xf2, 0x3f, 0x5f, 0x55, 0x2f, 0xaa, 0x77, 0x53, 0xf7, 0xa2, 0xe1, 0xae, 0xeb, + 0x5e, 0x34, 0x5d, 0xe6, 0xa9, 0xf9, 0xf3, 0xf1, 0x48, 0xfc, 0x6c, 0x9e, 0xc7, 0xc8, 0x7e, 0xe9, + 0xc8, 0x3f, 0xc9, 0xaf, 0xff, 0x0b, 0x00, 0x00, 0xff, 0xff, 0xa9, 0xcc, 0x3b, 0xac, 0x82, 0x0a, + 0x00, 0x00, } diff --git a/pkg/proto/msg/msg.proto b/pkg/proto/msg/msg.proto index 1557f38b5..b2ea4fbbc 100644 --- a/pkg/proto/msg/msg.proto +++ b/pkg/proto/msg/msg.proto @@ -120,12 +120,22 @@ message GetSendMsgStatusResp{ string errMsg = 2; int32 status = 3; } - +message DelSuperGroupMsgReq{ + string opUserID = 1; + string userID = 2; + string groupID = 3; + string operationID = 4; +} +message DelSuperGroupMsgResp{ + int32 errCode = 1; + string errMsg = 2; +} service msg { rpc GetMaxAndMinSeq(server_api_params.GetMaxAndMinSeqReq) returns(server_api_params.GetMaxAndMinSeqResp); rpc PullMessageBySeqList(server_api_params.PullMessageBySeqListReq) returns(server_api_params.PullMessageBySeqListResp); rpc SendMsg(SendMsgReq) returns(SendMsgResp); rpc DelMsgList(server_api_params.DelMsgListReq) returns(server_api_params.DelMsgListResp); + rpc DelSuperGroupMsg(DelSuperGroupMsgReq) returns(DelSuperGroupMsgResp); rpc ClearMsg(ClearMsgReq) returns(ClearMsgResp); rpc SetMsgMinSeq(SetMsgMinSeqReq) returns(SetMsgMinSeqResp); rpc SetSendMsgFailedFlag(SetSendMsgFailedFlagReq) returns(SetSendMsgFailedFlagResp);