Merge remote-tracking branch 'origin/tuoyun' into tuoyun

This commit is contained in:
Gordon 2022-03-28 18:30:21 +08:00
commit 942c9c6a63
6 changed files with 162 additions and 113 deletions

View File

@ -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)
}

View File

@ -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)
}
}

View File

@ -78,7 +78,7 @@ func (s *officeServer) GetUserTags(_ context.Context, req *pbOffice.GetUserTagsR
resp.CommonResp.ErrCode = constant.ErrDB.ErrCode resp.CommonResp.ErrCode = constant.ErrDB.ErrCode
return resp, nil return resp, nil
} }
log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "tags: ", tags) log.NewDebug(req.OperationID, utils.GetSelfFuncName(), "tags: ", tags)
for _, v := range tags { for _, v := range tags {
tag := &pbOffice.Tag{ tag := &pbOffice.Tag{
TagID: v.TagID, TagID: v.TagID,
@ -149,7 +149,7 @@ func (s *officeServer) SendMsg2Tag(_ context.Context, req *pbOffice.SendMsg2TagR
resp = &pbOffice.SendMsg2TagResp{CommonResp: &pbOffice.CommonResp{}} resp = &pbOffice.SendMsg2TagResp{CommonResp: &pbOffice.CommonResp{}}
userIDList, err := db.DB.GetUserIDListByTagID(req.SendID, req.TagID) userIDList, err := db.DB.GetUserIDListByTagID(req.SendID, req.TagID)
for _, userID := range userIDList { 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 { if err := db.DB.SaveTagSendLog(req); err != nil {
log.NewError(req.OperationID, utils.GetSelfFuncName(), "SaveTagSendLog failed", err.Error()) 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 resp.CommonResp.ErrCode = constant.ErrDB.ErrCode
return resp, nil return resp, nil
} }
if err := utils.CopyStructFields(&resp.TagSendLogs, tagSendLogs); err != nil { for _, v := range tagSendLogs {
log.NewDebug(req.OperationID, utils.GetSelfFuncName(), "CopyStructFields failed", err.Error()) 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()) log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "resp: ", resp.String())
return resp, nil return resp, nil
} }

View File

@ -3,6 +3,7 @@ package db
import ( import (
"Open_IM/pkg/common/config" "Open_IM/pkg/common/config"
"Open_IM/pkg/common/constant" "Open_IM/pkg/common/constant"
"Open_IM/pkg/common/db/mysql_model/im_mysql_model"
"Open_IM/pkg/common/log" "Open_IM/pkg/common/log"
pbMsg "Open_IM/pkg/proto/chat" pbMsg "Open_IM/pkg/proto/chat"
officePb "Open_IM/pkg/proto/office" officePb "Open_IM/pkg/proto/office"
@ -520,15 +521,20 @@ func (d *DataBases) GetUserIDListByTagID(userID, tagID string) ([]string, error)
return tag.UserList, nil return tag.UserList, nil
} }
type TagUser struct {
UserID string `bson:"userID"`
UserName string `bson:"userName"`
}
type TagSendLog struct { type TagSendLog struct {
TagID string `bson:"tagID"` TagID string `bson:"tagID"`
TagName string `bson:"tagName"` TagName string `bson:"tagName"`
SendID string `bson:"sendID"` SendID string `bson:"sendID"`
SenderPlatformID int32 `bson:"senderPlatformID"` SenderPlatformID int32 `bson:"senderPlatformID"`
Content string `bson:"content"` Content string `bson:"content"`
ContentType int32 `bson:"contentType"` ContentType int32 `bson:"contentType"`
SendTime int64 `bson:"sendTime"` SendTime int64 `bson:"sendTime"`
UserList []string `bson:"userList"` TagUserList []TagUser `bson:"userList"`
} }
func (d *DataBases) SaveTagSendLog(sendReq *officePb.SendMsg2TagReq) error { func (d *DataBases) SaveTagSendLog(sendReq *officePb.SendMsg2TagReq) error {
@ -545,7 +551,18 @@ func (d *DataBases) SaveTagSendLog(sendReq *officePb.SendMsg2TagReq) error {
Content: sendReq.Content, Content: sendReq.Content,
ContentType: sendReq.ContentType, ContentType: sendReq.ContentType,
SendTime: time.Now().Unix(), 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) _, err := c.InsertOne(ctx, tagSendLog)
return err return err

View File

@ -36,7 +36,7 @@ func (m *CommonResp) Reset() { *m = CommonResp{} }
func (m *CommonResp) String() string { return proto.CompactTextString(m) } func (m *CommonResp) String() string { return proto.CompactTextString(m) }
func (*CommonResp) ProtoMessage() {} func (*CommonResp) ProtoMessage() {}
func (*CommonResp) Descriptor() ([]byte, []int) { 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 { func (m *CommonResp) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_CommonResp.Unmarshal(m, b) 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 (m *TagUser) String() string { return proto.CompactTextString(m) }
func (*TagUser) ProtoMessage() {} func (*TagUser) ProtoMessage() {}
func (*TagUser) Descriptor() ([]byte, []int) { 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 { func (m *TagUser) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_TagUser.Unmarshal(m, b) 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 (m *Tag) String() string { return proto.CompactTextString(m) }
func (*Tag) ProtoMessage() {} func (*Tag) ProtoMessage() {}
func (*Tag) Descriptor() ([]byte, []int) { 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 { func (m *Tag) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_Tag.Unmarshal(m, b) 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 (m *GetUserTagsReq) String() string { return proto.CompactTextString(m) }
func (*GetUserTagsReq) ProtoMessage() {} func (*GetUserTagsReq) ProtoMessage() {}
func (*GetUserTagsReq) Descriptor() ([]byte, []int) { 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 { func (m *GetUserTagsReq) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_GetUserTagsReq.Unmarshal(m, b) 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 (m *GetUserTagsResp) String() string { return proto.CompactTextString(m) }
func (*GetUserTagsResp) ProtoMessage() {} func (*GetUserTagsResp) ProtoMessage() {}
func (*GetUserTagsResp) Descriptor() ([]byte, []int) { 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 { func (m *GetUserTagsResp) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_GetUserTagsResp.Unmarshal(m, b) 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 (m *CreateTagReq) String() string { return proto.CompactTextString(m) }
func (*CreateTagReq) ProtoMessage() {} func (*CreateTagReq) ProtoMessage() {}
func (*CreateTagReq) Descriptor() ([]byte, []int) { 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 { func (m *CreateTagReq) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_CreateTagReq.Unmarshal(m, b) 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 (m *CreateTagResp) String() string { return proto.CompactTextString(m) }
func (*CreateTagResp) ProtoMessage() {} func (*CreateTagResp) ProtoMessage() {}
func (*CreateTagResp) Descriptor() ([]byte, []int) { 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 { func (m *CreateTagResp) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_CreateTagResp.Unmarshal(m, b) 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 (m *DeleteTagReq) String() string { return proto.CompactTextString(m) }
func (*DeleteTagReq) ProtoMessage() {} func (*DeleteTagReq) ProtoMessage() {}
func (*DeleteTagReq) Descriptor() ([]byte, []int) { 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 { func (m *DeleteTagReq) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_DeleteTagReq.Unmarshal(m, b) 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 (m *DeleteTagResp) String() string { return proto.CompactTextString(m) }
func (*DeleteTagResp) ProtoMessage() {} func (*DeleteTagResp) ProtoMessage() {}
func (*DeleteTagResp) Descriptor() ([]byte, []int) { 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 { func (m *DeleteTagResp) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_DeleteTagResp.Unmarshal(m, b) 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 (m *SetTagReq) String() string { return proto.CompactTextString(m) }
func (*SetTagReq) ProtoMessage() {} func (*SetTagReq) ProtoMessage() {}
func (*SetTagReq) Descriptor() ([]byte, []int) { 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 { func (m *SetTagReq) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_SetTagReq.Unmarshal(m, b) 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 (m *SetTagResp) String() string { return proto.CompactTextString(m) }
func (*SetTagResp) ProtoMessage() {} func (*SetTagResp) ProtoMessage() {}
func (*SetTagResp) Descriptor() ([]byte, []int) { 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 { func (m *SetTagResp) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_SetTagResp.Unmarshal(m, b) 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 (m *SendMsg2TagReq) String() string { return proto.CompactTextString(m) }
func (*SendMsg2TagReq) ProtoMessage() {} func (*SendMsg2TagReq) ProtoMessage() {}
func (*SendMsg2TagReq) Descriptor() ([]byte, []int) { 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 { func (m *SendMsg2TagReq) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_SendMsg2TagReq.Unmarshal(m, b) 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 (m *SendMsg2TagResp) String() string { return proto.CompactTextString(m) }
func (*SendMsg2TagResp) ProtoMessage() {} func (*SendMsg2TagResp) ProtoMessage() {}
func (*SendMsg2TagResp) Descriptor() ([]byte, []int) { 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 { func (m *SendMsg2TagResp) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_SendMsg2TagResp.Unmarshal(m, b) 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 (m *GetTagSendLogsReq) String() string { return proto.CompactTextString(m) }
func (*GetTagSendLogsReq) ProtoMessage() {} func (*GetTagSendLogsReq) ProtoMessage() {}
func (*GetTagSendLogsReq) Descriptor() ([]byte, []int) { 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 { func (m *GetTagSendLogsReq) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_GetTagSendLogsReq.Unmarshal(m, b) return xxx_messageInfo_GetTagSendLogsReq.Unmarshal(m, b)
@ -741,22 +741,22 @@ func (m *GetTagSendLogsReq) GetOperationID() string {
} }
type TagSendLog struct { type TagSendLog struct {
TagID string `protobuf:"bytes,1,opt,name=tagID" json:"tagID,omitempty"` TagID string `protobuf:"bytes,1,opt,name=tagID" json:"tagID,omitempty"`
TagName string `protobuf:"bytes,2,opt,name=tagName" json:"tagName,omitempty"` TagName string `protobuf:"bytes,2,opt,name=tagName" json:"tagName,omitempty"`
ContentType int32 `protobuf:"varint,3,opt,name=contentType" json:"contentType,omitempty"` ContentType int32 `protobuf:"varint,3,opt,name=contentType" json:"contentType,omitempty"`
Content string `protobuf:"bytes,4,opt,name=content" json:"content,omitempty"` Content string `protobuf:"bytes,4,opt,name=content" json:"content,omitempty"`
SendTime int64 `protobuf:"varint,5,opt,name=sendTime" json:"sendTime,omitempty"` SendTime int64 `protobuf:"varint,5,opt,name=sendTime" json:"sendTime,omitempty"`
UserList []string `protobuf:"bytes,6,rep,name=userList" json:"userList,omitempty"` TagUserList []*TagUser `protobuf:"bytes,6,rep,name=TagUserList" json:"TagUserList,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"` XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"` XXX_sizecache int32 `json:"-"`
} }
func (m *TagSendLog) Reset() { *m = TagSendLog{} } func (m *TagSendLog) Reset() { *m = TagSendLog{} }
func (m *TagSendLog) String() string { return proto.CompactTextString(m) } func (m *TagSendLog) String() string { return proto.CompactTextString(m) }
func (*TagSendLog) ProtoMessage() {} func (*TagSendLog) ProtoMessage() {}
func (*TagSendLog) Descriptor() ([]byte, []int) { 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 { func (m *TagSendLog) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_TagSendLog.Unmarshal(m, b) return xxx_messageInfo_TagSendLog.Unmarshal(m, b)
@ -811,9 +811,9 @@ func (m *TagSendLog) GetSendTime() int64 {
return 0 return 0
} }
func (m *TagSendLog) GetUserList() []string { func (m *TagSendLog) GetTagUserList() []*TagUser {
if m != nil { if m != nil {
return m.UserList return m.TagUserList
} }
return nil return nil
} }
@ -831,7 +831,7 @@ func (m *GetTagSendLogsResp) Reset() { *m = GetTagSendLogsResp{} }
func (m *GetTagSendLogsResp) String() string { return proto.CompactTextString(m) } func (m *GetTagSendLogsResp) String() string { return proto.CompactTextString(m) }
func (*GetTagSendLogsResp) ProtoMessage() {} func (*GetTagSendLogsResp) ProtoMessage() {}
func (*GetTagSendLogsResp) Descriptor() ([]byte, []int) { 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 { func (m *GetTagSendLogsResp) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_GetTagSendLogsResp.Unmarshal(m, b) return xxx_messageInfo_GetTagSendLogsResp.Unmarshal(m, b)
@ -1128,56 +1128,56 @@ var _OfficeService_serviceDesc = grpc.ServiceDesc{
Metadata: "office/office.proto", 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{ var fileDescriptor_office_fb25433b0aa4afaa = []byte{
// 762 bytes of a gzipped FileDescriptorProto // 764 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x9c, 0x56, 0xc1, 0x6e, 0xd3, 0x4c, 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x9c, 0x56, 0x41, 0x6f, 0xd3, 0x4a,
0x10, 0x96, 0x93, 0x26, 0x6d, 0x26, 0x6d, 0xf3, 0x77, 0xff, 0x52, 0x82, 0x0f, 0x10, 0x2c, 0x90, 0x10, 0x96, 0x93, 0x26, 0x6d, 0x26, 0x6d, 0xf3, 0xba, 0xaf, 0xaf, 0x2f, 0xf8, 0x00, 0xc1, 0x02,
0x2a, 0x90, 0x12, 0x29, 0x70, 0x40, 0x42, 0x54, 0x88, 0xa4, 0xaa, 0x8a, 0x5a, 0x5a, 0x6d, 0xd3, 0xa9, 0x02, 0x29, 0x11, 0x81, 0x03, 0x12, 0xa2, 0x42, 0x24, 0x55, 0x55, 0xd4, 0xd2, 0x6a, 0x9b,
0x0b, 0x07, 0xa2, 0x6d, 0x32, 0xb1, 0xac, 0x36, 0xb6, 0xbb, 0xbb, 0x6d, 0xc5, 0x95, 0x57, 0xe0, 0x5e, 0x38, 0x10, 0x6d, 0x93, 0x89, 0x65, 0xb5, 0xb1, 0xdd, 0xdd, 0x6d, 0x2b, 0xae, 0xfc, 0x05,
0x45, 0x78, 0x09, 0x24, 0xae, 0x3c, 0x10, 0x12, 0xf2, 0x7a, 0x6d, 0xaf, 0x9d, 0x44, 0x40, 0x4e, 0x7e, 0x13, 0x82, 0x2b, 0x3f, 0x08, 0x09, 0x79, 0xbd, 0xb6, 0xd7, 0x89, 0x23, 0x20, 0xa7, 0xec,
0xd9, 0x99, 0x9d, 0x99, 0x7c, 0xdf, 0x37, 0xbb, 0xb3, 0x86, 0xff, 0x83, 0xc9, 0xc4, 0x1b, 0x61, 0xcc, 0xce, 0x4c, 0xbe, 0xef, 0x9b, 0xdd, 0x59, 0xc3, 0xbf, 0xc1, 0x64, 0xe2, 0x8d, 0xb0, 0x13,
0x27, 0xfe, 0x69, 0x87, 0x3c, 0x90, 0x01, 0xa9, 0xc6, 0x96, 0xfd, 0xf8, 0x24, 0x44, 0x7f, 0x78, 0xff, 0xb4, 0x43, 0x1e, 0xc8, 0x80, 0x54, 0x63, 0xcb, 0x7e, 0x78, 0x12, 0xa2, 0x3f, 0x3c, 0x3c,
0x78, 0xdc, 0x09, 0x2f, 0xdd, 0x8e, 0xda, 0xea, 0x88, 0xf1, 0xe5, 0xf0, 0x4e, 0x74, 0xee, 0x44, 0xee, 0x84, 0x97, 0x6e, 0x47, 0x6d, 0x75, 0xc4, 0xf8, 0x72, 0x78, 0x27, 0x3a, 0x77, 0x22, 0x0e,
0x1c, 0xea, 0xec, 0x01, 0xf4, 0x82, 0xe9, 0x34, 0xf0, 0x29, 0x8a, 0x90, 0x34, 0x61, 0x15, 0x39, 0x75, 0xf6, 0x00, 0x7a, 0xc1, 0x74, 0x1a, 0xf8, 0x14, 0x45, 0x48, 0x9a, 0xb0, 0x8a, 0x9c, 0xf7,
0xef, 0x05, 0x63, 0x6c, 0x5a, 0x2d, 0x6b, 0xb7, 0x42, 0x13, 0x93, 0xec, 0x40, 0x15, 0x39, 0x3f, 0x82, 0x31, 0x36, 0xad, 0x96, 0xb5, 0x5b, 0xa1, 0x89, 0x49, 0x76, 0xa0, 0x8a, 0x9c, 0x1f, 0x0b,
0x16, 0x6e, 0xb3, 0xd4, 0xb2, 0x76, 0x6b, 0x54, 0x5b, 0xce, 0x1b, 0x58, 0x1d, 0x30, 0xf7, 0x5c, 0xb7, 0x59, 0x6a, 0x59, 0xbb, 0x35, 0xaa, 0x2d, 0xe7, 0x35, 0xac, 0x0e, 0x98, 0x7b, 0x2e, 0x90,
0x20, 0x8f, 0x42, 0x6e, 0x04, 0xf2, 0xc3, 0xbe, 0xca, 0xad, 0x51, 0x6d, 0x11, 0x1b, 0xd6, 0xa2, 0x47, 0x21, 0x37, 0x02, 0xf9, 0x61, 0x5f, 0xe5, 0xd6, 0xa8, 0xb6, 0x88, 0x0d, 0x6b, 0xd1, 0xea,
0xd5, 0x07, 0x36, 0x45, 0x9d, 0x9c, 0xda, 0xce, 0x05, 0x94, 0x07, 0xcc, 0x25, 0xdb, 0x50, 0x91, 0x3d, 0x9b, 0xa2, 0x4e, 0x4e, 0x6d, 0xe7, 0x02, 0xca, 0x03, 0xe6, 0x92, 0x6d, 0xa8, 0x48, 0xe6,
0xcc, 0x4d, 0x33, 0x63, 0x23, 0x42, 0x23, 0x99, 0x6b, 0xe4, 0x25, 0x26, 0x79, 0x1e, 0x97, 0x3c, 0xa6, 0x99, 0xb1, 0x11, 0xa1, 0x91, 0xcc, 0x35, 0xf2, 0x12, 0x93, 0x3c, 0x8d, 0x4b, 0x1e, 0x79,
0xf2, 0x84, 0x6c, 0x96, 0x5b, 0xe5, 0xdd, 0x7a, 0xb7, 0xd1, 0xd6, 0x0a, 0x68, 0x34, 0x34, 0x0d, 0x42, 0x36, 0xcb, 0xad, 0xf2, 0x6e, 0xbd, 0xdb, 0x68, 0x6b, 0x05, 0x34, 0x1a, 0x9a, 0x06, 0x38,
0x70, 0xde, 0xc3, 0xe6, 0x01, 0xca, 0xc8, 0x39, 0x60, 0xae, 0xa0, 0x78, 0xbd, 0x10, 0x69, 0x0b, 0xef, 0x60, 0xf3, 0x00, 0x65, 0xe4, 0x1c, 0x30, 0x57, 0x50, 0xbc, 0x5e, 0x88, 0xb4, 0x05, 0xf5,
0xea, 0x41, 0x88, 0x9c, 0x49, 0x2f, 0xf0, 0x0f, 0xfb, 0xfa, 0x4f, 0x4d, 0x97, 0x33, 0x81, 0x46, 0x20, 0x44, 0xce, 0xa4, 0x17, 0xf8, 0x87, 0x7d, 0xfd, 0xa7, 0xa6, 0xcb, 0x99, 0x40, 0x23, 0x57,
0xae, 0x96, 0x08, 0x49, 0x17, 0x60, 0x94, 0x2a, 0xa8, 0x0a, 0xd6, 0xbb, 0x24, 0x41, 0x93, 0x69, 0x4b, 0x84, 0xa4, 0x0b, 0x30, 0x4a, 0x15, 0x54, 0x05, 0xeb, 0x5d, 0x92, 0xa0, 0xc9, 0xb4, 0xa5,
0x4b, 0x8d, 0x28, 0xf2, 0x08, 0x56, 0x24, 0x73, 0x45, 0xb3, 0xa4, 0xb0, 0xd7, 0x0d, 0xec, 0x54, 0x46, 0x14, 0x79, 0x00, 0x2b, 0x92, 0xb9, 0xa2, 0x59, 0x52, 0xd8, 0xeb, 0x06, 0x76, 0xaa, 0x36,
0x6d, 0x38, 0x5f, 0x2c, 0x58, 0xef, 0x71, 0x64, 0x12, 0x23, 0x1f, 0x5e, 0x9b, 0x5a, 0x58, 0x79, 0x9c, 0xcf, 0x16, 0xac, 0xf7, 0x38, 0x32, 0x89, 0x91, 0x0f, 0xaf, 0x4d, 0x2d, 0xac, 0xbc, 0x16,
0x2d, 0x32, 0x32, 0xa5, 0x1c, 0x99, 0x87, 0x00, 0xf1, 0x2a, 0x55, 0xa9, 0x46, 0x0d, 0x4f, 0x91, 0x19, 0x99, 0x52, 0x8e, 0xcc, 0x7d, 0x80, 0x78, 0x95, 0xaa, 0x54, 0xa3, 0x86, 0x67, 0x96, 0xec,
0xec, 0xca, 0x2c, 0xd9, 0x1e, 0x6c, 0x18, 0x18, 0x96, 0xa3, 0xea, 0x7c, 0x82, 0xf5, 0x3e, 0x5e, 0xca, 0x3c, 0xd9, 0x1e, 0x6c, 0x18, 0x18, 0x96, 0xa3, 0xea, 0x7c, 0x84, 0xf5, 0x3e, 0x5e, 0x61,
0x61, 0x4a, 0x64, 0x91, 0xf6, 0xe9, 0x11, 0x28, 0x99, 0x47, 0xa0, 0x00, 0xb2, 0x3c, 0x17, 0xa4, 0x4a, 0x64, 0x91, 0xf6, 0xe9, 0x11, 0x28, 0x99, 0x47, 0x60, 0x06, 0x64, 0xb9, 0x10, 0xa4, 0x51,
0x51, 0x7f, 0x49, 0x90, 0x3f, 0x2d, 0xa8, 0x9d, 0xa1, 0x5c, 0x0a, 0x62, 0x13, 0x56, 0x7d, 0xbc, 0x7f, 0x49, 0x90, 0x3f, 0x2c, 0xa8, 0x9d, 0xa1, 0x5c, 0x0a, 0x62, 0x13, 0x56, 0x7d, 0xbc, 0x53,
0x53, 0x9d, 0x89, 0xe1, 0x25, 0x26, 0x69, 0x03, 0xf1, 0xfc, 0x11, 0x47, 0x26, 0xf0, 0x3c, 0xeb, 0x9d, 0x89, 0xe1, 0x25, 0x26, 0x69, 0x03, 0xf1, 0xfc, 0x11, 0x47, 0x26, 0xf0, 0x3c, 0xeb, 0xc4,
0xc4, 0x8a, 0xea, 0xc4, 0x9c, 0x1d, 0xf2, 0x0c, 0xfe, 0xe3, 0x38, 0xbe, 0x19, 0x99, 0xd1, 0x15, 0x8a, 0xea, 0x44, 0xc1, 0x0e, 0x79, 0x02, 0xff, 0x70, 0x1c, 0xdf, 0x8c, 0xcc, 0xe8, 0x8a, 0x8a,
0x15, 0x3d, 0xe3, 0x2f, 0x0a, 0x53, 0x9d, 0x15, 0xe6, 0x2d, 0x40, 0x42, 0x69, 0x49, 0x55, 0x7e, 0x9e, 0xf3, 0xcf, 0x0a, 0x53, 0x9d, 0x17, 0xe6, 0x0d, 0x40, 0x42, 0x69, 0x49, 0x55, 0xbe, 0x5b,
0x58, 0xb0, 0x79, 0x86, 0xfe, 0xf8, 0x58, 0xb8, 0x5d, 0x2d, 0xcd, 0xfc, 0x8b, 0xba, 0x03, 0x55, 0xb0, 0x79, 0x86, 0xfe, 0xf8, 0x58, 0xb8, 0x5d, 0x2d, 0x4d, 0xf1, 0x45, 0xdd, 0x81, 0xaa, 0x40,
0x81, 0xfe, 0x38, 0x3b, 0x82, 0xb1, 0x15, 0x11, 0x8a, 0x56, 0xc8, 0x4f, 0xaf, 0x98, 0x9c, 0x04, 0x7f, 0x9c, 0x1d, 0xc1, 0xd8, 0x8a, 0x08, 0x45, 0x2b, 0xe4, 0xa7, 0x57, 0x4c, 0x4e, 0x02, 0x3e,
0x7c, 0xaa, 0x5b, 0x58, 0xa1, 0x33, 0xfe, 0x48, 0xc6, 0x51, 0xe0, 0x4b, 0xf4, 0xa5, 0x3e, 0x8a, 0xd5, 0x2d, 0xac, 0xd0, 0x39, 0x7f, 0x24, 0xe3, 0x28, 0xf0, 0x25, 0xfa, 0x52, 0x1f, 0xc5, 0xc4,
0x89, 0x19, 0x51, 0xd5, 0xcb, 0xc1, 0xe7, 0x10, 0x9b, 0x15, 0x55, 0xc0, 0x74, 0xfd, 0x85, 0x18, 0x8c, 0xa8, 0xea, 0xe5, 0xe0, 0x53, 0x88, 0xcd, 0x8a, 0x2a, 0x60, 0xba, 0xfe, 0x40, 0x8c, 0x7d,
0xfb, 0xd0, 0xc8, 0x31, 0x59, 0x52, 0x91, 0xaf, 0x16, 0x6c, 0x1d, 0x28, 0x51, 0xa3, 0x6a, 0x47, 0x68, 0xe4, 0x98, 0x2c, 0xa9, 0xc8, 0x17, 0x0b, 0xb6, 0x0e, 0x94, 0xa8, 0x51, 0xb5, 0xa3, 0x20,
0x41, 0x3c, 0x4e, 0xfa, 0x00, 0xa7, 0xcc, 0xf5, 0x7c, 0xf5, 0x67, 0xba, 0xd2, 0x93, 0xb6, 0x40, 0x1e, 0x27, 0x7d, 0x80, 0x53, 0xe6, 0x7a, 0xbe, 0xfa, 0x33, 0x5d, 0xe9, 0x51, 0x5b, 0x20, 0xbf,
0x7e, 0x8b, 0x7c, 0xc8, 0x42, 0x6f, 0x18, 0x32, 0xce, 0xa6, 0xa2, 0x4d, 0xf1, 0xfa, 0x06, 0x85, 0x45, 0x3e, 0x64, 0xa1, 0x37, 0x0c, 0x19, 0x67, 0x53, 0xd1, 0xa6, 0x78, 0x7d, 0x83, 0x42, 0x66,
0xcc, 0x62, 0xa9, 0x91, 0xb7, 0xf0, 0x1e, 0xff, 0xf9, 0x0a, 0x7c, 0xb3, 0x00, 0x32, 0x48, 0xff, 0xb1, 0xd4, 0xc8, 0x5b, 0x78, 0x8f, 0x7f, 0x7f, 0x05, 0xbe, 0x59, 0x00, 0x19, 0xa4, 0xbf, 0x1e,
0x3c, 0x4c, 0x0b, 0xfa, 0x96, 0x67, 0xf5, 0x5d, 0xdc, 0x1b, 0x1b, 0xd6, 0xa2, 0x4e, 0x0e, 0xbc, 0xa6, 0x33, 0xfa, 0x96, 0xe7, 0xf5, 0x5d, 0xdc, 0x1b, 0x1b, 0xd6, 0xa2, 0x4e, 0x0e, 0xbc, 0x69,
0x69, 0xdc, 0x98, 0x32, 0x4d, 0xed, 0x64, 0xee, 0xab, 0x63, 0x5c, 0x55, 0xc7, 0x38, 0x9b, 0xc9, 0xdc, 0x98, 0x32, 0x4d, 0x6d, 0xf2, 0x0c, 0xea, 0x7a, 0x18, 0xab, 0x93, 0x5c, 0x2d, 0x9e, 0xd3,
0xdf, 0x2d, 0x20, 0x45, 0x21, 0x97, 0x9c, 0xa5, 0xfb, 0x39, 0xf5, 0x4b, 0x2a, 0xe7, 0xe9, 0x5c, 0x66, 0x8c, 0xf3, 0xd5, 0x02, 0x32, 0xab, 0xef, 0x92, 0x23, 0x76, 0x3f, 0xd7, 0x94, 0x92, 0xca,
0xf5, 0x45, 0x18, 0xf8, 0x02, 0x17, 0xc8, 0xff, 0x12, 0xea, 0x32, 0x43, 0xa3, 0x5f, 0x15, 0x62, 0x79, 0x5c, 0xd8, 0x14, 0x11, 0x06, 0xbe, 0xc0, 0x05, 0x5d, 0x79, 0x01, 0x75, 0x99, 0xa1, 0xd1,
0x4c, 0x66, 0xbd, 0x45, 0xcd, 0xb0, 0xee, 0xaf, 0x12, 0x6c, 0x9c, 0xa8, 0x90, 0x33, 0xe4, 0xb7, 0x8f, 0x0d, 0x31, 0x48, 0xe8, 0x2d, 0x6a, 0x86, 0x75, 0x7f, 0x96, 0x60, 0xe3, 0x44, 0x85, 0x9c,
0xde, 0x08, 0xc9, 0x1e, 0xd4, 0x8d, 0x17, 0x82, 0xec, 0x24, 0x15, 0xf2, 0x4f, 0x90, 0x7d, 0x7f, 0x21, 0xbf, 0xf5, 0x46, 0x48, 0xf6, 0xa0, 0x6e, 0x3c, 0x1c, 0x64, 0x27, 0xa9, 0x90, 0x7f, 0x99,
0xae, 0x5f, 0x84, 0xe4, 0x15, 0xd4, 0xd2, 0xa1, 0x4b, 0xb6, 0x53, 0xee, 0xc6, 0x5b, 0x60, 0xdf, 0xec, 0xff, 0x0b, 0xfd, 0x22, 0x24, 0x2f, 0xa1, 0x96, 0xce, 0x62, 0xb2, 0x9d, 0x72, 0x37, 0x9e,
0x9b, 0xe3, 0x8d, 0x33, 0xd3, 0x49, 0x98, 0x65, 0x9a, 0xc3, 0x37, 0xcb, 0xcc, 0x8f, 0xcc, 0x0e, 0x08, 0xfb, 0xbf, 0x02, 0x6f, 0x9c, 0x99, 0x0e, 0xc8, 0x2c, 0xd3, 0x9c, 0xc9, 0x59, 0x66, 0x7e,
0x54, 0xe3, 0x51, 0x41, 0xb6, 0x92, 0x80, 0x74, 0x1a, 0xda, 0xa4, 0xe8, 0x12, 0x61, 0x44, 0xd2, 0x92, 0x76, 0xa0, 0x1a, 0x4f, 0x10, 0xb2, 0x95, 0x04, 0xa4, 0x43, 0xd2, 0x26, 0xb3, 0x2e, 0x11,
0xb8, 0x4e, 0x19, 0xc9, 0xfc, 0xb4, 0xc8, 0x48, 0x16, 0xef, 0xde, 0x81, 0x7a, 0x92, 0x8d, 0xee, 0x46, 0x24, 0x8d, 0x5b, 0x96, 0x91, 0xcc, 0x0f, 0x91, 0x8c, 0xe4, 0xec, 0x95, 0x3c, 0x50, 0x2f,
0x93, 0x07, 0x86, 0x1e, 0xf9, 0xeb, 0x65, 0xdb, 0x8b, 0xb6, 0x44, 0xf8, 0x6e, 0xeb, 0x63, 0xa3, 0xb5, 0xd1, 0x7d, 0x72, 0xcf, 0xd0, 0x23, 0x7f, 0xeb, 0x6c, 0x7b, 0xd1, 0x96, 0x08, 0xdf, 0x6e,
0xad, 0xbf, 0x7d, 0x5e, 0xc7, 0x3f, 0x17, 0x55, 0xf5, 0x61, 0xf3, 0xe2, 0x77, 0x00, 0x00, 0x00, 0x7d, 0x68, 0xb4, 0xf5, 0x27, 0xd1, 0xab, 0xf8, 0xe7, 0xa2, 0xaa, 0xbe, 0x77, 0x9e, 0xff, 0x0a,
0xff, 0xff, 0x62, 0x7d, 0x95, 0x4e, 0x1a, 0x09, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xee, 0x5a, 0x78, 0x47, 0x31, 0x09, 0x00, 0x00,
} }

View File

@ -88,7 +88,7 @@ message TagSendLog {
int32 contentType = 3; int32 contentType = 3;
string content = 4; string content = 4;
int64 sendTime = 5; int64 sendTime = 5;
repeated string userList = 6; repeated TagUser TagUserList = 6;
} }
message GetTagSendLogsResp { message GetTagSendLogsResp {