From 169665da32b77db074ec0de0a25c3df95665b68d Mon Sep 17 00:00:00 2001 From: wangchuxiao Date: Mon, 28 Mar 2022 18:13:01 +0800 Subject: [PATCH] tag --- internal/rpc/msg/tag_notification.go | 20 ---- internal/rpc/msg/tag_send_msg.go | 39 +++++++ internal/rpc/office/office.go | 23 +++- pkg/common/db/mongoModel.go | 35 ++++-- pkg/proto/office/office.pb.go | 156 +++++++++++++-------------- pkg/proto/office/office.proto | 2 +- 6 files changed, 162 insertions(+), 113 deletions(-) delete mode 100644 internal/rpc/msg/tag_notification.go create mode 100644 internal/rpc/msg/tag_send_msg.go diff --git a/internal/rpc/msg/tag_notification.go b/internal/rpc/msg/tag_notification.go deleted file mode 100644 index 8a6356bb4..000000000 --- a/internal/rpc/msg/tag_notification.go +++ /dev/null @@ -1,20 +0,0 @@ -package msg - -import ( - "Open_IM/pkg/common/constant" - "Open_IM/pkg/common/log" - "Open_IM/pkg/utils" -) - -func SetTagNotification(operationID, sendID, recvID, content string, contentType int32) { - log.NewInfo(operationID, utils.GetSelfFuncName(), "args: ", sendID, recvID, content, contentType) - var n NotificationMsg - n.SendID = sendID - n.RecvID = recvID - n.ContentType = contentType - n.SessionType = constant.SingleChatType - n.MsgFrom = constant.UserMsgType - n.OperationID = operationID - n.Content = []byte(content) - Notification(&n) -} diff --git a/internal/rpc/msg/tag_send_msg.go b/internal/rpc/msg/tag_send_msg.go new file mode 100644 index 000000000..08c88bfba --- /dev/null +++ b/internal/rpc/msg/tag_send_msg.go @@ -0,0 +1,39 @@ +package msg + +import ( + "Open_IM/pkg/common/config" + "Open_IM/pkg/common/constant" + "Open_IM/pkg/common/log" + "Open_IM/pkg/grpc-etcdv3/getcdv3" + pbChat "Open_IM/pkg/proto/chat" + pbCommon "Open_IM/pkg/proto/sdk_ws" + "Open_IM/pkg/utils" + "context" + "strings" +) + +func TagSendMessage(operationID, sendID, recvID, content string, contentType int32) { + log.NewInfo(operationID, utils.GetSelfFuncName(), "args: ", sendID, recvID, content, contentType) + var req pbChat.SendMsgReq + var msgData pbCommon.MsgData + msgData.SendID = sendID + msgData.RecvID = recvID + msgData.ContentType = contentType + msgData.SessionType = constant.SingleChatType + msgData.MsgFrom = constant.UserMsgType + msgData.Content = []byte(content) + msgData.Options = map[string]bool{} + msgData.Options[constant.IsSenderConversationUpdate] = false + req.MsgData = &msgData + req.OperationID = operationID + etcdConn := getcdv3.GetConn(config.Config.Etcd.EtcdSchema, strings.Join(config.Config.Etcd.EtcdAddr, ","), config.Config.RpcRegisterName.OpenImOfflineMessageName) + client := pbChat.NewChatClient(etcdConn) + respPb, err := client.SendMsg(context.Background(), &req) + if err != nil { + log.NewError(operationID, utils.GetSelfFuncName(), "send msg failed", err.Error()) + return + } + if respPb.ErrCode != 0 { + log.NewError(operationID, utils.GetSelfFuncName(), "send tag msg failed ", respPb) + } +} diff --git a/internal/rpc/office/office.go b/internal/rpc/office/office.go index b8ac7c558..ab66f74d4 100644 --- a/internal/rpc/office/office.go +++ b/internal/rpc/office/office.go @@ -78,7 +78,7 @@ func (s *officeServer) GetUserTags(_ context.Context, req *pbOffice.GetUserTagsR resp.CommonResp.ErrCode = constant.ErrDB.ErrCode return resp, nil } - log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "tags: ", tags) + log.NewDebug(req.OperationID, utils.GetSelfFuncName(), "tags: ", tags) for _, v := range tags { tag := &pbOffice.Tag{ TagID: v.TagID, @@ -149,7 +149,7 @@ func (s *officeServer) SendMsg2Tag(_ context.Context, req *pbOffice.SendMsg2TagR resp = &pbOffice.SendMsg2TagResp{CommonResp: &pbOffice.CommonResp{}} userIDList, err := db.DB.GetUserIDListByTagID(req.SendID, req.TagID) for _, userID := range userIDList { - msg.SetTagNotification(req.OperationID, req.SendID, userID, req.Content, req.ContentType) + msg.TagSendMessage(req.OperationID, req.SendID, userID, req.Content, req.ContentType) } if err := db.DB.SaveTagSendLog(req); err != nil { log.NewError(req.OperationID, utils.GetSelfFuncName(), "SaveTagSendLog failed", err.Error()) @@ -178,10 +178,23 @@ func (s *officeServer) GetTagSendLogs(_ context.Context, req *pbOffice.GetTagSen resp.CommonResp.ErrCode = constant.ErrDB.ErrCode return resp, nil } - if err := utils.CopyStructFields(&resp.TagSendLogs, tagSendLogs); err != nil { - log.NewDebug(req.OperationID, utils.GetSelfFuncName(), "CopyStructFields failed", err.Error()) + for _, v := range tagSendLogs { + var userList []*pbOffice.TagUser + for _, v2 := range v.TagUserList { + userList = append(userList, &pbOffice.TagUser{ + UserID: v2.UserID, + UserName: v2.UserName, + }) + } + resp.TagSendLogs = append(resp.TagSendLogs, &pbOffice.TagSendLog{ + TagID: v.TagID, + TagName: v.TagName, + ContentType: v.ContentType, + Content: v.Content, + SendTime: v.SendTime, + TagUserList: userList, + }) } - log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "resp: ", resp.String()) return resp, nil } diff --git a/pkg/common/db/mongoModel.go b/pkg/common/db/mongoModel.go index 863c1b6fb..1a262f823 100644 --- a/pkg/common/db/mongoModel.go +++ b/pkg/common/db/mongoModel.go @@ -3,6 +3,7 @@ package db import ( "Open_IM/pkg/common/config" "Open_IM/pkg/common/constant" + "Open_IM/pkg/common/db/mysql_model/im_mysql_model" "Open_IM/pkg/common/log" pbMsg "Open_IM/pkg/proto/chat" officePb "Open_IM/pkg/proto/office" @@ -520,15 +521,20 @@ func (d *DataBases) GetUserIDListByTagID(userID, tagID string) ([]string, error) return tag.UserList, nil } +type TagUser struct { + UserID string `bson:"userID"` + UserName string `bson:"userName"` +} + type TagSendLog struct { - TagID string `bson:"tagID"` - TagName string `bson:"tagName"` - SendID string `bson:"sendID"` - SenderPlatformID int32 `bson:"senderPlatformID"` - Content string `bson:"content"` - ContentType int32 `bson:"contentType"` - SendTime int64 `bson:"sendTime"` - UserList []string `bson:"userList"` + TagID string `bson:"tagID"` + TagName string `bson:"tagName"` + SendID string `bson:"sendID"` + SenderPlatformID int32 `bson:"senderPlatformID"` + Content string `bson:"content"` + ContentType int32 `bson:"contentType"` + SendTime int64 `bson:"sendTime"` + TagUserList []TagUser `bson:"userList"` } func (d *DataBases) SaveTagSendLog(sendReq *officePb.SendMsg2TagReq) error { @@ -545,7 +551,18 @@ func (d *DataBases) SaveTagSendLog(sendReq *officePb.SendMsg2TagReq) error { Content: sendReq.Content, ContentType: sendReq.ContentType, SendTime: time.Now().Unix(), - UserList: tag.UserList, + } + for _, userID := range tag.UserList { + userName, err := im_mysql_model.GetUserNameByUserID(userID) + if err != nil { + log.NewError("", utils.GetSelfFuncName(), "GetUserNameByUserID failed", err.Error()) + continue + } + tagUser := TagUser{ + UserID: userID, + UserName: userName, + } + tagSendLog.TagUserList = append(tagSendLog.TagUserList, tagUser) } _, err := c.InsertOne(ctx, tagSendLog) return err diff --git a/pkg/proto/office/office.pb.go b/pkg/proto/office/office.pb.go index 6f1ae7157..a3d7c9da0 100644 --- a/pkg/proto/office/office.pb.go +++ b/pkg/proto/office/office.pb.go @@ -36,7 +36,7 @@ func (m *CommonResp) Reset() { *m = CommonResp{} } func (m *CommonResp) String() string { return proto.CompactTextString(m) } func (*CommonResp) ProtoMessage() {} func (*CommonResp) Descriptor() ([]byte, []int) { - return fileDescriptor_office_4149f396a2012e50, []int{0} + return fileDescriptor_office_fb25433b0aa4afaa, []int{0} } func (m *CommonResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_CommonResp.Unmarshal(m, b) @@ -82,7 +82,7 @@ func (m *TagUser) Reset() { *m = TagUser{} } func (m *TagUser) String() string { return proto.CompactTextString(m) } func (*TagUser) ProtoMessage() {} func (*TagUser) Descriptor() ([]byte, []int) { - return fileDescriptor_office_4149f396a2012e50, []int{1} + return fileDescriptor_office_fb25433b0aa4afaa, []int{1} } func (m *TagUser) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_TagUser.Unmarshal(m, b) @@ -129,7 +129,7 @@ func (m *Tag) Reset() { *m = Tag{} } func (m *Tag) String() string { return proto.CompactTextString(m) } func (*Tag) ProtoMessage() {} func (*Tag) Descriptor() ([]byte, []int) { - return fileDescriptor_office_4149f396a2012e50, []int{2} + return fileDescriptor_office_fb25433b0aa4afaa, []int{2} } func (m *Tag) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_Tag.Unmarshal(m, b) @@ -182,7 +182,7 @@ func (m *GetUserTagsReq) Reset() { *m = GetUserTagsReq{} } func (m *GetUserTagsReq) String() string { return proto.CompactTextString(m) } func (*GetUserTagsReq) ProtoMessage() {} func (*GetUserTagsReq) Descriptor() ([]byte, []int) { - return fileDescriptor_office_4149f396a2012e50, []int{3} + return fileDescriptor_office_fb25433b0aa4afaa, []int{3} } func (m *GetUserTagsReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetUserTagsReq.Unmarshal(m, b) @@ -228,7 +228,7 @@ func (m *GetUserTagsResp) Reset() { *m = GetUserTagsResp{} } func (m *GetUserTagsResp) String() string { return proto.CompactTextString(m) } func (*GetUserTagsResp) ProtoMessage() {} func (*GetUserTagsResp) Descriptor() ([]byte, []int) { - return fileDescriptor_office_4149f396a2012e50, []int{4} + return fileDescriptor_office_fb25433b0aa4afaa, []int{4} } func (m *GetUserTagsResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetUserTagsResp.Unmarshal(m, b) @@ -276,7 +276,7 @@ func (m *CreateTagReq) Reset() { *m = CreateTagReq{} } func (m *CreateTagReq) String() string { return proto.CompactTextString(m) } func (*CreateTagReq) ProtoMessage() {} func (*CreateTagReq) Descriptor() ([]byte, []int) { - return fileDescriptor_office_4149f396a2012e50, []int{5} + return fileDescriptor_office_fb25433b0aa4afaa, []int{5} } func (m *CreateTagReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_CreateTagReq.Unmarshal(m, b) @@ -335,7 +335,7 @@ func (m *CreateTagResp) Reset() { *m = CreateTagResp{} } func (m *CreateTagResp) String() string { return proto.CompactTextString(m) } func (*CreateTagResp) ProtoMessage() {} func (*CreateTagResp) Descriptor() ([]byte, []int) { - return fileDescriptor_office_4149f396a2012e50, []int{6} + return fileDescriptor_office_fb25433b0aa4afaa, []int{6} } func (m *CreateTagResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_CreateTagResp.Unmarshal(m, b) @@ -375,7 +375,7 @@ func (m *DeleteTagReq) Reset() { *m = DeleteTagReq{} } func (m *DeleteTagReq) String() string { return proto.CompactTextString(m) } func (*DeleteTagReq) ProtoMessage() {} func (*DeleteTagReq) Descriptor() ([]byte, []int) { - return fileDescriptor_office_4149f396a2012e50, []int{7} + return fileDescriptor_office_fb25433b0aa4afaa, []int{7} } func (m *DeleteTagReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_DeleteTagReq.Unmarshal(m, b) @@ -427,7 +427,7 @@ func (m *DeleteTagResp) Reset() { *m = DeleteTagResp{} } func (m *DeleteTagResp) String() string { return proto.CompactTextString(m) } func (*DeleteTagResp) ProtoMessage() {} func (*DeleteTagResp) Descriptor() ([]byte, []int) { - return fileDescriptor_office_4149f396a2012e50, []int{8} + return fileDescriptor_office_fb25433b0aa4afaa, []int{8} } func (m *DeleteTagResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_DeleteTagResp.Unmarshal(m, b) @@ -470,7 +470,7 @@ func (m *SetTagReq) Reset() { *m = SetTagReq{} } func (m *SetTagReq) String() string { return proto.CompactTextString(m) } func (*SetTagReq) ProtoMessage() {} func (*SetTagReq) Descriptor() ([]byte, []int) { - return fileDescriptor_office_4149f396a2012e50, []int{9} + return fileDescriptor_office_fb25433b0aa4afaa, []int{9} } func (m *SetTagReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SetTagReq.Unmarshal(m, b) @@ -543,7 +543,7 @@ func (m *SetTagResp) Reset() { *m = SetTagResp{} } func (m *SetTagResp) String() string { return proto.CompactTextString(m) } func (*SetTagResp) ProtoMessage() {} func (*SetTagResp) Descriptor() ([]byte, []int) { - return fileDescriptor_office_4149f396a2012e50, []int{10} + return fileDescriptor_office_fb25433b0aa4afaa, []int{10} } func (m *SetTagResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SetTagResp.Unmarshal(m, b) @@ -586,7 +586,7 @@ func (m *SendMsg2TagReq) Reset() { *m = SendMsg2TagReq{} } func (m *SendMsg2TagReq) String() string { return proto.CompactTextString(m) } func (*SendMsg2TagReq) ProtoMessage() {} func (*SendMsg2TagReq) Descriptor() ([]byte, []int) { - return fileDescriptor_office_4149f396a2012e50, []int{11} + return fileDescriptor_office_fb25433b0aa4afaa, []int{11} } func (m *SendMsg2TagReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SendMsg2TagReq.Unmarshal(m, b) @@ -659,7 +659,7 @@ func (m *SendMsg2TagResp) Reset() { *m = SendMsg2TagResp{} } func (m *SendMsg2TagResp) String() string { return proto.CompactTextString(m) } func (*SendMsg2TagResp) ProtoMessage() {} func (*SendMsg2TagResp) Descriptor() ([]byte, []int) { - return fileDescriptor_office_4149f396a2012e50, []int{12} + return fileDescriptor_office_fb25433b0aa4afaa, []int{12} } func (m *SendMsg2TagResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SendMsg2TagResp.Unmarshal(m, b) @@ -699,7 +699,7 @@ func (m *GetTagSendLogsReq) Reset() { *m = GetTagSendLogsReq{} } func (m *GetTagSendLogsReq) String() string { return proto.CompactTextString(m) } func (*GetTagSendLogsReq) ProtoMessage() {} func (*GetTagSendLogsReq) Descriptor() ([]byte, []int) { - return fileDescriptor_office_4149f396a2012e50, []int{13} + return fileDescriptor_office_fb25433b0aa4afaa, []int{13} } func (m *GetTagSendLogsReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetTagSendLogsReq.Unmarshal(m, b) @@ -741,22 +741,22 @@ func (m *GetTagSendLogsReq) GetOperationID() string { } type TagSendLog struct { - TagID string `protobuf:"bytes,1,opt,name=tagID" json:"tagID,omitempty"` - TagName string `protobuf:"bytes,2,opt,name=tagName" json:"tagName,omitempty"` - ContentType int32 `protobuf:"varint,3,opt,name=contentType" json:"contentType,omitempty"` - Content string `protobuf:"bytes,4,opt,name=content" json:"content,omitempty"` - SendTime int64 `protobuf:"varint,5,opt,name=sendTime" json:"sendTime,omitempty"` - UserList []string `protobuf:"bytes,6,rep,name=userList" json:"userList,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + TagID string `protobuf:"bytes,1,opt,name=tagID" json:"tagID,omitempty"` + TagName string `protobuf:"bytes,2,opt,name=tagName" json:"tagName,omitempty"` + ContentType int32 `protobuf:"varint,3,opt,name=contentType" json:"contentType,omitempty"` + Content string `protobuf:"bytes,4,opt,name=content" json:"content,omitempty"` + SendTime int64 `protobuf:"varint,5,opt,name=sendTime" json:"sendTime,omitempty"` + TagUserList []*TagUser `protobuf:"bytes,6,rep,name=TagUserList" json:"TagUserList,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } func (m *TagSendLog) Reset() { *m = TagSendLog{} } func (m *TagSendLog) String() string { return proto.CompactTextString(m) } func (*TagSendLog) ProtoMessage() {} func (*TagSendLog) Descriptor() ([]byte, []int) { - return fileDescriptor_office_4149f396a2012e50, []int{14} + return fileDescriptor_office_fb25433b0aa4afaa, []int{14} } func (m *TagSendLog) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_TagSendLog.Unmarshal(m, b) @@ -811,9 +811,9 @@ func (m *TagSendLog) GetSendTime() int64 { return 0 } -func (m *TagSendLog) GetUserList() []string { +func (m *TagSendLog) GetTagUserList() []*TagUser { if m != nil { - return m.UserList + return m.TagUserList } return nil } @@ -831,7 +831,7 @@ func (m *GetTagSendLogsResp) Reset() { *m = GetTagSendLogsResp{} } func (m *GetTagSendLogsResp) String() string { return proto.CompactTextString(m) } func (*GetTagSendLogsResp) ProtoMessage() {} func (*GetTagSendLogsResp) Descriptor() ([]byte, []int) { - return fileDescriptor_office_4149f396a2012e50, []int{15} + return fileDescriptor_office_fb25433b0aa4afaa, []int{15} } func (m *GetTagSendLogsResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetTagSendLogsResp.Unmarshal(m, b) @@ -1128,56 +1128,56 @@ var _OfficeService_serviceDesc = grpc.ServiceDesc{ Metadata: "office/office.proto", } -func init() { proto.RegisterFile("office/office.proto", fileDescriptor_office_4149f396a2012e50) } +func init() { proto.RegisterFile("office/office.proto", fileDescriptor_office_fb25433b0aa4afaa) } -var fileDescriptor_office_4149f396a2012e50 = []byte{ - // 762 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x9c, 0x56, 0xc1, 0x6e, 0xd3, 0x4c, - 0x10, 0x96, 0x93, 0x26, 0x6d, 0x26, 0x6d, 0xf3, 0x77, 0xff, 0x52, 0x82, 0x0f, 0x10, 0x2c, 0x90, - 0x2a, 0x90, 0x12, 0x29, 0x70, 0x40, 0x42, 0x54, 0x88, 0xa4, 0xaa, 0x8a, 0x5a, 0x5a, 0x6d, 0xd3, - 0x0b, 0x07, 0xa2, 0x6d, 0x32, 0xb1, 0xac, 0x36, 0xb6, 0xbb, 0xbb, 0x6d, 0xc5, 0x95, 0x57, 0xe0, - 0x45, 0x78, 0x09, 0x24, 0xae, 0x3c, 0x10, 0x12, 0xf2, 0x7a, 0x6d, 0xaf, 0x9d, 0x44, 0x40, 0x4e, - 0xd9, 0x99, 0x9d, 0x99, 0x7c, 0xdf, 0x37, 0xbb, 0xb3, 0x86, 0xff, 0x83, 0xc9, 0xc4, 0x1b, 0x61, - 0x27, 0xfe, 0x69, 0x87, 0x3c, 0x90, 0x01, 0xa9, 0xc6, 0x96, 0xfd, 0xf8, 0x24, 0x44, 0x7f, 0x78, - 0x78, 0xdc, 0x09, 0x2f, 0xdd, 0x8e, 0xda, 0xea, 0x88, 0xf1, 0xe5, 0xf0, 0x4e, 0x74, 0xee, 0x44, - 0x1c, 0xea, 0xec, 0x01, 0xf4, 0x82, 0xe9, 0x34, 0xf0, 0x29, 0x8a, 0x90, 0x34, 0x61, 0x15, 0x39, - 0xef, 0x05, 0x63, 0x6c, 0x5a, 0x2d, 0x6b, 0xb7, 0x42, 0x13, 0x93, 0xec, 0x40, 0x15, 0x39, 0x3f, - 0x16, 0x6e, 0xb3, 0xd4, 0xb2, 0x76, 0x6b, 0x54, 0x5b, 0xce, 0x1b, 0x58, 0x1d, 0x30, 0xf7, 0x5c, - 0x20, 0x8f, 0x42, 0x6e, 0x04, 0xf2, 0xc3, 0xbe, 0xca, 0xad, 0x51, 0x6d, 0x11, 0x1b, 0xd6, 0xa2, - 0xd5, 0x07, 0x36, 0x45, 0x9d, 0x9c, 0xda, 0xce, 0x05, 0x94, 0x07, 0xcc, 0x25, 0xdb, 0x50, 0x91, - 0xcc, 0x4d, 0x33, 0x63, 0x23, 0x42, 0x23, 0x99, 0x6b, 0xe4, 0x25, 0x26, 0x79, 0x1e, 0x97, 0x3c, - 0xf2, 0x84, 0x6c, 0x96, 0x5b, 0xe5, 0xdd, 0x7a, 0xb7, 0xd1, 0xd6, 0x0a, 0x68, 0x34, 0x34, 0x0d, - 0x70, 0xde, 0xc3, 0xe6, 0x01, 0xca, 0xc8, 0x39, 0x60, 0xae, 0xa0, 0x78, 0xbd, 0x10, 0x69, 0x0b, - 0xea, 0x41, 0x88, 0x9c, 0x49, 0x2f, 0xf0, 0x0f, 0xfb, 0xfa, 0x4f, 0x4d, 0x97, 0x33, 0x81, 0x46, - 0xae, 0x96, 0x08, 0x49, 0x17, 0x60, 0x94, 0x2a, 0xa8, 0x0a, 0xd6, 0xbb, 0x24, 0x41, 0x93, 0x69, - 0x4b, 0x8d, 0x28, 0xf2, 0x08, 0x56, 0x24, 0x73, 0x45, 0xb3, 0xa4, 0xb0, 0xd7, 0x0d, 0xec, 0x54, - 0x6d, 0x38, 0x5f, 0x2c, 0x58, 0xef, 0x71, 0x64, 0x12, 0x23, 0x1f, 0x5e, 0x9b, 0x5a, 0x58, 0x79, - 0x2d, 0x32, 0x32, 0xa5, 0x1c, 0x99, 0x87, 0x00, 0xf1, 0x2a, 0x55, 0xa9, 0x46, 0x0d, 0x4f, 0x91, - 0xec, 0xca, 0x2c, 0xd9, 0x1e, 0x6c, 0x18, 0x18, 0x96, 0xa3, 0xea, 0x7c, 0x82, 0xf5, 0x3e, 0x5e, - 0x61, 0x4a, 0x64, 0x91, 0xf6, 0xe9, 0x11, 0x28, 0x99, 0x47, 0xa0, 0x00, 0xb2, 0x3c, 0x17, 0xa4, - 0x51, 0x7f, 0x49, 0x90, 0x3f, 0x2d, 0xa8, 0x9d, 0xa1, 0x5c, 0x0a, 0x62, 0x13, 0x56, 0x7d, 0xbc, - 0x53, 0x9d, 0x89, 0xe1, 0x25, 0x26, 0x69, 0x03, 0xf1, 0xfc, 0x11, 0x47, 0x26, 0xf0, 0x3c, 0xeb, - 0xc4, 0x8a, 0xea, 0xc4, 0x9c, 0x1d, 0xf2, 0x0c, 0xfe, 0xe3, 0x38, 0xbe, 0x19, 0x99, 0xd1, 0x15, - 0x15, 0x3d, 0xe3, 0x2f, 0x0a, 0x53, 0x9d, 0x15, 0xe6, 0x2d, 0x40, 0x42, 0x69, 0x49, 0x55, 0x7e, - 0x58, 0xb0, 0x79, 0x86, 0xfe, 0xf8, 0x58, 0xb8, 0x5d, 0x2d, 0xcd, 0xfc, 0x8b, 0xba, 0x03, 0x55, - 0x81, 0xfe, 0x38, 0x3b, 0x82, 0xb1, 0x15, 0x11, 0x8a, 0x56, 0xc8, 0x4f, 0xaf, 0x98, 0x9c, 0x04, - 0x7c, 0xaa, 0x5b, 0x58, 0xa1, 0x33, 0xfe, 0x48, 0xc6, 0x51, 0xe0, 0x4b, 0xf4, 0xa5, 0x3e, 0x8a, - 0x89, 0x19, 0x51, 0xd5, 0xcb, 0xc1, 0xe7, 0x10, 0x9b, 0x15, 0x55, 0xc0, 0x74, 0xfd, 0x85, 0x18, - 0xfb, 0xd0, 0xc8, 0x31, 0x59, 0x52, 0x91, 0xaf, 0x16, 0x6c, 0x1d, 0x28, 0x51, 0xa3, 0x6a, 0x47, - 0x41, 0x3c, 0x4e, 0xfa, 0x00, 0xa7, 0xcc, 0xf5, 0x7c, 0xf5, 0x67, 0xba, 0xd2, 0x93, 0xb6, 0x40, - 0x7e, 0x8b, 0x7c, 0xc8, 0x42, 0x6f, 0x18, 0x32, 0xce, 0xa6, 0xa2, 0x4d, 0xf1, 0xfa, 0x06, 0x85, - 0xcc, 0x62, 0xa9, 0x91, 0xb7, 0xf0, 0x1e, 0xff, 0xf9, 0x0a, 0x7c, 0xb3, 0x00, 0x32, 0x48, 0xff, - 0x3c, 0x4c, 0x0b, 0xfa, 0x96, 0x67, 0xf5, 0x5d, 0xdc, 0x1b, 0x1b, 0xd6, 0xa2, 0x4e, 0x0e, 0xbc, - 0x69, 0xdc, 0x98, 0x32, 0x4d, 0xed, 0x64, 0xee, 0xab, 0x63, 0x5c, 0x55, 0xc7, 0x38, 0x9b, 0xc9, - 0xdf, 0x2d, 0x20, 0x45, 0x21, 0x97, 0x9c, 0xa5, 0xfb, 0x39, 0xf5, 0x4b, 0x2a, 0xe7, 0xe9, 0x5c, - 0xf5, 0x45, 0x18, 0xf8, 0x02, 0x17, 0xc8, 0xff, 0x12, 0xea, 0x32, 0x43, 0xa3, 0x5f, 0x15, 0x62, - 0x4c, 0x66, 0xbd, 0x45, 0xcd, 0xb0, 0xee, 0xaf, 0x12, 0x6c, 0x9c, 0xa8, 0x90, 0x33, 0xe4, 0xb7, - 0xde, 0x08, 0xc9, 0x1e, 0xd4, 0x8d, 0x17, 0x82, 0xec, 0x24, 0x15, 0xf2, 0x4f, 0x90, 0x7d, 0x7f, - 0xae, 0x5f, 0x84, 0xe4, 0x15, 0xd4, 0xd2, 0xa1, 0x4b, 0xb6, 0x53, 0xee, 0xc6, 0x5b, 0x60, 0xdf, - 0x9b, 0xe3, 0x8d, 0x33, 0xd3, 0x49, 0x98, 0x65, 0x9a, 0xc3, 0x37, 0xcb, 0xcc, 0x8f, 0xcc, 0x0e, - 0x54, 0xe3, 0x51, 0x41, 0xb6, 0x92, 0x80, 0x74, 0x1a, 0xda, 0xa4, 0xe8, 0x12, 0x61, 0x44, 0xd2, - 0xb8, 0x4e, 0x19, 0xc9, 0xfc, 0xb4, 0xc8, 0x48, 0x16, 0xef, 0xde, 0x81, 0x7a, 0x92, 0x8d, 0xee, - 0x93, 0x07, 0x86, 0x1e, 0xf9, 0xeb, 0x65, 0xdb, 0x8b, 0xb6, 0x44, 0xf8, 0x6e, 0xeb, 0x63, 0xa3, - 0xad, 0xbf, 0x7d, 0x5e, 0xc7, 0x3f, 0x17, 0x55, 0xf5, 0x61, 0xf3, 0xe2, 0x77, 0x00, 0x00, 0x00, - 0xff, 0xff, 0x62, 0x7d, 0x95, 0x4e, 0x1a, 0x09, 0x00, 0x00, +var fileDescriptor_office_fb25433b0aa4afaa = []byte{ + // 764 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x9c, 0x56, 0x41, 0x6f, 0xd3, 0x4a, + 0x10, 0x96, 0x93, 0x26, 0x6d, 0x26, 0x6d, 0xf3, 0xba, 0xaf, 0xaf, 0x2f, 0xf8, 0x00, 0xc1, 0x02, + 0xa9, 0x02, 0x29, 0x11, 0x81, 0x03, 0x12, 0xa2, 0x42, 0x24, 0x55, 0x55, 0xd4, 0xd2, 0x6a, 0x9b, + 0x5e, 0x38, 0x10, 0x6d, 0x93, 0x89, 0x65, 0xb5, 0xb1, 0xdd, 0xdd, 0x6d, 0x2b, 0xae, 0xfc, 0x05, + 0x7e, 0x13, 0x82, 0x2b, 0x3f, 0x08, 0x09, 0x79, 0xbd, 0xb6, 0xd7, 0x89, 0x23, 0x20, 0xa7, 0xec, + 0xcc, 0xce, 0x4c, 0xbe, 0xef, 0x9b, 0xdd, 0x59, 0xc3, 0xbf, 0xc1, 0x64, 0xe2, 0x8d, 0xb0, 0x13, + 0xff, 0xb4, 0x43, 0x1e, 0xc8, 0x80, 0x54, 0x63, 0xcb, 0x7e, 0x78, 0x12, 0xa2, 0x3f, 0x3c, 0x3c, + 0xee, 0x84, 0x97, 0x6e, 0x47, 0x6d, 0x75, 0xc4, 0xf8, 0x72, 0x78, 0x27, 0x3a, 0x77, 0x22, 0x0e, + 0x75, 0xf6, 0x00, 0x7a, 0xc1, 0x74, 0x1a, 0xf8, 0x14, 0x45, 0x48, 0x9a, 0xb0, 0x8a, 0x9c, 0xf7, + 0x82, 0x31, 0x36, 0xad, 0x96, 0xb5, 0x5b, 0xa1, 0x89, 0x49, 0x76, 0xa0, 0x8a, 0x9c, 0x1f, 0x0b, + 0xb7, 0x59, 0x6a, 0x59, 0xbb, 0x35, 0xaa, 0x2d, 0xe7, 0x35, 0xac, 0x0e, 0x98, 0x7b, 0x2e, 0x90, + 0x47, 0x21, 0x37, 0x02, 0xf9, 0x61, 0x5f, 0xe5, 0xd6, 0xa8, 0xb6, 0x88, 0x0d, 0x6b, 0xd1, 0xea, + 0x3d, 0x9b, 0xa2, 0x4e, 0x4e, 0x6d, 0xe7, 0x02, 0xca, 0x03, 0xe6, 0x92, 0x6d, 0xa8, 0x48, 0xe6, + 0xa6, 0x99, 0xb1, 0x11, 0xa1, 0x91, 0xcc, 0x35, 0xf2, 0x12, 0x93, 0x3c, 0x8d, 0x4b, 0x1e, 0x79, + 0x42, 0x36, 0xcb, 0xad, 0xf2, 0x6e, 0xbd, 0xdb, 0x68, 0x6b, 0x05, 0x34, 0x1a, 0x9a, 0x06, 0x38, + 0xef, 0x60, 0xf3, 0x00, 0x65, 0xe4, 0x1c, 0x30, 0x57, 0x50, 0xbc, 0x5e, 0x88, 0xb4, 0x05, 0xf5, + 0x20, 0x44, 0xce, 0xa4, 0x17, 0xf8, 0x87, 0x7d, 0xfd, 0xa7, 0xa6, 0xcb, 0x99, 0x40, 0x23, 0x57, + 0x4b, 0x84, 0xa4, 0x0b, 0x30, 0x4a, 0x15, 0x54, 0x05, 0xeb, 0x5d, 0x92, 0xa0, 0xc9, 0xb4, 0xa5, + 0x46, 0x14, 0x79, 0x00, 0x2b, 0x92, 0xb9, 0xa2, 0x59, 0x52, 0xd8, 0xeb, 0x06, 0x76, 0xaa, 0x36, + 0x9c, 0xcf, 0x16, 0xac, 0xf7, 0x38, 0x32, 0x89, 0x91, 0x0f, 0xaf, 0x4d, 0x2d, 0xac, 0xbc, 0x16, + 0x19, 0x99, 0x52, 0x8e, 0xcc, 0x7d, 0x80, 0x78, 0x95, 0xaa, 0x54, 0xa3, 0x86, 0x67, 0x96, 0xec, + 0xca, 0x3c, 0xd9, 0x1e, 0x6c, 0x18, 0x18, 0x96, 0xa3, 0xea, 0x7c, 0x84, 0xf5, 0x3e, 0x5e, 0x61, + 0x4a, 0x64, 0x91, 0xf6, 0xe9, 0x11, 0x28, 0x99, 0x47, 0x60, 0x06, 0x64, 0xb9, 0x10, 0xa4, 0x51, + 0x7f, 0x49, 0x90, 0x3f, 0x2c, 0xa8, 0x9d, 0xa1, 0x5c, 0x0a, 0x62, 0x13, 0x56, 0x7d, 0xbc, 0x53, + 0x9d, 0x89, 0xe1, 0x25, 0x26, 0x69, 0x03, 0xf1, 0xfc, 0x11, 0x47, 0x26, 0xf0, 0x3c, 0xeb, 0xc4, + 0x8a, 0xea, 0x44, 0xc1, 0x0e, 0x79, 0x02, 0xff, 0x70, 0x1c, 0xdf, 0x8c, 0xcc, 0xe8, 0x8a, 0x8a, + 0x9e, 0xf3, 0xcf, 0x0a, 0x53, 0x9d, 0x17, 0xe6, 0x0d, 0x40, 0x42, 0x69, 0x49, 0x55, 0xbe, 0x5b, + 0xb0, 0x79, 0x86, 0xfe, 0xf8, 0x58, 0xb8, 0x5d, 0x2d, 0x4d, 0xf1, 0x45, 0xdd, 0x81, 0xaa, 0x40, + 0x7f, 0x9c, 0x1d, 0xc1, 0xd8, 0x8a, 0x08, 0x45, 0x2b, 0xe4, 0xa7, 0x57, 0x4c, 0x4e, 0x02, 0x3e, + 0xd5, 0x2d, 0xac, 0xd0, 0x39, 0x7f, 0x24, 0xe3, 0x28, 0xf0, 0x25, 0xfa, 0x52, 0x1f, 0xc5, 0xc4, + 0x8c, 0xa8, 0xea, 0xe5, 0xe0, 0x53, 0x88, 0xcd, 0x8a, 0x2a, 0x60, 0xba, 0xfe, 0x40, 0x8c, 0x7d, + 0x68, 0xe4, 0x98, 0x2c, 0xa9, 0xc8, 0x17, 0x0b, 0xb6, 0x0e, 0x94, 0xa8, 0x51, 0xb5, 0xa3, 0x20, + 0x1e, 0x27, 0x7d, 0x80, 0x53, 0xe6, 0x7a, 0xbe, 0xfa, 0x33, 0x5d, 0xe9, 0x51, 0x5b, 0x20, 0xbf, + 0x45, 0x3e, 0x64, 0xa1, 0x37, 0x0c, 0x19, 0x67, 0x53, 0xd1, 0xa6, 0x78, 0x7d, 0x83, 0x42, 0x66, + 0xb1, 0xd4, 0xc8, 0x5b, 0x78, 0x8f, 0x7f, 0x7f, 0x05, 0xbe, 0x59, 0x00, 0x19, 0xa4, 0xbf, 0x1e, + 0xa6, 0x33, 0xfa, 0x96, 0xe7, 0xf5, 0x5d, 0xdc, 0x1b, 0x1b, 0xd6, 0xa2, 0x4e, 0x0e, 0xbc, 0x69, + 0xdc, 0x98, 0x32, 0x4d, 0x6d, 0xf2, 0x0c, 0xea, 0x7a, 0x18, 0xab, 0x93, 0x5c, 0x2d, 0x9e, 0xd3, + 0x66, 0x8c, 0xf3, 0xd5, 0x02, 0x32, 0xab, 0xef, 0x92, 0x23, 0x76, 0x3f, 0xd7, 0x94, 0x92, 0xca, + 0x79, 0x5c, 0xd8, 0x14, 0x11, 0x06, 0xbe, 0xc0, 0x05, 0x5d, 0x79, 0x01, 0x75, 0x99, 0xa1, 0xd1, + 0x8f, 0x0d, 0x31, 0x48, 0xe8, 0x2d, 0x6a, 0x86, 0x75, 0x7f, 0x96, 0x60, 0xe3, 0x44, 0x85, 0x9c, + 0x21, 0xbf, 0xf5, 0x46, 0x48, 0xf6, 0xa0, 0x6e, 0x3c, 0x1c, 0x64, 0x27, 0xa9, 0x90, 0x7f, 0x99, + 0xec, 0xff, 0x0b, 0xfd, 0x22, 0x24, 0x2f, 0xa1, 0x96, 0xce, 0x62, 0xb2, 0x9d, 0x72, 0x37, 0x9e, + 0x08, 0xfb, 0xbf, 0x02, 0x6f, 0x9c, 0x99, 0x0e, 0xc8, 0x2c, 0xd3, 0x9c, 0xc9, 0x59, 0x66, 0x7e, + 0x92, 0x76, 0xa0, 0x1a, 0x4f, 0x10, 0xb2, 0x95, 0x04, 0xa4, 0x43, 0xd2, 0x26, 0xb3, 0x2e, 0x11, + 0x46, 0x24, 0x8d, 0x5b, 0x96, 0x91, 0xcc, 0x0f, 0x91, 0x8c, 0xe4, 0xec, 0x95, 0x3c, 0x50, 0x2f, + 0xb5, 0xd1, 0x7d, 0x72, 0xcf, 0xd0, 0x23, 0x7f, 0xeb, 0x6c, 0x7b, 0xd1, 0x96, 0x08, 0xdf, 0x6e, + 0x7d, 0x68, 0xb4, 0xf5, 0x27, 0xd1, 0xab, 0xf8, 0xe7, 0xa2, 0xaa, 0xbe, 0x77, 0x9e, 0xff, 0x0a, + 0x00, 0x00, 0xff, 0xff, 0xee, 0x5a, 0x78, 0x47, 0x31, 0x09, 0x00, 0x00, } diff --git a/pkg/proto/office/office.proto b/pkg/proto/office/office.proto index 0e675a25a..6003d6306 100644 --- a/pkg/proto/office/office.proto +++ b/pkg/proto/office/office.proto @@ -88,7 +88,7 @@ message TagSendLog { int32 contentType = 3; string content = 4; int64 sendTime = 5; - repeated string userList = 6; + repeated TagUser TagUserList = 6; } message GetTagSendLogsResp {