diff --git a/api/account/account.pb.go b/api/account/account.pb.go new file mode 100644 index 0000000..f58e1c0 --- /dev/null +++ b/api/account/account.pb.go @@ -0,0 +1,9852 @@ +// +// Licensed to the Apache Software Foundation (ASF) under one or more +// contributor license agreements. See the NOTICE file distributed with +// this work for additional information regarding copyright ownership. +// The ASF licenses this file to You under the Apache License, Version 2.0 +// (the "License"); you may not use this file except in compliance with +// the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.31.0 +// protoc v4.24.0--rc1 +// source: api/account/account.proto + +package account + +import ( + _ "github.com/mwitkow/go-proto-validators" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" + sync "sync" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +type CheckRealNameResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Id uint64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` + Status string `protobuf:"bytes,2,opt,name=status,proto3" json:"status,omitempty"` +} + +func (x *CheckRealNameResponse) Reset() { + *x = CheckRealNameResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_api_account_account_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CheckRealNameResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CheckRealNameResponse) ProtoMessage() {} + +func (x *CheckRealNameResponse) ProtoReflect() protoreflect.Message { + mi := &file_api_account_account_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CheckRealNameResponse.ProtoReflect.Descriptor instead. +func (*CheckRealNameResponse) Descriptor() ([]byte, []int) { + return file_api_account_account_proto_rawDescGZIP(), []int{0} +} + +func (x *CheckRealNameResponse) GetId() uint64 { + if x != nil { + return x.Id + } + return 0 +} + +func (x *CheckRealNameResponse) GetStatus() string { + if x != nil { + return x.Status + } + return "" +} + +type CheckRealNameRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Id uint64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` + Pass bool `protobuf:"varint,2,opt,name=pass,proto3" json:"pass,omitempty"` + NotPassRemarks string `protobuf:"bytes,3,opt,name=notPassRemarks,proto3" json:"notPassRemarks,omitempty"` +} + +func (x *CheckRealNameRequest) Reset() { + *x = CheckRealNameRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_api_account_account_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CheckRealNameRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CheckRealNameRequest) ProtoMessage() {} + +func (x *CheckRealNameRequest) ProtoReflect() protoreflect.Message { + mi := &file_api_account_account_proto_msgTypes[1] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CheckRealNameRequest.ProtoReflect.Descriptor instead. +func (*CheckRealNameRequest) Descriptor() ([]byte, []int) { + return file_api_account_account_proto_rawDescGZIP(), []int{1} +} + +func (x *CheckRealNameRequest) GetId() uint64 { + if x != nil { + return x.Id + } + return 0 +} + +func (x *CheckRealNameRequest) GetPass() bool { + if x != nil { + return x.Pass + } + return false +} + +func (x *CheckRealNameRequest) GetNotPassRemarks() string { + if x != nil { + return x.NotPassRemarks + } + return "" +} + +type UserListResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Count uint64 `protobuf:"varint,1,opt,name=count,proto3" json:"count,omitempty"` + Page uint64 `protobuf:"varint,2,opt,name=page,proto3" json:"page,omitempty"` + PageSize uint64 `protobuf:"varint,3,opt,name=pageSize,proto3" json:"pageSize,omitempty"` + UserList []*UserListInfo `protobuf:"bytes,4,rep,name=userList,proto3" json:"userList,omitempty"` +} + +func (x *UserListResponse) Reset() { + *x = UserListResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_api_account_account_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UserListResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UserListResponse) ProtoMessage() {} + +func (x *UserListResponse) ProtoReflect() protoreflect.Message { + mi := &file_api_account_account_proto_msgTypes[2] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use UserListResponse.ProtoReflect.Descriptor instead. +func (*UserListResponse) Descriptor() ([]byte, []int) { + return file_api_account_account_proto_rawDescGZIP(), []int{2} +} + +func (x *UserListResponse) GetCount() uint64 { + if x != nil { + return x.Count + } + return 0 +} + +func (x *UserListResponse) GetPage() uint64 { + if x != nil { + return x.Page + } + return 0 +} + +func (x *UserListResponse) GetPageSize() uint64 { + if x != nil { + return x.PageSize + } + return 0 +} + +func (x *UserListResponse) GetUserList() []*UserListInfo { + if x != nil { + return x.UserList + } + return nil +} + +type UserListInfo struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Id uint64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` + Status int32 `protobuf:"varint,2,opt,name=status,proto3" json:"status,omitempty"` + Name string `protobuf:"bytes,3,opt,name=name,proto3" json:"name,omitempty"` + Sex int32 `protobuf:"varint,4,opt,name=sex,proto3" json:"sex,omitempty"` + Nationality string `protobuf:"bytes,5,opt,name=nationality,proto3" json:"nationality,omitempty"` + DocumentType int32 `protobuf:"varint,6,opt,name=documentType,proto3" json:"documentType,omitempty"` + CertificatePicture string `protobuf:"bytes,7,opt,name=certificatePicture,proto3" json:"certificatePicture,omitempty"` + Validity string `protobuf:"bytes,8,opt,name=validity,proto3" json:"validity,omitempty"` + PlaceOfResidence string `protobuf:"bytes,9,opt,name=placeOfResidence,proto3" json:"placeOfResidence,omitempty"` + GroupPhoto string `protobuf:"bytes,10,opt,name=groupPhoto,proto3" json:"groupPhoto,omitempty"` + Attachment string `protobuf:"bytes,11,opt,name=attachment,proto3" json:"attachment,omitempty"` + RegistrationTime string `protobuf:"bytes,12,opt,name=registrationTime,proto3" json:"registrationTime,omitempty"` + AuditTime string `protobuf:"bytes,13,opt,name=auditTime,proto3" json:"auditTime,omitempty"` + SubNum string `protobuf:"bytes,14,opt,name=subNum,proto3" json:"subNum,omitempty"` + NotPassRemarks string `protobuf:"bytes,15,opt,name=notPassRemarks,proto3" json:"notPassRemarks,omitempty"` + TelNum string `protobuf:"bytes,16,opt,name=telNum,proto3" json:"telNum,omitempty"` +} + +func (x *UserListInfo) Reset() { + *x = UserListInfo{} + if protoimpl.UnsafeEnabled { + mi := &file_api_account_account_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UserListInfo) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UserListInfo) ProtoMessage() {} + +func (x *UserListInfo) ProtoReflect() protoreflect.Message { + mi := &file_api_account_account_proto_msgTypes[3] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use UserListInfo.ProtoReflect.Descriptor instead. +func (*UserListInfo) Descriptor() ([]byte, []int) { + return file_api_account_account_proto_rawDescGZIP(), []int{3} +} + +func (x *UserListInfo) GetId() uint64 { + if x != nil { + return x.Id + } + return 0 +} + +func (x *UserListInfo) GetStatus() int32 { + if x != nil { + return x.Status + } + return 0 +} + +func (x *UserListInfo) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *UserListInfo) GetSex() int32 { + if x != nil { + return x.Sex + } + return 0 +} + +func (x *UserListInfo) GetNationality() string { + if x != nil { + return x.Nationality + } + return "" +} + +func (x *UserListInfo) GetDocumentType() int32 { + if x != nil { + return x.DocumentType + } + return 0 +} + +func (x *UserListInfo) GetCertificatePicture() string { + if x != nil { + return x.CertificatePicture + } + return "" +} + +func (x *UserListInfo) GetValidity() string { + if x != nil { + return x.Validity + } + return "" +} + +func (x *UserListInfo) GetPlaceOfResidence() string { + if x != nil { + return x.PlaceOfResidence + } + return "" +} + +func (x *UserListInfo) GetGroupPhoto() string { + if x != nil { + return x.GroupPhoto + } + return "" +} + +func (x *UserListInfo) GetAttachment() string { + if x != nil { + return x.Attachment + } + return "" +} + +func (x *UserListInfo) GetRegistrationTime() string { + if x != nil { + return x.RegistrationTime + } + return "" +} + +func (x *UserListInfo) GetAuditTime() string { + if x != nil { + return x.AuditTime + } + return "" +} + +func (x *UserListInfo) GetSubNum() string { + if x != nil { + return x.SubNum + } + return "" +} + +func (x *UserListInfo) GetNotPassRemarks() string { + if x != nil { + return x.NotPassRemarks + } + return "" +} + +func (x *UserListInfo) GetTelNum() string { + if x != nil { + return x.TelNum + } + return "" +} + +type UserListRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Domain string `protobuf:"bytes,1,opt,name=domain,proto3" json:"domain,omitempty"` + SubNum string `protobuf:"bytes,2,opt,name=subNum,proto3" json:"subNum,omitempty"` + RealNameOrNot int32 `protobuf:"varint,3,opt,name=realNameOrNot,proto3" json:"realNameOrNot,omitempty"` + Name string `protobuf:"bytes,4,opt,name=name,proto3" json:"name,omitempty"` + Sex int32 `protobuf:"varint,5,opt,name=sex,proto3" json:"sex,omitempty"` + DocumentType int32 `protobuf:"varint,6,opt,name=documentType,proto3" json:"documentType,omitempty"` + AuditStatus int32 `protobuf:"varint,7,opt,name=auditStatus,proto3" json:"auditStatus,omitempty"` + Page uint64 `protobuf:"varint,8,opt,name=page,proto3" json:"page,omitempty"` + PageSize uint64 `protobuf:"varint,9,opt,name=pageSize,proto3" json:"pageSize,omitempty"` +} + +func (x *UserListRequest) Reset() { + *x = UserListRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_api_account_account_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UserListRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UserListRequest) ProtoMessage() {} + +func (x *UserListRequest) ProtoReflect() protoreflect.Message { + mi := &file_api_account_account_proto_msgTypes[4] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use UserListRequest.ProtoReflect.Descriptor instead. +func (*UserListRequest) Descriptor() ([]byte, []int) { + return file_api_account_account_proto_rawDescGZIP(), []int{4} +} + +func (x *UserListRequest) GetDomain() string { + if x != nil { + return x.Domain + } + return "" +} + +func (x *UserListRequest) GetSubNum() string { + if x != nil { + return x.SubNum + } + return "" +} + +func (x *UserListRequest) GetRealNameOrNot() int32 { + if x != nil { + return x.RealNameOrNot + } + return 0 +} + +func (x *UserListRequest) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *UserListRequest) GetSex() int32 { + if x != nil { + return x.Sex + } + return 0 +} + +func (x *UserListRequest) GetDocumentType() int32 { + if x != nil { + return x.DocumentType + } + return 0 +} + +func (x *UserListRequest) GetAuditStatus() int32 { + if x != nil { + return x.AuditStatus + } + return 0 +} + +func (x *UserListRequest) GetPage() uint64 { + if x != nil { + return x.Page + } + return 0 +} + +func (x *UserListRequest) GetPageSize() uint64 { + if x != nil { + return x.PageSize + } + return 0 +} + +type UserInfoResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Id uint64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` + Status int32 `protobuf:"varint,2,opt,name=status,proto3" json:"status,omitempty"` + Name string `protobuf:"bytes,3,opt,name=name,proto3" json:"name,omitempty"` + Sex int32 `protobuf:"varint,4,opt,name=sex,proto3" json:"sex,omitempty"` + Nationality string `protobuf:"bytes,5,opt,name=nationality,proto3" json:"nationality,omitempty"` + DocumentType int32 `protobuf:"varint,6,opt,name=documentType,proto3" json:"documentType,omitempty"` + CertificatePicture string `protobuf:"bytes,7,opt,name=certificatePicture,proto3" json:"certificatePicture,omitempty"` + Validity string `protobuf:"bytes,8,opt,name=validity,proto3" json:"validity,omitempty"` + PlaceOfResidence string `protobuf:"bytes,9,opt,name=placeOfResidence,proto3" json:"placeOfResidence,omitempty"` + GroupPhoto string `protobuf:"bytes,10,opt,name=groupPhoto,proto3" json:"groupPhoto,omitempty"` + Attachment string `protobuf:"bytes,11,opt,name=attachment,proto3" json:"attachment,omitempty"` + SubNum string `protobuf:"bytes,12,opt,name=subNum,proto3" json:"subNum,omitempty"` + NotPassRemarks string `protobuf:"bytes,13,opt,name=notPassRemarks,proto3" json:"notPassRemarks,omitempty"` +} + +func (x *UserInfoResponse) Reset() { + *x = UserInfoResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_api_account_account_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UserInfoResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UserInfoResponse) ProtoMessage() {} + +func (x *UserInfoResponse) ProtoReflect() protoreflect.Message { + mi := &file_api_account_account_proto_msgTypes[5] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use UserInfoResponse.ProtoReflect.Descriptor instead. +func (*UserInfoResponse) Descriptor() ([]byte, []int) { + return file_api_account_account_proto_rawDescGZIP(), []int{5} +} + +func (x *UserInfoResponse) GetId() uint64 { + if x != nil { + return x.Id + } + return 0 +} + +func (x *UserInfoResponse) GetStatus() int32 { + if x != nil { + return x.Status + } + return 0 +} + +func (x *UserInfoResponse) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *UserInfoResponse) GetSex() int32 { + if x != nil { + return x.Sex + } + return 0 +} + +func (x *UserInfoResponse) GetNationality() string { + if x != nil { + return x.Nationality + } + return "" +} + +func (x *UserInfoResponse) GetDocumentType() int32 { + if x != nil { + return x.DocumentType + } + return 0 +} + +func (x *UserInfoResponse) GetCertificatePicture() string { + if x != nil { + return x.CertificatePicture + } + return "" +} + +func (x *UserInfoResponse) GetValidity() string { + if x != nil { + return x.Validity + } + return "" +} + +func (x *UserInfoResponse) GetPlaceOfResidence() string { + if x != nil { + return x.PlaceOfResidence + } + return "" +} + +func (x *UserInfoResponse) GetGroupPhoto() string { + if x != nil { + return x.GroupPhoto + } + return "" +} + +func (x *UserInfoResponse) GetAttachment() string { + if x != nil { + return x.Attachment + } + return "" +} + +func (x *UserInfoResponse) GetSubNum() string { + if x != nil { + return x.SubNum + } + return "" +} + +func (x *UserInfoResponse) GetNotPassRemarks() string { + if x != nil { + return x.NotPassRemarks + } + return "" +} + +type RealNameResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Id uint64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` + Status string `protobuf:"bytes,2,opt,name=status,proto3" json:"status,omitempty"` +} + +func (x *RealNameResponse) Reset() { + *x = RealNameResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_api_account_account_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *RealNameResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RealNameResponse) ProtoMessage() {} + +func (x *RealNameResponse) ProtoReflect() protoreflect.Message { + mi := &file_api_account_account_proto_msgTypes[6] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RealNameResponse.ProtoReflect.Descriptor instead. +func (*RealNameResponse) Descriptor() ([]byte, []int) { + return file_api_account_account_proto_rawDescGZIP(), []int{6} +} + +func (x *RealNameResponse) GetId() uint64 { + if x != nil { + return x.Id + } + return 0 +} + +func (x *RealNameResponse) GetStatus() string { + if x != nil { + return x.Status + } + return "" +} + +type RealNameRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Id uint64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` + Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` + Sex int32 `protobuf:"varint,3,opt,name=sex,proto3" json:"sex,omitempty"` + Nationality string `protobuf:"bytes,4,opt,name=nationality,proto3" json:"nationality,omitempty"` + DocumentType int32 `protobuf:"varint,5,opt,name=documentType,proto3" json:"documentType,omitempty"` + CertificatePicture string `protobuf:"bytes,6,opt,name=certificatePicture,proto3" json:"certificatePicture,omitempty"` + Validity string `protobuf:"bytes,7,opt,name=validity,proto3" json:"validity,omitempty"` + PlaceOfResidence string `protobuf:"bytes,8,opt,name=placeOfResidence,proto3" json:"placeOfResidence,omitempty"` + GroupPhoto string `protobuf:"bytes,9,opt,name=groupPhoto,proto3" json:"groupPhoto,omitempty"` + Attachment string `protobuf:"bytes,10,opt,name=attachment,proto3" json:"attachment,omitempty"` +} + +func (x *RealNameRequest) Reset() { + *x = RealNameRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_api_account_account_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *RealNameRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RealNameRequest) ProtoMessage() {} + +func (x *RealNameRequest) ProtoReflect() protoreflect.Message { + mi := &file_api_account_account_proto_msgTypes[7] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RealNameRequest.ProtoReflect.Descriptor instead. +func (*RealNameRequest) Descriptor() ([]byte, []int) { + return file_api_account_account_proto_rawDescGZIP(), []int{7} +} + +func (x *RealNameRequest) GetId() uint64 { + if x != nil { + return x.Id + } + return 0 +} + +func (x *RealNameRequest) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *RealNameRequest) GetSex() int32 { + if x != nil { + return x.Sex + } + return 0 +} + +func (x *RealNameRequest) GetNationality() string { + if x != nil { + return x.Nationality + } + return "" +} + +func (x *RealNameRequest) GetDocumentType() int32 { + if x != nil { + return x.DocumentType + } + return 0 +} + +func (x *RealNameRequest) GetCertificatePicture() string { + if x != nil { + return x.CertificatePicture + } + return "" +} + +func (x *RealNameRequest) GetValidity() string { + if x != nil { + return x.Validity + } + return "" +} + +func (x *RealNameRequest) GetPlaceOfResidence() string { + if x != nil { + return x.PlaceOfResidence + } + return "" +} + +func (x *RealNameRequest) GetGroupPhoto() string { + if x != nil { + return x.GroupPhoto + } + return "" +} + +func (x *RealNameRequest) GetAttachment() string { + if x != nil { + return x.Attachment + } + return "" +} + +type RegisterResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ID uint64 `protobuf:"varint,1,opt,name=ID,proto3" json:"ID,omitempty"` + Status uint64 `protobuf:"varint,2,opt,name=status,proto3" json:"status,omitempty"` + Token string `protobuf:"bytes,3,opt,name=token,proto3" json:"token,omitempty"` +} + +func (x *RegisterResponse) Reset() { + *x = RegisterResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_api_account_account_proto_msgTypes[8] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *RegisterResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RegisterResponse) ProtoMessage() {} + +func (x *RegisterResponse) ProtoReflect() protoreflect.Message { + mi := &file_api_account_account_proto_msgTypes[8] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RegisterResponse.ProtoReflect.Descriptor instead. +func (*RegisterResponse) Descriptor() ([]byte, []int) { + return file_api_account_account_proto_rawDescGZIP(), []int{8} +} + +func (x *RegisterResponse) GetID() uint64 { + if x != nil { + return x.ID + } + return 0 +} + +func (x *RegisterResponse) GetStatus() uint64 { + if x != nil { + return x.Status + } + return 0 +} + +func (x *RegisterResponse) GetToken() string { + if x != nil { + return x.Token + } + return "" +} + +type UsersByJobNumRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Domain string `protobuf:"bytes,1,opt,name=domain,proto3" json:"domain,omitempty"` + JobNum []string `protobuf:"bytes,2,rep,name=jobNum,proto3" json:"jobNum,omitempty"` +} + +func (x *UsersByJobNumRequest) Reset() { + *x = UsersByJobNumRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_api_account_account_proto_msgTypes[9] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UsersByJobNumRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UsersByJobNumRequest) ProtoMessage() {} + +func (x *UsersByJobNumRequest) ProtoReflect() protoreflect.Message { + mi := &file_api_account_account_proto_msgTypes[9] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use UsersByJobNumRequest.ProtoReflect.Descriptor instead. +func (*UsersByJobNumRequest) Descriptor() ([]byte, []int) { + return file_api_account_account_proto_rawDescGZIP(), []int{9} +} + +func (x *UsersByJobNumRequest) GetDomain() string { + if x != nil { + return x.Domain + } + return "" +} + +func (x *UsersByJobNumRequest) GetJobNum() []string { + if x != nil { + return x.JobNum + } + return nil +} + +type QueryPersonnelWithTheSameNameRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Names []string `protobuf:"bytes,1,rep,name=names,proto3" json:"names,omitempty"` + Domain string `protobuf:"bytes,2,opt,name=domain,proto3" json:"domain,omitempty"` + Status string `protobuf:"bytes,3,opt,name=status,proto3" json:"status,omitempty"` +} + +func (x *QueryPersonnelWithTheSameNameRequest) Reset() { + *x = QueryPersonnelWithTheSameNameRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_api_account_account_proto_msgTypes[10] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *QueryPersonnelWithTheSameNameRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*QueryPersonnelWithTheSameNameRequest) ProtoMessage() {} + +func (x *QueryPersonnelWithTheSameNameRequest) ProtoReflect() protoreflect.Message { + mi := &file_api_account_account_proto_msgTypes[10] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use QueryPersonnelWithTheSameNameRequest.ProtoReflect.Descriptor instead. +func (*QueryPersonnelWithTheSameNameRequest) Descriptor() ([]byte, []int) { + return file_api_account_account_proto_rawDescGZIP(), []int{10} +} + +func (x *QueryPersonnelWithTheSameNameRequest) GetNames() []string { + if x != nil { + return x.Names + } + return nil +} + +func (x *QueryPersonnelWithTheSameNameRequest) GetDomain() string { + if x != nil { + return x.Domain + } + return "" +} + +func (x *QueryPersonnelWithTheSameNameRequest) GetStatus() string { + if x != nil { + return x.Status + } + return "" +} + +type QueryPersonnelWithTheSameNameResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Names []string `protobuf:"bytes,1,rep,name=names,proto3" json:"names,omitempty"` + Count uint64 `protobuf:"varint,2,opt,name=count,proto3" json:"count,omitempty"` +} + +func (x *QueryPersonnelWithTheSameNameResponse) Reset() { + *x = QueryPersonnelWithTheSameNameResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_api_account_account_proto_msgTypes[11] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *QueryPersonnelWithTheSameNameResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*QueryPersonnelWithTheSameNameResponse) ProtoMessage() {} + +func (x *QueryPersonnelWithTheSameNameResponse) ProtoReflect() protoreflect.Message { + mi := &file_api_account_account_proto_msgTypes[11] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use QueryPersonnelWithTheSameNameResponse.ProtoReflect.Descriptor instead. +func (*QueryPersonnelWithTheSameNameResponse) Descriptor() ([]byte, []int) { + return file_api_account_account_proto_rawDescGZIP(), []int{11} +} + +func (x *QueryPersonnelWithTheSameNameResponse) GetNames() []string { + if x != nil { + return x.Names + } + return nil +} + +func (x *QueryPersonnelWithTheSameNameResponse) GetCount() uint64 { + if x != nil { + return x.Count + } + return 0 +} + +type ListV2Request struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Domain string `protobuf:"bytes,1,opt,name=domain,proto3" json:"domain,omitempty"` + PageSize uint64 `protobuf:"varint,2,opt,name=pageSize,proto3" json:"pageSize,omitempty"` + Page uint64 `protobuf:"varint,3,opt,name=page,proto3" json:"page,omitempty"` + Key string `protobuf:"bytes,4,opt,name=key,proto3" json:"key,omitempty"` + NickName string `protobuf:"bytes,5,opt,name=nickName,proto3" json:"nickName,omitempty"` + TelNum string `protobuf:"bytes,6,opt,name=telNum,proto3" json:"telNum,omitempty"` + Status string `protobuf:"bytes,7,opt,name=status,proto3" json:"status,omitempty"` + PositionName string `protobuf:"bytes,8,opt,name=positionName,proto3" json:"positionName,omitempty"` + JobNum string `protobuf:"bytes,9,opt,name=jobNum,proto3" json:"jobNum,omitempty"` + MailAccount string `protobuf:"bytes,10,opt,name=mailAccount,proto3" json:"mailAccount,omitempty"` + StartEnterDate string `protobuf:"bytes,11,opt,name=startEnterDate,proto3" json:"startEnterDate,omitempty"` + EndEnterDate string `protobuf:"bytes,12,opt,name=endEnterDate,proto3" json:"endEnterDate,omitempty"` + PositionId uint32 `protobuf:"varint,13,opt,name=positionId,proto3" json:"positionId,omitempty"` + DepartmentId uint32 `protobuf:"varint,14,opt,name=departmentId,proto3" json:"departmentId,omitempty"` + DepartmentName string `protobuf:"bytes,15,opt,name=departmentName,proto3" json:"departmentName,omitempty"` + DepartmentNames []string `protobuf:"bytes,16,rep,name=departmentNames,proto3" json:"departmentNames,omitempty"` + PositionIds []uint32 `protobuf:"varint,17,rep,packed,name=positionIds,proto3" json:"positionIds,omitempty"` + DepartmentIds []uint32 `protobuf:"varint,18,rep,packed,name=departmentIds,proto3" json:"departmentIds,omitempty"` +} + +func (x *ListV2Request) Reset() { + *x = ListV2Request{} + if protoimpl.UnsafeEnabled { + mi := &file_api_account_account_proto_msgTypes[12] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListV2Request) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListV2Request) ProtoMessage() {} + +func (x *ListV2Request) ProtoReflect() protoreflect.Message { + mi := &file_api_account_account_proto_msgTypes[12] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListV2Request.ProtoReflect.Descriptor instead. +func (*ListV2Request) Descriptor() ([]byte, []int) { + return file_api_account_account_proto_rawDescGZIP(), []int{12} +} + +func (x *ListV2Request) GetDomain() string { + if x != nil { + return x.Domain + } + return "" +} + +func (x *ListV2Request) GetPageSize() uint64 { + if x != nil { + return x.PageSize + } + return 0 +} + +func (x *ListV2Request) GetPage() uint64 { + if x != nil { + return x.Page + } + return 0 +} + +func (x *ListV2Request) GetKey() string { + if x != nil { + return x.Key + } + return "" +} + +func (x *ListV2Request) GetNickName() string { + if x != nil { + return x.NickName + } + return "" +} + +func (x *ListV2Request) GetTelNum() string { + if x != nil { + return x.TelNum + } + return "" +} + +func (x *ListV2Request) GetStatus() string { + if x != nil { + return x.Status + } + return "" +} + +func (x *ListV2Request) GetPositionName() string { + if x != nil { + return x.PositionName + } + return "" +} + +func (x *ListV2Request) GetJobNum() string { + if x != nil { + return x.JobNum + } + return "" +} + +func (x *ListV2Request) GetMailAccount() string { + if x != nil { + return x.MailAccount + } + return "" +} + +func (x *ListV2Request) GetStartEnterDate() string { + if x != nil { + return x.StartEnterDate + } + return "" +} + +func (x *ListV2Request) GetEndEnterDate() string { + if x != nil { + return x.EndEnterDate + } + return "" +} + +func (x *ListV2Request) GetPositionId() uint32 { + if x != nil { + return x.PositionId + } + return 0 +} + +func (x *ListV2Request) GetDepartmentId() uint32 { + if x != nil { + return x.DepartmentId + } + return 0 +} + +func (x *ListV2Request) GetDepartmentName() string { + if x != nil { + return x.DepartmentName + } + return "" +} + +func (x *ListV2Request) GetDepartmentNames() []string { + if x != nil { + return x.DepartmentNames + } + return nil +} + +func (x *ListV2Request) GetPositionIds() []uint32 { + if x != nil { + return x.PositionIds + } + return nil +} + +func (x *ListV2Request) GetDepartmentIds() []uint32 { + if x != nil { + return x.DepartmentIds + } + return nil +} + +type SendClockInWechatRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Domain string `protobuf:"bytes,1,opt,name=domain,proto3" json:"domain,omitempty"` + TelNum string `protobuf:"bytes,2,opt,name=telNum,proto3" json:"telNum,omitempty"` + OperatedAt string `protobuf:"bytes,3,opt,name=operatedAt,proto3" json:"operatedAt,omitempty"` + ClockType string `protobuf:"bytes,4,opt,name=clockType,proto3" json:"clockType,omitempty"` + UserId uint32 `protobuf:"varint,5,opt,name=userId,proto3" json:"userId,omitempty"` + GhId string `protobuf:"bytes,6,opt,name=ghId,proto3" json:"ghId,omitempty"` + Address string `protobuf:"bytes,7,opt,name=address,proto3" json:"address,omitempty"` + LogId uint64 `protobuf:"varint,8,opt,name=logId,proto3" json:"logId,omitempty"` +} + +func (x *SendClockInWechatRequest) Reset() { + *x = SendClockInWechatRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_api_account_account_proto_msgTypes[13] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SendClockInWechatRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SendClockInWechatRequest) ProtoMessage() {} + +func (x *SendClockInWechatRequest) ProtoReflect() protoreflect.Message { + mi := &file_api_account_account_proto_msgTypes[13] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SendClockInWechatRequest.ProtoReflect.Descriptor instead. +func (*SendClockInWechatRequest) Descriptor() ([]byte, []int) { + return file_api_account_account_proto_rawDescGZIP(), []int{13} +} + +func (x *SendClockInWechatRequest) GetDomain() string { + if x != nil { + return x.Domain + } + return "" +} + +func (x *SendClockInWechatRequest) GetTelNum() string { + if x != nil { + return x.TelNum + } + return "" +} + +func (x *SendClockInWechatRequest) GetOperatedAt() string { + if x != nil { + return x.OperatedAt + } + return "" +} + +func (x *SendClockInWechatRequest) GetClockType() string { + if x != nil { + return x.ClockType + } + return "" +} + +func (x *SendClockInWechatRequest) GetUserId() uint32 { + if x != nil { + return x.UserId + } + return 0 +} + +func (x *SendClockInWechatRequest) GetGhId() string { + if x != nil { + return x.GhId + } + return "" +} + +func (x *SendClockInWechatRequest) GetAddress() string { + if x != nil { + return x.Address + } + return "" +} + +func (x *SendClockInWechatRequest) GetLogId() uint64 { + if x != nil { + return x.LogId + } + return 0 +} + +type MailAccountByNickNameRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Domain string `protobuf:"bytes,1,opt,name=Domain,json=domain,proto3" json:"Domain,omitempty"` + NickName string `protobuf:"bytes,2,opt,name=NickName,json=nickName,proto3" json:"NickName,omitempty"` + ID uint32 `protobuf:"varint,3,opt,name=ID,proto3" json:"ID,omitempty"` +} + +func (x *MailAccountByNickNameRequest) Reset() { + *x = MailAccountByNickNameRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_api_account_account_proto_msgTypes[14] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *MailAccountByNickNameRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MailAccountByNickNameRequest) ProtoMessage() {} + +func (x *MailAccountByNickNameRequest) ProtoReflect() protoreflect.Message { + mi := &file_api_account_account_proto_msgTypes[14] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use MailAccountByNickNameRequest.ProtoReflect.Descriptor instead. +func (*MailAccountByNickNameRequest) Descriptor() ([]byte, []int) { + return file_api_account_account_proto_rawDescGZIP(), []int{14} +} + +func (x *MailAccountByNickNameRequest) GetDomain() string { + if x != nil { + return x.Domain + } + return "" +} + +func (x *MailAccountByNickNameRequest) GetNickName() string { + if x != nil { + return x.NickName + } + return "" +} + +func (x *MailAccountByNickNameRequest) GetID() uint32 { + if x != nil { + return x.ID + } + return 0 +} + +type CreateMaiAccountRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ID uint32 `protobuf:"varint,1,opt,name=ID,proto3" json:"ID,omitempty"` + NickName string `protobuf:"bytes,2,opt,name=nickName,proto3" json:"nickName,omitempty"` + Domain string `protobuf:"bytes,3,opt,name=domain,proto3" json:"domain,omitempty"` +} + +func (x *CreateMaiAccountRequest) Reset() { + *x = CreateMaiAccountRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_api_account_account_proto_msgTypes[15] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CreateMaiAccountRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CreateMaiAccountRequest) ProtoMessage() {} + +func (x *CreateMaiAccountRequest) ProtoReflect() protoreflect.Message { + mi := &file_api_account_account_proto_msgTypes[15] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CreateMaiAccountRequest.ProtoReflect.Descriptor instead. +func (*CreateMaiAccountRequest) Descriptor() ([]byte, []int) { + return file_api_account_account_proto_rawDescGZIP(), []int{15} +} + +func (x *CreateMaiAccountRequest) GetID() uint32 { + if x != nil { + return x.ID + } + return 0 +} + +func (x *CreateMaiAccountRequest) GetNickName() string { + if x != nil { + return x.NickName + } + return "" +} + +func (x *CreateMaiAccountRequest) GetDomain() string { + if x != nil { + return x.Domain + } + return "" +} + +type MaiAccountResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + EnglishName string `protobuf:"bytes,1,opt,name=englishName,proto3" json:"englishName,omitempty"` + MailAccount string `protobuf:"bytes,2,opt,name=mailAccount,proto3" json:"mailAccount,omitempty"` +} + +func (x *MaiAccountResponse) Reset() { + *x = MaiAccountResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_api_account_account_proto_msgTypes[16] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *MaiAccountResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MaiAccountResponse) ProtoMessage() {} + +func (x *MaiAccountResponse) ProtoReflect() protoreflect.Message { + mi := &file_api_account_account_proto_msgTypes[16] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use MaiAccountResponse.ProtoReflect.Descriptor instead. +func (*MaiAccountResponse) Descriptor() ([]byte, []int) { + return file_api_account_account_proto_rawDescGZIP(), []int{16} +} + +func (x *MaiAccountResponse) GetEnglishName() string { + if x != nil { + return x.EnglishName + } + return "" +} + +func (x *MaiAccountResponse) GetMailAccount() string { + if x != nil { + return x.MailAccount + } + return "" +} + +type FddCreateUserRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Openid string `protobuf:"bytes,1,opt,name=openid,proto3" json:"openid,omitempty"` + WxUserId uint32 `protobuf:"varint,2,opt,name=wxUserId,proto3" json:"wxUserId,omitempty"` + //string UserId = 3; + CustomerId string `protobuf:"bytes,4,opt,name=customerId,proto3" json:"customerId,omitempty"` + IsVerify bool `protobuf:"varint,5,opt,name=isVerify,proto3" json:"isVerify,omitempty"` + TransactionNo string `protobuf:"bytes,6,opt,name=transactionNo,proto3" json:"transactionNo,omitempty"` +} + +func (x *FddCreateUserRequest) Reset() { + *x = FddCreateUserRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_api_account_account_proto_msgTypes[17] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *FddCreateUserRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*FddCreateUserRequest) ProtoMessage() {} + +func (x *FddCreateUserRequest) ProtoReflect() protoreflect.Message { + mi := &file_api_account_account_proto_msgTypes[17] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use FddCreateUserRequest.ProtoReflect.Descriptor instead. +func (*FddCreateUserRequest) Descriptor() ([]byte, []int) { + return file_api_account_account_proto_rawDescGZIP(), []int{17} +} + +func (x *FddCreateUserRequest) GetOpenid() string { + if x != nil { + return x.Openid + } + return "" +} + +func (x *FddCreateUserRequest) GetWxUserId() uint32 { + if x != nil { + return x.WxUserId + } + return 0 +} + +func (x *FddCreateUserRequest) GetCustomerId() string { + if x != nil { + return x.CustomerId + } + return "" +} + +func (x *FddCreateUserRequest) GetIsVerify() bool { + if x != nil { + return x.IsVerify + } + return false +} + +func (x *FddCreateUserRequest) GetTransactionNo() string { + if x != nil { + return x.TransactionNo + } + return "" +} + +type WxBoxUserInfoRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Openid string `protobuf:"bytes,2,opt,name=openid,proto3" json:"openid,omitempty"` + GhId string `protobuf:"bytes,3,opt,name=ghId,proto3" json:"ghId,omitempty"` +} + +func (x *WxBoxUserInfoRequest) Reset() { + *x = WxBoxUserInfoRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_api_account_account_proto_msgTypes[18] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *WxBoxUserInfoRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*WxBoxUserInfoRequest) ProtoMessage() {} + +func (x *WxBoxUserInfoRequest) ProtoReflect() protoreflect.Message { + mi := &file_api_account_account_proto_msgTypes[18] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use WxBoxUserInfoRequest.ProtoReflect.Descriptor instead. +func (*WxBoxUserInfoRequest) Descriptor() ([]byte, []int) { + return file_api_account_account_proto_rawDescGZIP(), []int{18} +} + +func (x *WxBoxUserInfoRequest) GetOpenid() string { + if x != nil { + return x.Openid + } + return "" +} + +func (x *WxBoxUserInfoRequest) GetGhId() string { + if x != nil { + return x.GhId + } + return "" +} + +type WxGetOpenIdByCodeRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Code string `protobuf:"bytes,1,opt,name=code,proto3" json:"code,omitempty"` + State string `protobuf:"bytes,2,opt,name=state,proto3" json:"state,omitempty"` + GhId string `protobuf:"bytes,3,opt,name=ghId,proto3" json:"ghId,omitempty"` +} + +func (x *WxGetOpenIdByCodeRequest) Reset() { + *x = WxGetOpenIdByCodeRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_api_account_account_proto_msgTypes[19] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *WxGetOpenIdByCodeRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*WxGetOpenIdByCodeRequest) ProtoMessage() {} + +func (x *WxGetOpenIdByCodeRequest) ProtoReflect() protoreflect.Message { + mi := &file_api_account_account_proto_msgTypes[19] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use WxGetOpenIdByCodeRequest.ProtoReflect.Descriptor instead. +func (*WxGetOpenIdByCodeRequest) Descriptor() ([]byte, []int) { + return file_api_account_account_proto_rawDescGZIP(), []int{19} +} + +func (x *WxGetOpenIdByCodeRequest) GetCode() string { + if x != nil { + return x.Code + } + return "" +} + +func (x *WxGetOpenIdByCodeRequest) GetState() string { + if x != nil { + return x.State + } + return "" +} + +func (x *WxGetOpenIdByCodeRequest) GetGhId() string { + if x != nil { + return x.GhId + } + return "" +} + +type WxGetOpenIdByCodeResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + OpenId string `protobuf:"bytes,1,opt,name=openId,proto3" json:"openId,omitempty"` +} + +func (x *WxGetOpenIdByCodeResponse) Reset() { + *x = WxGetOpenIdByCodeResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_api_account_account_proto_msgTypes[20] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *WxGetOpenIdByCodeResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*WxGetOpenIdByCodeResponse) ProtoMessage() {} + +func (x *WxGetOpenIdByCodeResponse) ProtoReflect() protoreflect.Message { + mi := &file_api_account_account_proto_msgTypes[20] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use WxGetOpenIdByCodeResponse.ProtoReflect.Descriptor instead. +func (*WxGetOpenIdByCodeResponse) Descriptor() ([]byte, []int) { + return file_api_account_account_proto_rawDescGZIP(), []int{20} +} + +func (x *WxGetOpenIdByCodeResponse) GetOpenId() string { + if x != nil { + return x.OpenId + } + return "" +} + +type WxBoxTelNumByCodeResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + TelNum string `protobuf:"bytes,1,opt,name=telNum,proto3" json:"telNum,omitempty"` +} + +func (x *WxBoxTelNumByCodeResponse) Reset() { + *x = WxBoxTelNumByCodeResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_api_account_account_proto_msgTypes[21] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *WxBoxTelNumByCodeResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*WxBoxTelNumByCodeResponse) ProtoMessage() {} + +func (x *WxBoxTelNumByCodeResponse) ProtoReflect() protoreflect.Message { + mi := &file_api_account_account_proto_msgTypes[21] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use WxBoxTelNumByCodeResponse.ProtoReflect.Descriptor instead. +func (*WxBoxTelNumByCodeResponse) Descriptor() ([]byte, []int) { + return file_api_account_account_proto_rawDescGZIP(), []int{21} +} + +func (x *WxBoxTelNumByCodeResponse) GetTelNum() string { + if x != nil { + return x.TelNum + } + return "" +} + +type WxBoxUserInfo struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + OpenId string `protobuf:"bytes,1,opt,name=openId,proto3" json:"openId,omitempty"` + GhId string `protobuf:"bytes,2,opt,name=ghId,proto3" json:"ghId,omitempty"` + IsNew bool `protobuf:"varint,3,opt,name=isNew,proto3" json:"isNew,omitempty"` + User *UserInfo `protobuf:"bytes,4,opt,name=user,proto3" json:"user,omitempty"` + WxUserId uint32 `protobuf:"varint,5,opt,name=wxUserId,proto3" json:"wxUserId,omitempty"` + Fdd *FddInfo `protobuf:"bytes,6,opt,name=fdd,proto3" json:"fdd,omitempty"` +} + +func (x *WxBoxUserInfo) Reset() { + *x = WxBoxUserInfo{} + if protoimpl.UnsafeEnabled { + mi := &file_api_account_account_proto_msgTypes[22] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *WxBoxUserInfo) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*WxBoxUserInfo) ProtoMessage() {} + +func (x *WxBoxUserInfo) ProtoReflect() protoreflect.Message { + mi := &file_api_account_account_proto_msgTypes[22] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use WxBoxUserInfo.ProtoReflect.Descriptor instead. +func (*WxBoxUserInfo) Descriptor() ([]byte, []int) { + return file_api_account_account_proto_rawDescGZIP(), []int{22} +} + +func (x *WxBoxUserInfo) GetOpenId() string { + if x != nil { + return x.OpenId + } + return "" +} + +func (x *WxBoxUserInfo) GetGhId() string { + if x != nil { + return x.GhId + } + return "" +} + +func (x *WxBoxUserInfo) GetIsNew() bool { + if x != nil { + return x.IsNew + } + return false +} + +func (x *WxBoxUserInfo) GetUser() *UserInfo { + if x != nil { + return x.User + } + return nil +} + +func (x *WxBoxUserInfo) GetWxUserId() uint32 { + if x != nil { + return x.WxUserId + } + return 0 +} + +func (x *WxBoxUserInfo) GetFdd() *FddInfo { + if x != nil { + return x.Fdd + } + return nil +} + +type FddInfo struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ID uint64 `protobuf:"varint,1,opt,name=ID,proto3" json:"ID,omitempty"` + CustomerId string `protobuf:"bytes,2,opt,name=customerId,proto3" json:"customerId,omitempty"` + IsVerify bool `protobuf:"varint,3,opt,name=isVerify,proto3" json:"isVerify,omitempty"` + TransactionNo string `protobuf:"bytes,4,opt,name=transactionNo,proto3" json:"transactionNo,omitempty"` +} + +func (x *FddInfo) Reset() { + *x = FddInfo{} + if protoimpl.UnsafeEnabled { + mi := &file_api_account_account_proto_msgTypes[23] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *FddInfo) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*FddInfo) ProtoMessage() {} + +func (x *FddInfo) ProtoReflect() protoreflect.Message { + mi := &file_api_account_account_proto_msgTypes[23] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use FddInfo.ProtoReflect.Descriptor instead. +func (*FddInfo) Descriptor() ([]byte, []int) { + return file_api_account_account_proto_rawDescGZIP(), []int{23} +} + +func (x *FddInfo) GetID() uint64 { + if x != nil { + return x.ID + } + return 0 +} + +func (x *FddInfo) GetCustomerId() string { + if x != nil { + return x.CustomerId + } + return "" +} + +func (x *FddInfo) GetIsVerify() bool { + if x != nil { + return x.IsVerify + } + return false +} + +func (x *FddInfo) GetTransactionNo() string { + if x != nil { + return x.TransactionNo + } + return "" +} + +type UserInfo struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ID uint64 `protobuf:"varint,1,opt,name=ID,proto3" json:"ID,omitempty"` + NickName string `protobuf:"bytes,3,opt,name=nickName,proto3" json:"nickName,omitempty"` + TelNum string `protobuf:"bytes,5,opt,name=telNum,proto3" json:"telNum,omitempty"` + Avatar string `protobuf:"bytes,7,opt,name=avatar,proto3" json:"avatar,omitempty"` + CreateAt string `protobuf:"bytes,8,opt,name=createAt,proto3" json:"createAt,omitempty"` + RealNameID uint64 `protobuf:"varint,9,opt,name=realNameID,proto3" json:"realNameID,omitempty"` + RealName string `protobuf:"bytes,10,opt,name=realName,proto3" json:"realName,omitempty"` + IDNum string `protobuf:"bytes,11,opt,name=iDNum,proto3" json:"iDNum,omitempty"` + Domain string `protobuf:"bytes,12,opt,name=domain,proto3" json:"domain,omitempty"` + RealIDImgA string `protobuf:"bytes,17,opt,name=realIDImgA,proto3" json:"realIDImgA,omitempty"` + RealIDImgB string `protobuf:"bytes,18,opt,name=realIDImgB,proto3" json:"realIDImgB,omitempty"` + RealNameIDName string `protobuf:"bytes,19,opt,name=realNameIDName,proto3" json:"realNameIDName,omitempty"` + Video string `protobuf:"bytes,20,opt,name=video,proto3" json:"video,omitempty"` +} + +func (x *UserInfo) Reset() { + *x = UserInfo{} + if protoimpl.UnsafeEnabled { + mi := &file_api_account_account_proto_msgTypes[24] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UserInfo) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UserInfo) ProtoMessage() {} + +func (x *UserInfo) ProtoReflect() protoreflect.Message { + mi := &file_api_account_account_proto_msgTypes[24] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use UserInfo.ProtoReflect.Descriptor instead. +func (*UserInfo) Descriptor() ([]byte, []int) { + return file_api_account_account_proto_rawDescGZIP(), []int{24} +} + +func (x *UserInfo) GetID() uint64 { + if x != nil { + return x.ID + } + return 0 +} + +func (x *UserInfo) GetNickName() string { + if x != nil { + return x.NickName + } + return "" +} + +func (x *UserInfo) GetTelNum() string { + if x != nil { + return x.TelNum + } + return "" +} + +func (x *UserInfo) GetAvatar() string { + if x != nil { + return x.Avatar + } + return "" +} + +func (x *UserInfo) GetCreateAt() string { + if x != nil { + return x.CreateAt + } + return "" +} + +func (x *UserInfo) GetRealNameID() uint64 { + if x != nil { + return x.RealNameID + } + return 0 +} + +func (x *UserInfo) GetRealName() string { + if x != nil { + return x.RealName + } + return "" +} + +func (x *UserInfo) GetIDNum() string { + if x != nil { + return x.IDNum + } + return "" +} + +func (x *UserInfo) GetDomain() string { + if x != nil { + return x.Domain + } + return "" +} + +func (x *UserInfo) GetRealIDImgA() string { + if x != nil { + return x.RealIDImgA + } + return "" +} + +func (x *UserInfo) GetRealIDImgB() string { + if x != nil { + return x.RealIDImgB + } + return "" +} + +func (x *UserInfo) GetRealNameIDName() string { + if x != nil { + return x.RealNameIDName + } + return "" +} + +func (x *UserInfo) GetVideo() string { + if x != nil { + return x.Video + } + return "" +} + +type CommonRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ID uint64 `protobuf:"varint,1,opt,name=ID,proto3" json:"ID,omitempty"` +} + +func (x *CommonRequest) Reset() { + *x = CommonRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_api_account_account_proto_msgTypes[25] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CommonRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CommonRequest) ProtoMessage() {} + +func (x *CommonRequest) ProtoReflect() protoreflect.Message { + mi := &file_api_account_account_proto_msgTypes[25] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CommonRequest.ProtoReflect.Descriptor instead. +func (*CommonRequest) Descriptor() ([]byte, []int) { + return file_api_account_account_proto_rawDescGZIP(), []int{25} +} + +func (x *CommonRequest) GetID() uint64 { + if x != nil { + return x.ID + } + return 0 +} + +type WxAppRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + GhId string `protobuf:"bytes,1,opt,name=GhId,json=ID,proto3" json:"GhId,omitempty"` +} + +func (x *WxAppRequest) Reset() { + *x = WxAppRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_api_account_account_proto_msgTypes[26] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *WxAppRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*WxAppRequest) ProtoMessage() {} + +func (x *WxAppRequest) ProtoReflect() protoreflect.Message { + mi := &file_api_account_account_proto_msgTypes[26] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use WxAppRequest.ProtoReflect.Descriptor instead. +func (*WxAppRequest) Descriptor() ([]byte, []int) { + return file_api_account_account_proto_rawDescGZIP(), []int{26} +} + +func (x *WxAppRequest) GetGhId() string { + if x != nil { + return x.GhId + } + return "" +} + +type WxAppResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + AppID string `protobuf:"bytes,1,opt,name=AppID,json=appID,proto3" json:"AppID,omitempty"` + AppSecret string `protobuf:"bytes,2,opt,name=AppSecret,json=appSecret,proto3" json:"AppSecret,omitempty"` +} + +func (x *WxAppResponse) Reset() { + *x = WxAppResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_api_account_account_proto_msgTypes[27] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *WxAppResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*WxAppResponse) ProtoMessage() {} + +func (x *WxAppResponse) ProtoReflect() protoreflect.Message { + mi := &file_api_account_account_proto_msgTypes[27] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use WxAppResponse.ProtoReflect.Descriptor instead. +func (*WxAppResponse) Descriptor() ([]byte, []int) { + return file_api_account_account_proto_rawDescGZIP(), []int{27} +} + +func (x *WxAppResponse) GetAppID() string { + if x != nil { + return x.AppID + } + return "" +} + +func (x *WxAppResponse) GetAppSecret() string { + if x != nil { + return x.AppSecret + } + return "" +} + +type WxUserUpdateRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + WxID uint32 `protobuf:"varint,1,opt,name=wxID,json=wxId,proto3" json:"wxID,omitempty"` + UserID uint32 `protobuf:"varint,2,opt,name=userID,proto3" json:"userID,omitempty"` +} + +func (x *WxUserUpdateRequest) Reset() { + *x = WxUserUpdateRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_api_account_account_proto_msgTypes[28] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *WxUserUpdateRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*WxUserUpdateRequest) ProtoMessage() {} + +func (x *WxUserUpdateRequest) ProtoReflect() protoreflect.Message { + mi := &file_api_account_account_proto_msgTypes[28] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use WxUserUpdateRequest.ProtoReflect.Descriptor instead. +func (*WxUserUpdateRequest) Descriptor() ([]byte, []int) { + return file_api_account_account_proto_rawDescGZIP(), []int{28} +} + +func (x *WxUserUpdateRequest) GetWxID() uint32 { + if x != nil { + return x.WxID + } + return 0 +} + +func (x *WxUserUpdateRequest) GetUserID() uint32 { + if x != nil { + return x.UserID + } + return 0 +} + +type WxUserOrCreateRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + OpenID string `protobuf:"bytes,1,opt,name=OpenID,json=openID,proto3" json:"OpenID,omitempty"` + GhID string `protobuf:"bytes,2,opt,name=GhID,json=ghID,proto3" json:"GhID,omitempty"` +} + +func (x *WxUserOrCreateRequest) Reset() { + *x = WxUserOrCreateRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_api_account_account_proto_msgTypes[29] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *WxUserOrCreateRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*WxUserOrCreateRequest) ProtoMessage() {} + +func (x *WxUserOrCreateRequest) ProtoReflect() protoreflect.Message { + mi := &file_api_account_account_proto_msgTypes[29] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use WxUserOrCreateRequest.ProtoReflect.Descriptor instead. +func (*WxUserOrCreateRequest) Descriptor() ([]byte, []int) { + return file_api_account_account_proto_rawDescGZIP(), []int{29} +} + +func (x *WxUserOrCreateRequest) GetOpenID() string { + if x != nil { + return x.OpenID + } + return "" +} + +func (x *WxUserOrCreateRequest) GetGhID() string { + if x != nil { + return x.GhID + } + return "" +} + +type WxUserResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + OpenID string `protobuf:"bytes,1,opt,name=OpenID,json=openID,proto3" json:"OpenID,omitempty"` + UserID uint32 `protobuf:"varint,2,opt,name=UserID,json=userID,proto3" json:"UserID,omitempty"` + GhID string `protobuf:"bytes,3,opt,name=GhID,json=ghID,proto3" json:"GhID,omitempty"` + RoleAuth string `protobuf:"bytes,4,opt,name=RoleAuth,json=roleAuth,proto3" json:"RoleAuth,omitempty"` + ID uint32 `protobuf:"varint,5,opt,name=ID,proto3" json:"ID,omitempty"` +} + +func (x *WxUserResponse) Reset() { + *x = WxUserResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_api_account_account_proto_msgTypes[30] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *WxUserResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*WxUserResponse) ProtoMessage() {} + +func (x *WxUserResponse) ProtoReflect() protoreflect.Message { + mi := &file_api_account_account_proto_msgTypes[30] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use WxUserResponse.ProtoReflect.Descriptor instead. +func (*WxUserResponse) Descriptor() ([]byte, []int) { + return file_api_account_account_proto_rawDescGZIP(), []int{30} +} + +func (x *WxUserResponse) GetOpenID() string { + if x != nil { + return x.OpenID + } + return "" +} + +func (x *WxUserResponse) GetUserID() uint32 { + if x != nil { + return x.UserID + } + return 0 +} + +func (x *WxUserResponse) GetGhID() string { + if x != nil { + return x.GhID + } + return "" +} + +func (x *WxUserResponse) GetRoleAuth() string { + if x != nil { + return x.RoleAuth + } + return "" +} + +func (x *WxUserResponse) GetID() uint32 { + if x != nil { + return x.ID + } + return 0 +} + +type LoginLogsResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Data []*LoginLog `protobuf:"bytes,1,rep,name=Data,json=data,proto3" json:"Data,omitempty"` +} + +func (x *LoginLogsResponse) Reset() { + *x = LoginLogsResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_api_account_account_proto_msgTypes[31] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *LoginLogsResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*LoginLogsResponse) ProtoMessage() {} + +func (x *LoginLogsResponse) ProtoReflect() protoreflect.Message { + mi := &file_api_account_account_proto_msgTypes[31] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use LoginLogsResponse.ProtoReflect.Descriptor instead. +func (*LoginLogsResponse) Descriptor() ([]byte, []int) { + return file_api_account_account_proto_rawDescGZIP(), []int{31} +} + +func (x *LoginLogsResponse) GetData() []*LoginLog { + if x != nil { + return x.Data + } + return nil +} + +type LoginLog struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Domain string `protobuf:"bytes,1,opt,name=Domain,json=domain,proto3" json:"Domain,omitempty"` + ID uint64 `protobuf:"varint,2,opt,name=ID,proto3" json:"ID,omitempty"` + UserId uint64 `protobuf:"varint,3,opt,name=UserId,json=userId,proto3" json:"UserId,omitempty"` + Ip string `protobuf:"bytes,4,opt,name=Ip,json=ip,proto3" json:"Ip,omitempty"` + Token string `protobuf:"bytes,5,opt,name=Token,json=token,proto3" json:"Token,omitempty"` + Status uint64 `protobuf:"varint,6,opt,name=Status,json=status,proto3" json:"Status,omitempty"` + ExpireDate string `protobuf:"bytes,7,opt,name=ExpireDate,json=expireDate,proto3" json:"ExpireDate,omitempty"` + LastDate string `protobuf:"bytes,8,opt,name=LastDate,json=lastDate,proto3" json:"LastDate,omitempty"` + LogoutDate string `protobuf:"bytes,9,opt,name=LogoutDate,json=logoutDate,proto3" json:"LogoutDate,omitempty"` + CreatedAt string `protobuf:"bytes,10,opt,name=CreatedAt,json=createdAt,proto3" json:"CreatedAt,omitempty"` + Address string `protobuf:"bytes,11,opt,name=Address,json=address,proto3" json:"Address,omitempty"` +} + +func (x *LoginLog) Reset() { + *x = LoginLog{} + if protoimpl.UnsafeEnabled { + mi := &file_api_account_account_proto_msgTypes[32] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *LoginLog) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*LoginLog) ProtoMessage() {} + +func (x *LoginLog) ProtoReflect() protoreflect.Message { + mi := &file_api_account_account_proto_msgTypes[32] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use LoginLog.ProtoReflect.Descriptor instead. +func (*LoginLog) Descriptor() ([]byte, []int) { + return file_api_account_account_proto_rawDescGZIP(), []int{32} +} + +func (x *LoginLog) GetDomain() string { + if x != nil { + return x.Domain + } + return "" +} + +func (x *LoginLog) GetID() uint64 { + if x != nil { + return x.ID + } + return 0 +} + +func (x *LoginLog) GetUserId() uint64 { + if x != nil { + return x.UserId + } + return 0 +} + +func (x *LoginLog) GetIp() string { + if x != nil { + return x.Ip + } + return "" +} + +func (x *LoginLog) GetToken() string { + if x != nil { + return x.Token + } + return "" +} + +func (x *LoginLog) GetStatus() uint64 { + if x != nil { + return x.Status + } + return 0 +} + +func (x *LoginLog) GetExpireDate() string { + if x != nil { + return x.ExpireDate + } + return "" +} + +func (x *LoginLog) GetLastDate() string { + if x != nil { + return x.LastDate + } + return "" +} + +func (x *LoginLog) GetLogoutDate() string { + if x != nil { + return x.LogoutDate + } + return "" +} + +func (x *LoginLog) GetCreatedAt() string { + if x != nil { + return x.CreatedAt + } + return "" +} + +func (x *LoginLog) GetAddress() string { + if x != nil { + return x.Address + } + return "" +} + +type OnlineLogByIdRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Domain string `protobuf:"bytes,1,opt,name=Domain,json=domain,proto3" json:"Domain,omitempty"` + ID uint64 `protobuf:"varint,2,opt,name=ID,proto3" json:"ID,omitempty"` +} + +func (x *OnlineLogByIdRequest) Reset() { + *x = OnlineLogByIdRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_api_account_account_proto_msgTypes[33] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *OnlineLogByIdRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*OnlineLogByIdRequest) ProtoMessage() {} + +func (x *OnlineLogByIdRequest) ProtoReflect() protoreflect.Message { + mi := &file_api_account_account_proto_msgTypes[33] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use OnlineLogByIdRequest.ProtoReflect.Descriptor instead. +func (*OnlineLogByIdRequest) Descriptor() ([]byte, []int) { + return file_api_account_account_proto_rawDescGZIP(), []int{33} +} + +func (x *OnlineLogByIdRequest) GetDomain() string { + if x != nil { + return x.Domain + } + return "" +} + +func (x *OnlineLogByIdRequest) GetID() uint64 { + if x != nil { + return x.ID + } + return 0 +} + +type LoginInfosByUserIdRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Domain string `protobuf:"bytes,1,opt,name=Domain,json=domain,proto3" json:"Domain,omitempty"` + UserId uint64 `protobuf:"varint,2,opt,name=UserId,json=userId,proto3" json:"UserId,omitempty"` +} + +func (x *LoginInfosByUserIdRequest) Reset() { + *x = LoginInfosByUserIdRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_api_account_account_proto_msgTypes[34] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *LoginInfosByUserIdRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*LoginInfosByUserIdRequest) ProtoMessage() {} + +func (x *LoginInfosByUserIdRequest) ProtoReflect() protoreflect.Message { + mi := &file_api_account_account_proto_msgTypes[34] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use LoginInfosByUserIdRequest.ProtoReflect.Descriptor instead. +func (*LoginInfosByUserIdRequest) Descriptor() ([]byte, []int) { + return file_api_account_account_proto_rawDescGZIP(), []int{34} +} + +func (x *LoginInfosByUserIdRequest) GetDomain() string { + if x != nil { + return x.Domain + } + return "" +} + +func (x *LoginInfosByUserIdRequest) GetUserId() uint64 { + if x != nil { + return x.UserId + } + return 0 +} + +type SendNewTelNumMsgRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Domain string `protobuf:"bytes,1,opt,name=Domain,json=domain,proto3" json:"Domain,omitempty"` + ID uint64 `protobuf:"varint,2,opt,name=ID,proto3" json:"ID,omitempty"` + NewTelNum string `protobuf:"bytes,3,opt,name=NewTelNum,json=newTelNum,proto3" json:"NewTelNum,omitempty"` + Code string `protobuf:"bytes,4,opt,name=Code,json=code,proto3" json:"Code,omitempty"` + Project string `protobuf:"bytes,5,opt,name=Project,json=project,proto3" json:"Project,omitempty"` + SignNo uint32 `protobuf:"varint,6,opt,name=signNo,proto3" json:"signNo,omitempty"` +} + +func (x *SendNewTelNumMsgRequest) Reset() { + *x = SendNewTelNumMsgRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_api_account_account_proto_msgTypes[35] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SendNewTelNumMsgRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SendNewTelNumMsgRequest) ProtoMessage() {} + +func (x *SendNewTelNumMsgRequest) ProtoReflect() protoreflect.Message { + mi := &file_api_account_account_proto_msgTypes[35] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SendNewTelNumMsgRequest.ProtoReflect.Descriptor instead. +func (*SendNewTelNumMsgRequest) Descriptor() ([]byte, []int) { + return file_api_account_account_proto_rawDescGZIP(), []int{35} +} + +func (x *SendNewTelNumMsgRequest) GetDomain() string { + if x != nil { + return x.Domain + } + return "" +} + +func (x *SendNewTelNumMsgRequest) GetID() uint64 { + if x != nil { + return x.ID + } + return 0 +} + +func (x *SendNewTelNumMsgRequest) GetNewTelNum() string { + if x != nil { + return x.NewTelNum + } + return "" +} + +func (x *SendNewTelNumMsgRequest) GetCode() string { + if x != nil { + return x.Code + } + return "" +} + +func (x *SendNewTelNumMsgRequest) GetProject() string { + if x != nil { + return x.Project + } + return "" +} + +func (x *SendNewTelNumMsgRequest) GetSignNo() uint32 { + if x != nil { + return x.SignNo + } + return 0 +} + +type UserByTelRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Domain string `protobuf:"bytes,1,opt,name=Domain,json=domain,proto3" json:"Domain,omitempty"` + Tel string `protobuf:"bytes,2,opt,name=Tel,json=tel,proto3" json:"Tel,omitempty"` +} + +func (x *UserByTelRequest) Reset() { + *x = UserByTelRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_api_account_account_proto_msgTypes[36] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UserByTelRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UserByTelRequest) ProtoMessage() {} + +func (x *UserByTelRequest) ProtoReflect() protoreflect.Message { + mi := &file_api_account_account_proto_msgTypes[36] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use UserByTelRequest.ProtoReflect.Descriptor instead. +func (*UserByTelRequest) Descriptor() ([]byte, []int) { + return file_api_account_account_proto_rawDescGZIP(), []int{36} +} + +func (x *UserByTelRequest) GetDomain() string { + if x != nil { + return x.Domain + } + return "" +} + +func (x *UserByTelRequest) GetTel() string { + if x != nil { + return x.Tel + } + return "" +} + +type CommonResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *CommonResponse) Reset() { + *x = CommonResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_api_account_account_proto_msgTypes[37] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CommonResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CommonResponse) ProtoMessage() {} + +func (x *CommonResponse) ProtoReflect() protoreflect.Message { + mi := &file_api_account_account_proto_msgTypes[37] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CommonResponse.ProtoReflect.Descriptor instead. +func (*CommonResponse) Descriptor() ([]byte, []int) { + return file_api_account_account_proto_rawDescGZIP(), []int{37} +} + +type UsersByTelRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Domain string `protobuf:"bytes,1,opt,name=Domain,json=domain,proto3" json:"Domain,omitempty"` + Tels []string `protobuf:"bytes,2,rep,name=Tels,json=tels,proto3" json:"Tels,omitempty"` +} + +func (x *UsersByTelRequest) Reset() { + *x = UsersByTelRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_api_account_account_proto_msgTypes[38] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UsersByTelRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UsersByTelRequest) ProtoMessage() {} + +func (x *UsersByTelRequest) ProtoReflect() protoreflect.Message { + mi := &file_api_account_account_proto_msgTypes[38] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use UsersByTelRequest.ProtoReflect.Descriptor instead. +func (*UsersByTelRequest) Descriptor() ([]byte, []int) { + return file_api_account_account_proto_rawDescGZIP(), []int{38} +} + +func (x *UsersByTelRequest) GetDomain() string { + if x != nil { + return x.Domain + } + return "" +} + +func (x *UsersByTelRequest) GetTels() []string { + if x != nil { + return x.Tels + } + return nil +} + +type ListByIDsRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Domain string `protobuf:"bytes,1,opt,name=Domain,json=domain,proto3" json:"Domain,omitempty"` + IDs []uint64 `protobuf:"varint,2,rep,packed,name=IDs,proto3" json:"IDs,omitempty"` + OrderType uint64 `protobuf:"varint,3,opt,name=OrderType,proto3" json:"OrderType,omitempty"` + Page uint64 `protobuf:"varint,4,opt,name=Page,json=page,proto3" json:"Page,omitempty"` + PageSize uint64 `protobuf:"varint,5,opt,name=PageSize,json=pageSize,proto3" json:"PageSize,omitempty"` + NickName string `protobuf:"bytes,6,opt,name=NickName,json=nickName,proto3" json:"NickName,omitempty"` + InvitationCode []string `protobuf:"bytes,7,rep,name=InvitationCode,json=invitationCode,proto3" json:"InvitationCode,omitempty"` +} + +func (x *ListByIDsRequest) Reset() { + *x = ListByIDsRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_api_account_account_proto_msgTypes[39] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListByIDsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListByIDsRequest) ProtoMessage() {} + +func (x *ListByIDsRequest) ProtoReflect() protoreflect.Message { + mi := &file_api_account_account_proto_msgTypes[39] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListByIDsRequest.ProtoReflect.Descriptor instead. +func (*ListByIDsRequest) Descriptor() ([]byte, []int) { + return file_api_account_account_proto_rawDescGZIP(), []int{39} +} + +func (x *ListByIDsRequest) GetDomain() string { + if x != nil { + return x.Domain + } + return "" +} + +func (x *ListByIDsRequest) GetIDs() []uint64 { + if x != nil { + return x.IDs + } + return nil +} + +func (x *ListByIDsRequest) GetOrderType() uint64 { + if x != nil { + return x.OrderType + } + return 0 +} + +func (x *ListByIDsRequest) GetPage() uint64 { + if x != nil { + return x.Page + } + return 0 +} + +func (x *ListByIDsRequest) GetPageSize() uint64 { + if x != nil { + return x.PageSize + } + return 0 +} + +func (x *ListByIDsRequest) GetNickName() string { + if x != nil { + return x.NickName + } + return "" +} + +func (x *ListByIDsRequest) GetInvitationCode() []string { + if x != nil { + return x.InvitationCode + } + return nil +} + +type SendMsgRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Domain string `protobuf:"bytes,1,opt,name=Domain,json=domain,proto3" json:"Domain,omitempty"` + TelNum string `protobuf:"bytes,2,opt,name=TelNum,json=telNum,proto3" json:"TelNum,omitempty"` + Project string `protobuf:"bytes,3,opt,name=Project,json=project,proto3" json:"Project,omitempty"` + SignNo uint32 `protobuf:"varint,4,opt,name=signNo,proto3" json:"signNo,omitempty"` + MId uint32 `protobuf:"varint,5,opt,name=mId,proto3" json:"mId,omitempty"` + Scope string `protobuf:"bytes,6,opt,name=scope,proto3" json:"scope,omitempty"` //标记模块 +} + +func (x *SendMsgRequest) Reset() { + *x = SendMsgRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_api_account_account_proto_msgTypes[40] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SendMsgRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SendMsgRequest) ProtoMessage() {} + +func (x *SendMsgRequest) ProtoReflect() protoreflect.Message { + mi := &file_api_account_account_proto_msgTypes[40] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SendMsgRequest.ProtoReflect.Descriptor instead. +func (*SendMsgRequest) Descriptor() ([]byte, []int) { + return file_api_account_account_proto_rawDescGZIP(), []int{40} +} + +func (x *SendMsgRequest) GetDomain() string { + if x != nil { + return x.Domain + } + return "" +} + +func (x *SendMsgRequest) GetTelNum() string { + if x != nil { + return x.TelNum + } + return "" +} + +func (x *SendMsgRequest) GetProject() string { + if x != nil { + return x.Project + } + return "" +} + +func (x *SendMsgRequest) GetSignNo() uint32 { + if x != nil { + return x.SignNo + } + return 0 +} + +func (x *SendMsgRequest) GetMId() uint32 { + if x != nil { + return x.MId + } + return 0 +} + +func (x *SendMsgRequest) GetScope() string { + if x != nil { + return x.Scope + } + return "" +} + +type SendCustomMsgRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Domain string `protobuf:"bytes,1,opt,name=Domain,json=domain,proto3" json:"Domain,omitempty"` + TelNum string `protobuf:"bytes,2,opt,name=TelNum,json=telNum,proto3" json:"TelNum,omitempty"` + Project string `protobuf:"bytes,3,opt,name=Project,json=project,proto3" json:"Project,omitempty"` + Url string `protobuf:"bytes,4,opt,name=Url,proto3" json:"Url,omitempty"` + ID uint64 `protobuf:"varint,5,opt,name=ID,proto3" json:"ID,omitempty"` + MId uint64 `protobuf:"varint,6,opt,name=MId,json=mId,proto3" json:"MId,omitempty"` + Location uint64 `protobuf:"varint,7,opt,name=Location,json=location,proto3" json:"Location,omitempty"` + SigNo uint32 `protobuf:"varint,8,opt,name=SigNo,json=sigNo,proto3" json:"SigNo,omitempty"` +} + +func (x *SendCustomMsgRequest) Reset() { + *x = SendCustomMsgRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_api_account_account_proto_msgTypes[41] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SendCustomMsgRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SendCustomMsgRequest) ProtoMessage() {} + +func (x *SendCustomMsgRequest) ProtoReflect() protoreflect.Message { + mi := &file_api_account_account_proto_msgTypes[41] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SendCustomMsgRequest.ProtoReflect.Descriptor instead. +func (*SendCustomMsgRequest) Descriptor() ([]byte, []int) { + return file_api_account_account_proto_rawDescGZIP(), []int{41} +} + +func (x *SendCustomMsgRequest) GetDomain() string { + if x != nil { + return x.Domain + } + return "" +} + +func (x *SendCustomMsgRequest) GetTelNum() string { + if x != nil { + return x.TelNum + } + return "" +} + +func (x *SendCustomMsgRequest) GetProject() string { + if x != nil { + return x.Project + } + return "" +} + +func (x *SendCustomMsgRequest) GetUrl() string { + if x != nil { + return x.Url + } + return "" +} + +func (x *SendCustomMsgRequest) GetID() uint64 { + if x != nil { + return x.ID + } + return 0 +} + +func (x *SendCustomMsgRequest) GetMId() uint64 { + if x != nil { + return x.MId + } + return 0 +} + +func (x *SendCustomMsgRequest) GetLocation() uint64 { + if x != nil { + return x.Location + } + return 0 +} + +func (x *SendCustomMsgRequest) GetSigNo() uint32 { + if x != nil { + return x.SigNo + } + return 0 +} + +type CheckMsgRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Domain string `protobuf:"bytes,1,opt,name=Domain,json=domain,proto3" json:"Domain,omitempty"` + TelNum string `protobuf:"bytes,2,opt,name=TelNum,json=telNum,proto3" json:"TelNum,omitempty"` + Code string `protobuf:"bytes,3,opt,name=Code,json=code,proto3" json:"Code,omitempty"` + Scope string `protobuf:"bytes,4,opt,name=scope,proto3" json:"scope,omitempty"` //标记模块 +} + +func (x *CheckMsgRequest) Reset() { + *x = CheckMsgRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_api_account_account_proto_msgTypes[42] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CheckMsgRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CheckMsgRequest) ProtoMessage() {} + +func (x *CheckMsgRequest) ProtoReflect() protoreflect.Message { + mi := &file_api_account_account_proto_msgTypes[42] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CheckMsgRequest.ProtoReflect.Descriptor instead. +func (*CheckMsgRequest) Descriptor() ([]byte, []int) { + return file_api_account_account_proto_rawDescGZIP(), []int{42} +} + +func (x *CheckMsgRequest) GetDomain() string { + if x != nil { + return x.Domain + } + return "" +} + +func (x *CheckMsgRequest) GetTelNum() string { + if x != nil { + return x.TelNum + } + return "" +} + +func (x *CheckMsgRequest) GetCode() string { + if x != nil { + return x.Code + } + return "" +} + +func (x *CheckMsgRequest) GetScope() string { + if x != nil { + return x.Scope + } + return "" +} + +type SendMsgStatusResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *SendMsgStatusResponse) Reset() { + *x = SendMsgStatusResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_api_account_account_proto_msgTypes[43] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SendMsgStatusResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SendMsgStatusResponse) ProtoMessage() {} + +func (x *SendMsgStatusResponse) ProtoReflect() protoreflect.Message { + mi := &file_api_account_account_proto_msgTypes[43] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SendMsgStatusResponse.ProtoReflect.Descriptor instead. +func (*SendMsgStatusResponse) Descriptor() ([]byte, []int) { + return file_api_account_account_proto_rawDescGZIP(), []int{43} +} + +type RemoveRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Domain string `protobuf:"bytes,1,opt,name=Domain,json=domain,proto3" json:"Domain,omitempty"` + ID uint64 `protobuf:"varint,2,opt,name=ID,proto3" json:"ID,omitempty"` + Code string `protobuf:"bytes,3,opt,name=code,proto3" json:"code,omitempty"` +} + +func (x *RemoveRequest) Reset() { + *x = RemoveRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_api_account_account_proto_msgTypes[44] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *RemoveRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RemoveRequest) ProtoMessage() {} + +func (x *RemoveRequest) ProtoReflect() protoreflect.Message { + mi := &file_api_account_account_proto_msgTypes[44] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RemoveRequest.ProtoReflect.Descriptor instead. +func (*RemoveRequest) Descriptor() ([]byte, []int) { + return file_api_account_account_proto_rawDescGZIP(), []int{44} +} + +func (x *RemoveRequest) GetDomain() string { + if x != nil { + return x.Domain + } + return "" +} + +func (x *RemoveRequest) GetID() uint64 { + if x != nil { + return x.ID + } + return 0 +} + +func (x *RemoveRequest) GetCode() string { + if x != nil { + return x.Code + } + return "" +} + +type WriteOffRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Id uint64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` + Domain string `protobuf:"bytes,2,opt,name=domain,proto3" json:"domain,omitempty"` + UserId uint64 `protobuf:"varint,3,opt,name=userId,proto3" json:"userId,omitempty"` + Tel string `protobuf:"bytes,4,opt,name=tel,proto3" json:"tel,omitempty"` + JonNum string `protobuf:"bytes,5,opt,name=jonNum,proto3" json:"jonNum,omitempty"` + UserName string `protobuf:"bytes,6,opt,name=userName,proto3" json:"userName,omitempty"` + EnterDate string `protobuf:"bytes,7,opt,name=enterDate,proto3" json:"enterDate,omitempty"` + PositionName string `protobuf:"bytes,8,opt,name=positionName,proto3" json:"positionName,omitempty"` + PositionId uint64 `protobuf:"varint,9,opt,name=positionId,proto3" json:"positionId,omitempty"` + SiteName string `protobuf:"bytes,10,opt,name=siteName,proto3" json:"siteName,omitempty"` + SiteId uint64 `protobuf:"varint,11,opt,name=siteId,proto3" json:"siteId,omitempty"` + AuthUrl string `protobuf:"bytes,12,opt,name=authUrl,proto3" json:"authUrl,omitempty"` + Type string `protobuf:"bytes,13,opt,name=type,proto3" json:"type,omitempty"` + Status uint32 `protobuf:"varint,14,opt,name=status,proto3" json:"status,omitempty"` + SubmitDate string `protobuf:"bytes,15,opt,name=submitDate,proto3" json:"submitDate,omitempty"` +} + +func (x *WriteOffRequest) Reset() { + *x = WriteOffRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_api_account_account_proto_msgTypes[45] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *WriteOffRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*WriteOffRequest) ProtoMessage() {} + +func (x *WriteOffRequest) ProtoReflect() protoreflect.Message { + mi := &file_api_account_account_proto_msgTypes[45] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use WriteOffRequest.ProtoReflect.Descriptor instead. +func (*WriteOffRequest) Descriptor() ([]byte, []int) { + return file_api_account_account_proto_rawDescGZIP(), []int{45} +} + +func (x *WriteOffRequest) GetId() uint64 { + if x != nil { + return x.Id + } + return 0 +} + +func (x *WriteOffRequest) GetDomain() string { + if x != nil { + return x.Domain + } + return "" +} + +func (x *WriteOffRequest) GetUserId() uint64 { + if x != nil { + return x.UserId + } + return 0 +} + +func (x *WriteOffRequest) GetTel() string { + if x != nil { + return x.Tel + } + return "" +} + +func (x *WriteOffRequest) GetJonNum() string { + if x != nil { + return x.JonNum + } + return "" +} + +func (x *WriteOffRequest) GetUserName() string { + if x != nil { + return x.UserName + } + return "" +} + +func (x *WriteOffRequest) GetEnterDate() string { + if x != nil { + return x.EnterDate + } + return "" +} + +func (x *WriteOffRequest) GetPositionName() string { + if x != nil { + return x.PositionName + } + return "" +} + +func (x *WriteOffRequest) GetPositionId() uint64 { + if x != nil { + return x.PositionId + } + return 0 +} + +func (x *WriteOffRequest) GetSiteName() string { + if x != nil { + return x.SiteName + } + return "" +} + +func (x *WriteOffRequest) GetSiteId() uint64 { + if x != nil { + return x.SiteId + } + return 0 +} + +func (x *WriteOffRequest) GetAuthUrl() string { + if x != nil { + return x.AuthUrl + } + return "" +} + +func (x *WriteOffRequest) GetType() string { + if x != nil { + return x.Type + } + return "" +} + +func (x *WriteOffRequest) GetStatus() uint32 { + if x != nil { + return x.Status + } + return 0 +} + +func (x *WriteOffRequest) GetSubmitDate() string { + if x != nil { + return x.SubmitDate + } + return "" +} + +type WriteOffListRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Page uint64 `protobuf:"varint,1,opt,name=page,proto3" json:"page,omitempty"` + PageSize uint64 `protobuf:"varint,2,opt,name=pageSize,proto3" json:"pageSize,omitempty"` + Domain string `protobuf:"bytes,3,opt,name=domain,proto3" json:"domain,omitempty"` + UserName string `protobuf:"bytes,4,opt,name=userName,proto3" json:"userName,omitempty"` + UserId uint64 `protobuf:"varint,5,opt,name=userId,proto3" json:"userId,omitempty"` + SiteId uint64 `protobuf:"varint,6,opt,name=siteId,proto3" json:"siteId,omitempty"` + Type string `protobuf:"bytes,7,opt,name=type,proto3" json:"type,omitempty"` + Status uint32 `protobuf:"varint,8,opt,name=status,proto3" json:"status,omitempty"` +} + +func (x *WriteOffListRequest) Reset() { + *x = WriteOffListRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_api_account_account_proto_msgTypes[46] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *WriteOffListRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*WriteOffListRequest) ProtoMessage() {} + +func (x *WriteOffListRequest) ProtoReflect() protoreflect.Message { + mi := &file_api_account_account_proto_msgTypes[46] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use WriteOffListRequest.ProtoReflect.Descriptor instead. +func (*WriteOffListRequest) Descriptor() ([]byte, []int) { + return file_api_account_account_proto_rawDescGZIP(), []int{46} +} + +func (x *WriteOffListRequest) GetPage() uint64 { + if x != nil { + return x.Page + } + return 0 +} + +func (x *WriteOffListRequest) GetPageSize() uint64 { + if x != nil { + return x.PageSize + } + return 0 +} + +func (x *WriteOffListRequest) GetDomain() string { + if x != nil { + return x.Domain + } + return "" +} + +func (x *WriteOffListRequest) GetUserName() string { + if x != nil { + return x.UserName + } + return "" +} + +func (x *WriteOffListRequest) GetUserId() uint64 { + if x != nil { + return x.UserId + } + return 0 +} + +func (x *WriteOffListRequest) GetSiteId() uint64 { + if x != nil { + return x.SiteId + } + return 0 +} + +func (x *WriteOffListRequest) GetType() string { + if x != nil { + return x.Type + } + return "" +} + +func (x *WriteOffListRequest) GetStatus() uint32 { + if x != nil { + return x.Status + } + return 0 +} + +type WriteOffApproveRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Id uint64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` + Status uint32 `protobuf:"varint,2,opt,name=status,proto3" json:"status,omitempty"` +} + +func (x *WriteOffApproveRequest) Reset() { + *x = WriteOffApproveRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_api_account_account_proto_msgTypes[47] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *WriteOffApproveRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*WriteOffApproveRequest) ProtoMessage() {} + +func (x *WriteOffApproveRequest) ProtoReflect() protoreflect.Message { + mi := &file_api_account_account_proto_msgTypes[47] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use WriteOffApproveRequest.ProtoReflect.Descriptor instead. +func (*WriteOffApproveRequest) Descriptor() ([]byte, []int) { + return file_api_account_account_proto_rawDescGZIP(), []int{47} +} + +func (x *WriteOffApproveRequest) GetId() uint64 { + if x != nil { + return x.Id + } + return 0 +} + +func (x *WriteOffApproveRequest) GetStatus() uint32 { + if x != nil { + return x.Status + } + return 0 +} + +type WriteOffListResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Total int64 `protobuf:"varint,1,opt,name=total,proto3" json:"total,omitempty"` + WriteOffList []*WriteOffRequest `protobuf:"bytes,2,rep,name=writeOffList,proto3" json:"writeOffList,omitempty"` +} + +func (x *WriteOffListResponse) Reset() { + *x = WriteOffListResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_api_account_account_proto_msgTypes[48] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *WriteOffListResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*WriteOffListResponse) ProtoMessage() {} + +func (x *WriteOffListResponse) ProtoReflect() protoreflect.Message { + mi := &file_api_account_account_proto_msgTypes[48] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use WriteOffListResponse.ProtoReflect.Descriptor instead. +func (*WriteOffListResponse) Descriptor() ([]byte, []int) { + return file_api_account_account_proto_rawDescGZIP(), []int{48} +} + +func (x *WriteOffListResponse) GetTotal() int64 { + if x != nil { + return x.Total + } + return 0 +} + +func (x *WriteOffListResponse) GetWriteOffList() []*WriteOffRequest { + if x != nil { + return x.WriteOffList + } + return nil +} + +type RemoveResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *RemoveResponse) Reset() { + *x = RemoveResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_api_account_account_proto_msgTypes[49] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *RemoveResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RemoveResponse) ProtoMessage() {} + +func (x *RemoveResponse) ProtoReflect() protoreflect.Message { + mi := &file_api_account_account_proto_msgTypes[49] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RemoveResponse.ProtoReflect.Descriptor instead. +func (*RemoveResponse) Descriptor() ([]byte, []int) { + return file_api_account_account_proto_rawDescGZIP(), []int{49} +} + +type UpdateRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ID uint64 `protobuf:"varint,1,opt,name=ID,proto3" json:"ID,omitempty"` //ID + Domain string `protobuf:"bytes,2,opt,name=Domain,json=domain,proto3" json:"Domain,omitempty"` + NickName string `protobuf:"bytes,3,opt,name=NickName,json=nickName,proto3" json:"NickName,omitempty"` + Password string `protobuf:"bytes,4,opt,name=Password,json=password,proto3" json:"Password,omitempty"` //密码 + Avatar string `protobuf:"bytes,5,opt,name=Avatar,json=avatar,proto3" json:"Avatar,omitempty"` //头像 + Status string `protobuf:"bytes,7,opt,name=Status,json=status,proto3" json:"Status,omitempty"` + TelNum string `protobuf:"bytes,8,opt,name=TelNum,json=telNum,proto3" json:"TelNum,omitempty"` + EnterDate string `protobuf:"bytes,14,opt,name=EnterDate,json=enterDate,proto3" json:"EnterDate,omitempty"` + Extend *Extend `protobuf:"bytes,17,opt,name=Extend,json=extend,proto3" json:"Extend,omitempty"` + Title string `protobuf:"bytes,18,opt,name=Title,json=title,proto3" json:"Title,omitempty"` + JobNum string `protobuf:"bytes,19,opt,name=JobNum,json=jobNum,proto3" json:"JobNum,omitempty"` + BirthDate string `protobuf:"bytes,20,opt,name=BirthDate,json=birthDate,proto3" json:"BirthDate,omitempty"` + Sex uint64 `protobuf:"varint,21,opt,name=Sex,json=sex,proto3" json:"Sex,omitempty"` + IdNum string `protobuf:"bytes,22,opt,name=IdNum,json=idNum,proto3" json:"IdNum,omitempty"` + RealName string `protobuf:"bytes,23,opt,name=RealName,json=realName,proto3" json:"RealName,omitempty"` + InvitationCode string `protobuf:"bytes,24,opt,name=InvitationCode,json=invitationCode,proto3" json:"InvitationCode,omitempty"` + LeftDate string `protobuf:"bytes,25,opt,name=LeftDate,json=leftDate,proto3" json:"LeftDate,omitempty"` + Remark string `protobuf:"bytes,26,opt,name=Remark,json=remark,proto3" json:"Remark,omitempty"` + RecentImg string `protobuf:"bytes,27,opt,name=RecentImg,json=recentImg,proto3" json:"RecentImg,omitempty"` + ICNum string `protobuf:"bytes,28,opt,name=ICNum,json=icNum,proto3" json:"ICNum,omitempty"` + Train string `protobuf:"bytes,29,opt,name=Train,json=train,proto3" json:"Train,omitempty"` + Certificate string `protobuf:"bytes,30,opt,name=Certificate,json=certificate,proto3" json:"Certificate,omitempty"` + TrainVideos []*TrainVideo `protobuf:"bytes,31,rep,name=TrainVideos,json=trainVideos,proto3" json:"TrainVideos,omitempty"` + Operator *Operator `protobuf:"bytes,32,opt,name=operator,proto3" json:"operator,omitempty"` + SecurityCode string `protobuf:"bytes,33,opt,name=SecurityCode,json=securityCode,proto3" json:"SecurityCode,omitempty"` +} + +func (x *UpdateRequest) Reset() { + *x = UpdateRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_api_account_account_proto_msgTypes[50] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UpdateRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpdateRequest) ProtoMessage() {} + +func (x *UpdateRequest) ProtoReflect() protoreflect.Message { + mi := &file_api_account_account_proto_msgTypes[50] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use UpdateRequest.ProtoReflect.Descriptor instead. +func (*UpdateRequest) Descriptor() ([]byte, []int) { + return file_api_account_account_proto_rawDescGZIP(), []int{50} +} + +func (x *UpdateRequest) GetID() uint64 { + if x != nil { + return x.ID + } + return 0 +} + +func (x *UpdateRequest) GetDomain() string { + if x != nil { + return x.Domain + } + return "" +} + +func (x *UpdateRequest) GetNickName() string { + if x != nil { + return x.NickName + } + return "" +} + +func (x *UpdateRequest) GetPassword() string { + if x != nil { + return x.Password + } + return "" +} + +func (x *UpdateRequest) GetAvatar() string { + if x != nil { + return x.Avatar + } + return "" +} + +func (x *UpdateRequest) GetStatus() string { + if x != nil { + return x.Status + } + return "" +} + +func (x *UpdateRequest) GetTelNum() string { + if x != nil { + return x.TelNum + } + return "" +} + +func (x *UpdateRequest) GetEnterDate() string { + if x != nil { + return x.EnterDate + } + return "" +} + +func (x *UpdateRequest) GetExtend() *Extend { + if x != nil { + return x.Extend + } + return nil +} + +func (x *UpdateRequest) GetTitle() string { + if x != nil { + return x.Title + } + return "" +} + +func (x *UpdateRequest) GetJobNum() string { + if x != nil { + return x.JobNum + } + return "" +} + +func (x *UpdateRequest) GetBirthDate() string { + if x != nil { + return x.BirthDate + } + return "" +} + +func (x *UpdateRequest) GetSex() uint64 { + if x != nil { + return x.Sex + } + return 0 +} + +func (x *UpdateRequest) GetIdNum() string { + if x != nil { + return x.IdNum + } + return "" +} + +func (x *UpdateRequest) GetRealName() string { + if x != nil { + return x.RealName + } + return "" +} + +func (x *UpdateRequest) GetInvitationCode() string { + if x != nil { + return x.InvitationCode + } + return "" +} + +func (x *UpdateRequest) GetLeftDate() string { + if x != nil { + return x.LeftDate + } + return "" +} + +func (x *UpdateRequest) GetRemark() string { + if x != nil { + return x.Remark + } + return "" +} + +func (x *UpdateRequest) GetRecentImg() string { + if x != nil { + return x.RecentImg + } + return "" +} + +func (x *UpdateRequest) GetICNum() string { + if x != nil { + return x.ICNum + } + return "" +} + +func (x *UpdateRequest) GetTrain() string { + if x != nil { + return x.Train + } + return "" +} + +func (x *UpdateRequest) GetCertificate() string { + if x != nil { + return x.Certificate + } + return "" +} + +func (x *UpdateRequest) GetTrainVideos() []*TrainVideo { + if x != nil { + return x.TrainVideos + } + return nil +} + +func (x *UpdateRequest) GetOperator() *Operator { + if x != nil { + return x.Operator + } + return nil +} + +func (x *UpdateRequest) GetSecurityCode() string { + if x != nil { + return x.SecurityCode + } + return "" +} + +type Operator struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ID uint32 `protobuf:"varint,1,opt,name=ID,proto3" json:"ID,omitempty"` + Name string `protobuf:"bytes,2,opt,name=Name,proto3" json:"Name,omitempty"` +} + +func (x *Operator) Reset() { + *x = Operator{} + if protoimpl.UnsafeEnabled { + mi := &file_api_account_account_proto_msgTypes[51] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Operator) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Operator) ProtoMessage() {} + +func (x *Operator) ProtoReflect() protoreflect.Message { + mi := &file_api_account_account_proto_msgTypes[51] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Operator.ProtoReflect.Descriptor instead. +func (*Operator) Descriptor() ([]byte, []int) { + return file_api_account_account_proto_rawDescGZIP(), []int{51} +} + +func (x *Operator) GetID() uint32 { + if x != nil { + return x.ID + } + return 0 +} + +func (x *Operator) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +type TrainVideo struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + TrainUUID string `protobuf:"bytes,1,opt,name=trainUUID,proto3" json:"trainUUID,omitempty"` + TrainDesc string `protobuf:"bytes,2,opt,name=trainDesc,proto3" json:"trainDesc,omitempty"` + Video string `protobuf:"bytes,3,opt,name=video,proto3" json:"video,omitempty"` + SecurityCode string `protobuf:"bytes,31,opt,name=SecurityCode,json=securityCode,proto3" json:"SecurityCode,omitempty"` +} + +func (x *TrainVideo) Reset() { + *x = TrainVideo{} + if protoimpl.UnsafeEnabled { + mi := &file_api_account_account_proto_msgTypes[52] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *TrainVideo) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*TrainVideo) ProtoMessage() {} + +func (x *TrainVideo) ProtoReflect() protoreflect.Message { + mi := &file_api_account_account_proto_msgTypes[52] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use TrainVideo.ProtoReflect.Descriptor instead. +func (*TrainVideo) Descriptor() ([]byte, []int) { + return file_api_account_account_proto_rawDescGZIP(), []int{52} +} + +func (x *TrainVideo) GetTrainUUID() string { + if x != nil { + return x.TrainUUID + } + return "" +} + +func (x *TrainVideo) GetTrainDesc() string { + if x != nil { + return x.TrainDesc + } + return "" +} + +func (x *TrainVideo) GetVideo() string { + if x != nil { + return x.Video + } + return "" +} + +func (x *TrainVideo) GetSecurityCode() string { + if x != nil { + return x.SecurityCode + } + return "" +} + +type UpdateResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *UpdateResponse) Reset() { + *x = UpdateResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_api_account_account_proto_msgTypes[53] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UpdateResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpdateResponse) ProtoMessage() {} + +func (x *UpdateResponse) ProtoReflect() protoreflect.Message { + mi := &file_api_account_account_proto_msgTypes[53] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use UpdateResponse.ProtoReflect.Descriptor instead. +func (*UpdateResponse) Descriptor() ([]byte, []int) { + return file_api_account_account_proto_rawDescGZIP(), []int{53} +} + +type PrivacyInfoRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ID uint64 `protobuf:"varint,1,opt,name=ID,proto3" json:"ID,omitempty"` //ID + Domain string `protobuf:"bytes,2,opt,name=Domain,json=domain,proto3" json:"Domain,omitempty"` + SecurityCode string `protobuf:"bytes,3,opt,name=SecurityCode,json=securityCode,proto3" json:"SecurityCode,omitempty"` +} + +func (x *PrivacyInfoRequest) Reset() { + *x = PrivacyInfoRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_api_account_account_proto_msgTypes[54] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PrivacyInfoRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PrivacyInfoRequest) ProtoMessage() {} + +func (x *PrivacyInfoRequest) ProtoReflect() protoreflect.Message { + mi := &file_api_account_account_proto_msgTypes[54] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PrivacyInfoRequest.ProtoReflect.Descriptor instead. +func (*PrivacyInfoRequest) Descriptor() ([]byte, []int) { + return file_api_account_account_proto_rawDescGZIP(), []int{54} +} + +func (x *PrivacyInfoRequest) GetID() uint64 { + if x != nil { + return x.ID + } + return 0 +} + +func (x *PrivacyInfoRequest) GetDomain() string { + if x != nil { + return x.Domain + } + return "" +} + +func (x *PrivacyInfoRequest) GetSecurityCode() string { + if x != nil { + return x.SecurityCode + } + return "" +} + +type ListRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Domain string `protobuf:"bytes,1,opt,name=Domain,json=domain,proto3" json:"Domain,omitempty"` + PageSize uint64 `protobuf:"varint,2,opt,name=PageSize,json=pageSize,proto3" json:"PageSize,omitempty"` + Page uint64 `protobuf:"varint,3,opt,name=Page,json=page,proto3" json:"Page,omitempty"` + Key string `protobuf:"bytes,4,opt,name=key,proto3" json:"key,omitempty"` + Status string `protobuf:"bytes,5,opt,name=status,proto3" json:"status,omitempty"` + TelNum string `protobuf:"bytes,6,opt,name=telNum,proto3" json:"telNum,omitempty"` + StartEnterDate string `protobuf:"bytes,7,opt,name=startEnterDate,proto3" json:"startEnterDate,omitempty"` + EndEnterDate string `protobuf:"bytes,8,opt,name=endEnterDate,proto3" json:"endEnterDate,omitempty"` +} + +func (x *ListRequest) Reset() { + *x = ListRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_api_account_account_proto_msgTypes[55] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListRequest) ProtoMessage() {} + +func (x *ListRequest) ProtoReflect() protoreflect.Message { + mi := &file_api_account_account_proto_msgTypes[55] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListRequest.ProtoReflect.Descriptor instead. +func (*ListRequest) Descriptor() ([]byte, []int) { + return file_api_account_account_proto_rawDescGZIP(), []int{55} +} + +func (x *ListRequest) GetDomain() string { + if x != nil { + return x.Domain + } + return "" +} + +func (x *ListRequest) GetPageSize() uint64 { + if x != nil { + return x.PageSize + } + return 0 +} + +func (x *ListRequest) GetPage() uint64 { + if x != nil { + return x.Page + } + return 0 +} + +func (x *ListRequest) GetKey() string { + if x != nil { + return x.Key + } + return "" +} + +func (x *ListRequest) GetStatus() string { + if x != nil { + return x.Status + } + return "" +} + +func (x *ListRequest) GetTelNum() string { + if x != nil { + return x.TelNum + } + return "" +} + +func (x *ListRequest) GetStartEnterDate() string { + if x != nil { + return x.StartEnterDate + } + return "" +} + +func (x *ListRequest) GetEndEnterDate() string { + if x != nil { + return x.EndEnterDate + } + return "" +} + +type ListResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Status string `protobuf:"bytes,1,opt,name=Status,json=status,proto3" json:"Status,omitempty"` + Count uint64 `protobuf:"varint,2,opt,name=Count,json=count,proto3" json:"Count,omitempty"` + Data []*AccountInfo `protobuf:"bytes,3,rep,name=Data,json=data,proto3" json:"Data,omitempty"` + AllCount uint64 `protobuf:"varint,4,opt,name=AllCount,json=allCount,proto3" json:"AllCount,omitempty"` +} + +func (x *ListResponse) Reset() { + *x = ListResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_api_account_account_proto_msgTypes[56] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ListResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListResponse) ProtoMessage() {} + +func (x *ListResponse) ProtoReflect() protoreflect.Message { + mi := &file_api_account_account_proto_msgTypes[56] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListResponse.ProtoReflect.Descriptor instead. +func (*ListResponse) Descriptor() ([]byte, []int) { + return file_api_account_account_proto_rawDescGZIP(), []int{56} +} + +func (x *ListResponse) GetStatus() string { + if x != nil { + return x.Status + } + return "" +} + +func (x *ListResponse) GetCount() uint64 { + if x != nil { + return x.Count + } + return 0 +} + +func (x *ListResponse) GetData() []*AccountInfo { + if x != nil { + return x.Data + } + return nil +} + +func (x *ListResponse) GetAllCount() uint64 { + if x != nil { + return x.AllCount + } + return 0 +} + +type InfoRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Domain string `protobuf:"bytes,1,opt,name=Domain,json=domain,proto3" json:"Domain,omitempty"` + ID uint64 `protobuf:"varint,2,opt,name=ID,json=id,proto3" json:"ID,omitempty"` + Scene string `protobuf:"bytes,3,opt,name=scene,proto3" json:"scene,omitempty"` //场景值 base-默认仅仅user数据 +} + +func (x *InfoRequest) Reset() { + *x = InfoRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_api_account_account_proto_msgTypes[57] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *InfoRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*InfoRequest) ProtoMessage() {} + +func (x *InfoRequest) ProtoReflect() protoreflect.Message { + mi := &file_api_account_account_proto_msgTypes[57] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use InfoRequest.ProtoReflect.Descriptor instead. +func (*InfoRequest) Descriptor() ([]byte, []int) { + return file_api_account_account_proto_rawDescGZIP(), []int{57} +} + +func (x *InfoRequest) GetDomain() string { + if x != nil { + return x.Domain + } + return "" +} + +func (x *InfoRequest) GetID() uint64 { + if x != nil { + return x.ID + } + return 0 +} + +func (x *InfoRequest) GetScene() string { + if x != nil { + return x.Scene + } + return "" +} + +type InfoResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Status string `protobuf:"bytes,1,opt,name=Status,json=status,proto3" json:"Status,omitempty"` + Info *AccountInfo `protobuf:"bytes,2,opt,name=Info,json=accountInfo,proto3" json:"Info,omitempty"` + IsExist bool `protobuf:"varint,3,opt,name=IsExist,json=isExist,proto3" json:"IsExist,omitempty"` +} + +func (x *InfoResponse) Reset() { + *x = InfoResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_api_account_account_proto_msgTypes[58] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *InfoResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*InfoResponse) ProtoMessage() {} + +func (x *InfoResponse) ProtoReflect() protoreflect.Message { + mi := &file_api_account_account_proto_msgTypes[58] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use InfoResponse.ProtoReflect.Descriptor instead. +func (*InfoResponse) Descriptor() ([]byte, []int) { + return file_api_account_account_proto_rawDescGZIP(), []int{58} +} + +func (x *InfoResponse) GetStatus() string { + if x != nil { + return x.Status + } + return "" +} + +func (x *InfoResponse) GetInfo() *AccountInfo { + if x != nil { + return x.Info + } + return nil +} + +func (x *InfoResponse) GetIsExist() bool { + if x != nil { + return x.IsExist + } + return false +} + +type DecryptJwtResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Domain string `protobuf:"bytes,1,opt,name=Domain,json=status,proto3" json:"Domain,omitempty"` + ID uint64 `protobuf:"varint,2,opt,name=ID,json=id,proto3" json:"ID,omitempty"` + Account string `protobuf:"bytes,3,opt,name=Account,json=account,proto3" json:"Account,omitempty"` + NickName string `protobuf:"bytes,4,opt,name=NickName,json=nickName,proto3" json:"NickName,omitempty"` + IsOffline bool `protobuf:"varint,5,opt,name=IsOffline,json=isOffline,proto3" json:"IsOffline,omitempty"` +} + +func (x *DecryptJwtResponse) Reset() { + *x = DecryptJwtResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_api_account_account_proto_msgTypes[59] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DecryptJwtResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DecryptJwtResponse) ProtoMessage() {} + +func (x *DecryptJwtResponse) ProtoReflect() protoreflect.Message { + mi := &file_api_account_account_proto_msgTypes[59] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DecryptJwtResponse.ProtoReflect.Descriptor instead. +func (*DecryptJwtResponse) Descriptor() ([]byte, []int) { + return file_api_account_account_proto_rawDescGZIP(), []int{59} +} + +func (x *DecryptJwtResponse) GetDomain() string { + if x != nil { + return x.Domain + } + return "" +} + +func (x *DecryptJwtResponse) GetID() uint64 { + if x != nil { + return x.ID + } + return 0 +} + +func (x *DecryptJwtResponse) GetAccount() string { + if x != nil { + return x.Account + } + return "" +} + +func (x *DecryptJwtResponse) GetNickName() string { + if x != nil { + return x.NickName + } + return "" +} + +func (x *DecryptJwtResponse) GetIsOffline() bool { + if x != nil { + return x.IsOffline + } + return false +} + +type DecryptJwtRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Token string `protobuf:"bytes,1,opt,name=token,proto3" json:"token,omitempty"` + Domain string `protobuf:"bytes,2,opt,name=Domain,proto3" json:"Domain,omitempty"` +} + +func (x *DecryptJwtRequest) Reset() { + *x = DecryptJwtRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_api_account_account_proto_msgTypes[60] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DecryptJwtRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DecryptJwtRequest) ProtoMessage() {} + +func (x *DecryptJwtRequest) ProtoReflect() protoreflect.Message { + mi := &file_api_account_account_proto_msgTypes[60] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DecryptJwtRequest.ProtoReflect.Descriptor instead. +func (*DecryptJwtRequest) Descriptor() ([]byte, []int) { + return file_api_account_account_proto_rawDescGZIP(), []int{60} +} + +func (x *DecryptJwtRequest) GetToken() string { + if x != nil { + return x.Token + } + return "" +} + +func (x *DecryptJwtRequest) GetDomain() string { + if x != nil { + return x.Domain + } + return "" +} + +type CheckPwdRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Token string `protobuf:"bytes,1,opt,name=Token,json=token,proto3" json:"Token,omitempty"` + Password string `protobuf:"bytes,2,opt,name=Password,json=password,proto3" json:"Password,omitempty"` +} + +func (x *CheckPwdRequest) Reset() { + *x = CheckPwdRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_api_account_account_proto_msgTypes[61] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CheckPwdRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CheckPwdRequest) ProtoMessage() {} + +func (x *CheckPwdRequest) ProtoReflect() protoreflect.Message { + mi := &file_api_account_account_proto_msgTypes[61] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CheckPwdRequest.ProtoReflect.Descriptor instead. +func (*CheckPwdRequest) Descriptor() ([]byte, []int) { + return file_api_account_account_proto_rawDescGZIP(), []int{61} +} + +func (x *CheckPwdRequest) GetToken() string { + if x != nil { + return x.Token + } + return "" +} + +func (x *CheckPwdRequest) GetPassword() string { + if x != nil { + return x.Password + } + return "" +} + +type AuthenticationRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Name string `protobuf:"bytes,1,opt,name=Name,json=name,proto3" json:"Name,omitempty"` + IDNum string `protobuf:"bytes,2,opt,name=IDNum,json=idNum,proto3" json:"IDNum,omitempty"` + Token string `protobuf:"bytes,3,opt,name=Token,json=token,proto3" json:"Token,omitempty"` +} + +func (x *AuthenticationRequest) Reset() { + *x = AuthenticationRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_api_account_account_proto_msgTypes[62] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *AuthenticationRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AuthenticationRequest) ProtoMessage() {} + +func (x *AuthenticationRequest) ProtoReflect() protoreflect.Message { + mi := &file_api_account_account_proto_msgTypes[62] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AuthenticationRequest.ProtoReflect.Descriptor instead. +func (*AuthenticationRequest) Descriptor() ([]byte, []int) { + return file_api_account_account_proto_rawDescGZIP(), []int{62} +} + +func (x *AuthenticationRequest) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *AuthenticationRequest) GetIDNum() string { + if x != nil { + return x.IDNum + } + return "" +} + +func (x *AuthenticationRequest) GetToken() string { + if x != nil { + return x.Token + } + return "" +} + +type RequestStatus struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Status string `protobuf:"bytes,1,opt,name=Status,json=status,proto3" json:"Status,omitempty"` + ID uint64 `protobuf:"varint,2,opt,name=ID,proto3" json:"ID,omitempty"` + IsExist bool `protobuf:"varint,3,opt,name=isExist,proto3" json:"isExist,omitempty"` +} + +func (x *RequestStatus) Reset() { + *x = RequestStatus{} + if protoimpl.UnsafeEnabled { + mi := &file_api_account_account_proto_msgTypes[63] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *RequestStatus) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RequestStatus) ProtoMessage() {} + +func (x *RequestStatus) ProtoReflect() protoreflect.Message { + mi := &file_api_account_account_proto_msgTypes[63] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RequestStatus.ProtoReflect.Descriptor instead. +func (*RequestStatus) Descriptor() ([]byte, []int) { + return file_api_account_account_proto_rawDescGZIP(), []int{63} +} + +func (x *RequestStatus) GetStatus() string { + if x != nil { + return x.Status + } + return "" +} + +func (x *RequestStatus) GetID() uint64 { + if x != nil { + return x.ID + } + return 0 +} + +func (x *RequestStatus) GetIsExist() bool { + if x != nil { + return x.IsExist + } + return false +} + +type RegistRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Domain string `protobuf:"bytes,1,opt,name=domain,proto3" json:"domain,omitempty"` + TelNum string `protobuf:"bytes,2,opt,name=telNum,proto3" json:"telNum,omitempty"` + Code string `protobuf:"bytes,3,opt,name=code,proto3" json:"code,omitempty"` + Address string `protobuf:"bytes,4,opt,name=address,proto3" json:"address,omitempty"` + TelAreaCode string `protobuf:"bytes,5,opt,name=telAreaCode,proto3" json:"telAreaCode,omitempty"` +} + +func (x *RegistRequest) Reset() { + *x = RegistRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_api_account_account_proto_msgTypes[64] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *RegistRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RegistRequest) ProtoMessage() {} + +func (x *RegistRequest) ProtoReflect() protoreflect.Message { + mi := &file_api_account_account_proto_msgTypes[64] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RegistRequest.ProtoReflect.Descriptor instead. +func (*RegistRequest) Descriptor() ([]byte, []int) { + return file_api_account_account_proto_rawDescGZIP(), []int{64} +} + +func (x *RegistRequest) GetDomain() string { + if x != nil { + return x.Domain + } + return "" +} + +func (x *RegistRequest) GetTelNum() string { + if x != nil { + return x.TelNum + } + return "" +} + +func (x *RegistRequest) GetCode() string { + if x != nil { + return x.Code + } + return "" +} + +func (x *RegistRequest) GetAddress() string { + if x != nil { + return x.Address + } + return "" +} + +func (x *RegistRequest) GetTelAreaCode() string { + if x != nil { + return x.TelAreaCode + } + return "" +} + +type LoginRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Domain string `protobuf:"bytes,1,opt,name=Domain,json=domain,proto3" json:"Domain,omitempty"` + TelNum string `protobuf:"bytes,2,opt,name=TelNum,json=telNum,proto3" json:"TelNum,omitempty"` + Code string `protobuf:"bytes,3,opt,name=Code,json=code,proto3" json:"Code,omitempty"` + Password string `protobuf:"bytes,4,opt,name=Password,json=password,proto3" json:"Password,omitempty"` + Ip string `protobuf:"bytes,5,opt,name=Ip,json=ip,proto3" json:"Ip,omitempty"` + PassCheckIp bool `protobuf:"varint,6,opt,name=passCheckIp,proto3" json:"passCheckIp,omitempty"` +} + +func (x *LoginRequest) Reset() { + *x = LoginRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_api_account_account_proto_msgTypes[65] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *LoginRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*LoginRequest) ProtoMessage() {} + +func (x *LoginRequest) ProtoReflect() protoreflect.Message { + mi := &file_api_account_account_proto_msgTypes[65] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use LoginRequest.ProtoReflect.Descriptor instead. +func (*LoginRequest) Descriptor() ([]byte, []int) { + return file_api_account_account_proto_rawDescGZIP(), []int{65} +} + +func (x *LoginRequest) GetDomain() string { + if x != nil { + return x.Domain + } + return "" +} + +func (x *LoginRequest) GetTelNum() string { + if x != nil { + return x.TelNum + } + return "" +} + +func (x *LoginRequest) GetCode() string { + if x != nil { + return x.Code + } + return "" +} + +func (x *LoginRequest) GetPassword() string { + if x != nil { + return x.Password + } + return "" +} + +func (x *LoginRequest) GetIp() string { + if x != nil { + return x.Ip + } + return "" +} + +func (x *LoginRequest) GetPassCheckIp() bool { + if x != nil { + return x.PassCheckIp + } + return false +} + +type TokenInfo struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + AccountInfo *AccountInfo `protobuf:"bytes,1,opt,name=AccountInfo,json=accountInfo,proto3" json:"AccountInfo,omitempty"` + Token string `protobuf:"bytes,2,opt,name=Token,json=token,proto3" json:"Token,omitempty"` + RefreshToken string `protobuf:"bytes,4,opt,name=RefreshToken,json=refresh,proto3" json:"RefreshToken,omitempty"` + IsSampleAddress bool `protobuf:"varint,3,opt,name=IsSampleAddress,json=isSampleAddress,proto3" json:"IsSampleAddress,omitempty"` + NowAddress string `protobuf:"bytes,5,opt,name=nowAddress,proto3" json:"nowAddress,omitempty"` +} + +func (x *TokenInfo) Reset() { + *x = TokenInfo{} + if protoimpl.UnsafeEnabled { + mi := &file_api_account_account_proto_msgTypes[66] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *TokenInfo) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*TokenInfo) ProtoMessage() {} + +func (x *TokenInfo) ProtoReflect() protoreflect.Message { + mi := &file_api_account_account_proto_msgTypes[66] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use TokenInfo.ProtoReflect.Descriptor instead. +func (*TokenInfo) Descriptor() ([]byte, []int) { + return file_api_account_account_proto_rawDescGZIP(), []int{66} +} + +func (x *TokenInfo) GetAccountInfo() *AccountInfo { + if x != nil { + return x.AccountInfo + } + return nil +} + +func (x *TokenInfo) GetToken() string { + if x != nil { + return x.Token + } + return "" +} + +func (x *TokenInfo) GetRefreshToken() string { + if x != nil { + return x.RefreshToken + } + return "" +} + +func (x *TokenInfo) GetIsSampleAddress() bool { + if x != nil { + return x.IsSampleAddress + } + return false +} + +func (x *TokenInfo) GetNowAddress() string { + if x != nil { + return x.NowAddress + } + return "" +} + +type Extend struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + JumpTo string `protobuf:"bytes,1,opt,name=JumpTo,json=jumpTo,proto3" json:"JumpTo,omitempty"` + Lang string `protobuf:"bytes,2,opt,name=Lang,json=lang,proto3" json:"Lang,omitempty"` + CanScan bool `protobuf:"varint,3,opt,name=CanScan,json=canScan,proto3" json:"CanScan,omitempty"` + ResolutionRatio bool `protobuf:"varint,4,opt,name=ResolutionRatio,json=resolutionRatio,proto3" json:"ResolutionRatio,omitempty"` +} + +func (x *Extend) Reset() { + *x = Extend{} + if protoimpl.UnsafeEnabled { + mi := &file_api_account_account_proto_msgTypes[67] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Extend) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Extend) ProtoMessage() {} + +func (x *Extend) ProtoReflect() protoreflect.Message { + mi := &file_api_account_account_proto_msgTypes[67] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Extend.ProtoReflect.Descriptor instead. +func (*Extend) Descriptor() ([]byte, []int) { + return file_api_account_account_proto_rawDescGZIP(), []int{67} +} + +func (x *Extend) GetJumpTo() string { + if x != nil { + return x.JumpTo + } + return "" +} + +func (x *Extend) GetLang() string { + if x != nil { + return x.Lang + } + return "" +} + +func (x *Extend) GetCanScan() bool { + if x != nil { + return x.CanScan + } + return false +} + +func (x *Extend) GetResolutionRatio() bool { + if x != nil { + return x.ResolutionRatio + } + return false +} + +type Department struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ID uint64 `protobuf:"varint,1,opt,name=ID,proto3" json:"ID,omitempty"` + Name string `protobuf:"bytes,2,opt,name=Name,json=name,proto3" json:"Name,omitempty"` +} + +func (x *Department) Reset() { + *x = Department{} + if protoimpl.UnsafeEnabled { + mi := &file_api_account_account_proto_msgTypes[68] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Department) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Department) ProtoMessage() {} + +func (x *Department) ProtoReflect() protoreflect.Message { + mi := &file_api_account_account_proto_msgTypes[68] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Department.ProtoReflect.Descriptor instead. +func (*Department) Descriptor() ([]byte, []int) { + return file_api_account_account_proto_rawDescGZIP(), []int{68} +} + +func (x *Department) GetID() uint64 { + if x != nil { + return x.ID + } + return 0 +} + +func (x *Department) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +// The response message containing the greetings +type AccountInfo struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ID uint64 `protobuf:"varint,1,opt,name=ID,json=id,proto3" json:"ID,omitempty"` + Account string `protobuf:"bytes,2,opt,name=Account,json=account,proto3" json:"Account,omitempty"` + NickName string `protobuf:"bytes,3,opt,name=NickName,json=nickName,proto3" json:"NickName,omitempty"` + Type int64 `protobuf:"varint,4,opt,name=Type,json=type,proto3" json:"Type,omitempty"` + TelNum string `protobuf:"bytes,5,opt,name=TelNum,json=telNum,proto3" json:"TelNum,omitempty"` + Status int32 `protobuf:"varint,6,opt,name=Status,json=status,proto3" json:"Status,omitempty"` + Avatar string `protobuf:"bytes,7,opt,name=Avatar,json=avatar,proto3" json:"Avatar,omitempty"` + CreateAt string `protobuf:"bytes,8,opt,name=CreateAt,json=createAt,proto3" json:"CreateAt,omitempty"` + RealNameID uint64 `protobuf:"varint,9,opt,name=RealNameID,json=realNameID,proto3" json:"RealNameID,omitempty"` + RealName string `protobuf:"bytes,10,opt,name=RealName,json=realName,proto3" json:"RealName,omitempty"` + IDNum string `protobuf:"bytes,11,opt,name=IDNum,json=iDNum,proto3" json:"IDNum,omitempty"` + MnemonicWords string `protobuf:"bytes,12,opt,name=MnemonicWords,json=mnemonicWords,proto3" json:"MnemonicWords,omitempty"` + IsNeedChange uint64 `protobuf:"varint,13,opt,name=IsNeedChange,json=isNeedChange,proto3" json:"IsNeedChange,omitempty"` + EnterDate string `protobuf:"bytes,14,opt,name=EnterDate,json=enterDate,proto3" json:"EnterDate,omitempty"` + WorkYear float32 `protobuf:"fixed32,15,opt,name=WorkYear,json=workYear,proto3" json:"WorkYear,omitempty"` + Domain string `protobuf:"bytes,16,opt,name=Domain,json=domain,proto3" json:"Domain,omitempty"` + Extend *Extend `protobuf:"bytes,17,opt,name=Extend,json=extend,proto3" json:"Extend,omitempty"` + JobNum string `protobuf:"bytes,18,opt,name=JobNum,json=jobNum,proto3" json:"JobNum,omitempty"` + BirthDate string `protobuf:"bytes,19,opt,name=BirthDate,json=birth_date,proto3" json:"BirthDate,omitempty"` + Age uint64 `protobuf:"varint,20,opt,name=Age,json=age,proto3" json:"Age,omitempty"` + Sex uint64 `protobuf:"varint,21,opt,name=Sex,json=sex,proto3" json:"Sex,omitempty"` + Title string `protobuf:"bytes,22,opt,name=Title,json=title,proto3" json:"Title,omitempty"` + Departments []*Department `protobuf:"bytes,23,rep,name=Departments,json=departments,proto3" json:"Departments,omitempty"` + Ip string `protobuf:"bytes,24,opt,name=Ip,json=ip,proto3" json:"Ip,omitempty"` + LoginDate string `protobuf:"bytes,25,opt,name=LoginDate,json=loginDate,proto3" json:"LoginDate,omitempty"` + InvitationCode string `protobuf:"bytes,26,opt,name=InvitationCode,json=invitationCode,proto3" json:"InvitationCode,omitempty"` + NowLogId uint64 `protobuf:"varint,27,opt,name=NowLogId,json=nowLogId,proto3" json:"NowLogId,omitempty"` + CanScan bool `protobuf:"varint,28,opt,name=CanScan,json=canScan,proto3" json:"CanScan,omitempty"` + LeftDate string `protobuf:"bytes,29,opt,name=LeftDate,json=leftDate,proto3" json:"LeftDate,omitempty"` + Positions []*PositionUser `protobuf:"bytes,30,rep,name=Positions,json=positions,proto3" json:"Positions,omitempty"` + Remark string `protobuf:"bytes,31,opt,name=Remark,json=remark,proto3" json:"Remark,omitempty"` + RecentImg string `protobuf:"bytes,32,opt,name=recentImg,proto3" json:"recentImg,omitempty"` + Clocks []*ClockUser `protobuf:"bytes,33,rep,name=clocks,proto3" json:"clocks,omitempty"` + MailAccount string `protobuf:"bytes,34,opt,name=mailAccount,proto3" json:"mailAccount,omitempty"` + ICNum string `protobuf:"bytes,35,opt,name=ICNum,json=icNum,proto3" json:"ICNum,omitempty"` + EnglishName string `protobuf:"bytes,36,opt,name=englishName,proto3" json:"englishName,omitempty"` + Train string `protobuf:"bytes,37,opt,name=Train,json=train,proto3" json:"Train,omitempty"` + Certificate string `protobuf:"bytes,38,opt,name=Certificate,json=certificate,proto3" json:"Certificate,omitempty"` + TrainVideos []*TrainVideo `protobuf:"bytes,39,rep,name=TrainVideos,json=trainVideos,proto3" json:"TrainVideos,omitempty"` + Operator *Operator `protobuf:"bytes,40,opt,name=operator,proto3" json:"operator,omitempty"` + UpdatedAt string `protobuf:"bytes,41,opt,name=updatedAt,proto3" json:"updatedAt,omitempty"` + SecurityCode string `protobuf:"bytes,42,opt,name=SecurityCode,json=securityCode,proto3" json:"SecurityCode,omitempty"` + BlockAddr string `protobuf:"bytes,43,opt,name=BlockAddr,json=blockAddr,proto3" json:"BlockAddr,omitempty"` +} + +func (x *AccountInfo) Reset() { + *x = AccountInfo{} + if protoimpl.UnsafeEnabled { + mi := &file_api_account_account_proto_msgTypes[69] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *AccountInfo) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AccountInfo) ProtoMessage() {} + +func (x *AccountInfo) ProtoReflect() protoreflect.Message { + mi := &file_api_account_account_proto_msgTypes[69] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AccountInfo.ProtoReflect.Descriptor instead. +func (*AccountInfo) Descriptor() ([]byte, []int) { + return file_api_account_account_proto_rawDescGZIP(), []int{69} +} + +func (x *AccountInfo) GetID() uint64 { + if x != nil { + return x.ID + } + return 0 +} + +func (x *AccountInfo) GetAccount() string { + if x != nil { + return x.Account + } + return "" +} + +func (x *AccountInfo) GetNickName() string { + if x != nil { + return x.NickName + } + return "" +} + +func (x *AccountInfo) GetType() int64 { + if x != nil { + return x.Type + } + return 0 +} + +func (x *AccountInfo) GetTelNum() string { + if x != nil { + return x.TelNum + } + return "" +} + +func (x *AccountInfo) GetStatus() int32 { + if x != nil { + return x.Status + } + return 0 +} + +func (x *AccountInfo) GetAvatar() string { + if x != nil { + return x.Avatar + } + return "" +} + +func (x *AccountInfo) GetCreateAt() string { + if x != nil { + return x.CreateAt + } + return "" +} + +func (x *AccountInfo) GetRealNameID() uint64 { + if x != nil { + return x.RealNameID + } + return 0 +} + +func (x *AccountInfo) GetRealName() string { + if x != nil { + return x.RealName + } + return "" +} + +func (x *AccountInfo) GetIDNum() string { + if x != nil { + return x.IDNum + } + return "" +} + +func (x *AccountInfo) GetMnemonicWords() string { + if x != nil { + return x.MnemonicWords + } + return "" +} + +func (x *AccountInfo) GetIsNeedChange() uint64 { + if x != nil { + return x.IsNeedChange + } + return 0 +} + +func (x *AccountInfo) GetEnterDate() string { + if x != nil { + return x.EnterDate + } + return "" +} + +func (x *AccountInfo) GetWorkYear() float32 { + if x != nil { + return x.WorkYear + } + return 0 +} + +func (x *AccountInfo) GetDomain() string { + if x != nil { + return x.Domain + } + return "" +} + +func (x *AccountInfo) GetExtend() *Extend { + if x != nil { + return x.Extend + } + return nil +} + +func (x *AccountInfo) GetJobNum() string { + if x != nil { + return x.JobNum + } + return "" +} + +func (x *AccountInfo) GetBirthDate() string { + if x != nil { + return x.BirthDate + } + return "" +} + +func (x *AccountInfo) GetAge() uint64 { + if x != nil { + return x.Age + } + return 0 +} + +func (x *AccountInfo) GetSex() uint64 { + if x != nil { + return x.Sex + } + return 0 +} + +func (x *AccountInfo) GetTitle() string { + if x != nil { + return x.Title + } + return "" +} + +func (x *AccountInfo) GetDepartments() []*Department { + if x != nil { + return x.Departments + } + return nil +} + +func (x *AccountInfo) GetIp() string { + if x != nil { + return x.Ip + } + return "" +} + +func (x *AccountInfo) GetLoginDate() string { + if x != nil { + return x.LoginDate + } + return "" +} + +func (x *AccountInfo) GetInvitationCode() string { + if x != nil { + return x.InvitationCode + } + return "" +} + +func (x *AccountInfo) GetNowLogId() uint64 { + if x != nil { + return x.NowLogId + } + return 0 +} + +func (x *AccountInfo) GetCanScan() bool { + if x != nil { + return x.CanScan + } + return false +} + +func (x *AccountInfo) GetLeftDate() string { + if x != nil { + return x.LeftDate + } + return "" +} + +func (x *AccountInfo) GetPositions() []*PositionUser { + if x != nil { + return x.Positions + } + return nil +} + +func (x *AccountInfo) GetRemark() string { + if x != nil { + return x.Remark + } + return "" +} + +func (x *AccountInfo) GetRecentImg() string { + if x != nil { + return x.RecentImg + } + return "" +} + +func (x *AccountInfo) GetClocks() []*ClockUser { + if x != nil { + return x.Clocks + } + return nil +} + +func (x *AccountInfo) GetMailAccount() string { + if x != nil { + return x.MailAccount + } + return "" +} + +func (x *AccountInfo) GetICNum() string { + if x != nil { + return x.ICNum + } + return "" +} + +func (x *AccountInfo) GetEnglishName() string { + if x != nil { + return x.EnglishName + } + return "" +} + +func (x *AccountInfo) GetTrain() string { + if x != nil { + return x.Train + } + return "" +} + +func (x *AccountInfo) GetCertificate() string { + if x != nil { + return x.Certificate + } + return "" +} + +func (x *AccountInfo) GetTrainVideos() []*TrainVideo { + if x != nil { + return x.TrainVideos + } + return nil +} + +func (x *AccountInfo) GetOperator() *Operator { + if x != nil { + return x.Operator + } + return nil +} + +func (x *AccountInfo) GetUpdatedAt() string { + if x != nil { + return x.UpdatedAt + } + return "" +} + +func (x *AccountInfo) GetSecurityCode() string { + if x != nil { + return x.SecurityCode + } + return "" +} + +func (x *AccountInfo) GetBlockAddr() string { + if x != nil { + return x.BlockAddr + } + return "" +} + +type UserInfoV2 struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ID uint64 `protobuf:"varint,1,opt,name=ID,proto3" json:"ID,omitempty"` + Account string `protobuf:"bytes,2,opt,name=Account,proto3" json:"Account,omitempty"` + NickName string `protobuf:"bytes,3,opt,name=NickName,proto3" json:"NickName,omitempty"` + TelNum string `protobuf:"bytes,4,opt,name=TelNum,proto3" json:"TelNum,omitempty"` + Status string `protobuf:"bytes,5,opt,name=Status,proto3" json:"Status,omitempty"` + Avatar string `protobuf:"bytes,6,opt,name=Avatar,proto3" json:"Avatar,omitempty"` + CreateAt string `protobuf:"bytes,7,opt,name=CreateAt,proto3" json:"CreateAt,omitempty"` + RealName string `protobuf:"bytes,8,opt,name=RealName,proto3" json:"RealName,omitempty"` + IDNum string `protobuf:"bytes,9,opt,name=IDNum,proto3" json:"IDNum,omitempty"` + EnterDate string `protobuf:"bytes,10,opt,name=EnterDate,proto3" json:"EnterDate,omitempty"` + Extend *Extend `protobuf:"bytes,11,opt,name=Extend,proto3" json:"Extend,omitempty"` + JobNum string `protobuf:"bytes,12,opt,name=JobNum,proto3" json:"JobNum,omitempty"` + RecentImg string `protobuf:"bytes,13,opt,name=recentImg,proto3" json:"recentImg,omitempty"` + MailAccount string `protobuf:"bytes,14,opt,name=mailAccount,proto3" json:"mailAccount,omitempty"` + Operator *Operator `protobuf:"bytes,15,opt,name=operator,proto3" json:"operator,omitempty"` + UpdatedAt string `protobuf:"bytes,16,opt,name=updatedAt,proto3" json:"updatedAt,omitempty"` +} + +func (x *UserInfoV2) Reset() { + *x = UserInfoV2{} + if protoimpl.UnsafeEnabled { + mi := &file_api_account_account_proto_msgTypes[70] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UserInfoV2) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UserInfoV2) ProtoMessage() {} + +func (x *UserInfoV2) ProtoReflect() protoreflect.Message { + mi := &file_api_account_account_proto_msgTypes[70] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use UserInfoV2.ProtoReflect.Descriptor instead. +func (*UserInfoV2) Descriptor() ([]byte, []int) { + return file_api_account_account_proto_rawDescGZIP(), []int{70} +} + +func (x *UserInfoV2) GetID() uint64 { + if x != nil { + return x.ID + } + return 0 +} + +func (x *UserInfoV2) GetAccount() string { + if x != nil { + return x.Account + } + return "" +} + +func (x *UserInfoV2) GetNickName() string { + if x != nil { + return x.NickName + } + return "" +} + +func (x *UserInfoV2) GetTelNum() string { + if x != nil { + return x.TelNum + } + return "" +} + +func (x *UserInfoV2) GetStatus() string { + if x != nil { + return x.Status + } + return "" +} + +func (x *UserInfoV2) GetAvatar() string { + if x != nil { + return x.Avatar + } + return "" +} + +func (x *UserInfoV2) GetCreateAt() string { + if x != nil { + return x.CreateAt + } + return "" +} + +func (x *UserInfoV2) GetRealName() string { + if x != nil { + return x.RealName + } + return "" +} + +func (x *UserInfoV2) GetIDNum() string { + if x != nil { + return x.IDNum + } + return "" +} + +func (x *UserInfoV2) GetEnterDate() string { + if x != nil { + return x.EnterDate + } + return "" +} + +func (x *UserInfoV2) GetExtend() *Extend { + if x != nil { + return x.Extend + } + return nil +} + +func (x *UserInfoV2) GetJobNum() string { + if x != nil { + return x.JobNum + } + return "" +} + +func (x *UserInfoV2) GetRecentImg() string { + if x != nil { + return x.RecentImg + } + return "" +} + +func (x *UserInfoV2) GetMailAccount() string { + if x != nil { + return x.MailAccount + } + return "" +} + +func (x *UserInfoV2) GetOperator() *Operator { + if x != nil { + return x.Operator + } + return nil +} + +func (x *UserInfoV2) GetUpdatedAt() string { + if x != nil { + return x.UpdatedAt + } + return "" +} + +type RefreshTokenRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + RefreshToken string `protobuf:"bytes,1,opt,name=refreshToken,proto3" json:"refreshToken,omitempty"` + Domain string `protobuf:"bytes,2,opt,name=domain,proto3" json:"domain,omitempty"` + Ip string `protobuf:"bytes,3,opt,name=ip,proto3" json:"ip,omitempty"` +} + +func (x *RefreshTokenRequest) Reset() { + *x = RefreshTokenRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_api_account_account_proto_msgTypes[71] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *RefreshTokenRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RefreshTokenRequest) ProtoMessage() {} + +func (x *RefreshTokenRequest) ProtoReflect() protoreflect.Message { + mi := &file_api_account_account_proto_msgTypes[71] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RefreshTokenRequest.ProtoReflect.Descriptor instead. +func (*RefreshTokenRequest) Descriptor() ([]byte, []int) { + return file_api_account_account_proto_rawDescGZIP(), []int{71} +} + +func (x *RefreshTokenRequest) GetRefreshToken() string { + if x != nil { + return x.RefreshToken + } + return "" +} + +func (x *RefreshTokenRequest) GetDomain() string { + if x != nil { + return x.Domain + } + return "" +} + +func (x *RefreshTokenRequest) GetIp() string { + if x != nil { + return x.Ip + } + return "" +} + +type PositionUser struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + PositionID uint64 `protobuf:"varint,1,opt,name=PositionID,json=positionID,proto3" json:"PositionID,omitempty"` + PositionName string `protobuf:"bytes,2,opt,name=PositionName,json=positionName,proto3" json:"PositionName,omitempty"` + DepartmentId uint64 `protobuf:"varint,3,opt,name=DepartmentId,json=departmentId,proto3" json:"DepartmentId,omitempty"` + DepartmentCode string `protobuf:"bytes,4,opt,name=DepartmentCode,json=departmentCode,proto3" json:"DepartmentCode,omitempty"` + DepartmentName string `protobuf:"bytes,5,opt,name=DepartmentName,json=departmentName,proto3" json:"DepartmentName,omitempty"` + UserId uint64 `protobuf:"varint,6,opt,name=UserId,json=userId,proto3" json:"UserId,omitempty"` + UserName string `protobuf:"bytes,7,opt,name=UserName,json=userName,proto3" json:"UserName,omitempty"` +} + +func (x *PositionUser) Reset() { + *x = PositionUser{} + if protoimpl.UnsafeEnabled { + mi := &file_api_account_account_proto_msgTypes[72] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PositionUser) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PositionUser) ProtoMessage() {} + +func (x *PositionUser) ProtoReflect() protoreflect.Message { + mi := &file_api_account_account_proto_msgTypes[72] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PositionUser.ProtoReflect.Descriptor instead. +func (*PositionUser) Descriptor() ([]byte, []int) { + return file_api_account_account_proto_rawDescGZIP(), []int{72} +} + +func (x *PositionUser) GetPositionID() uint64 { + if x != nil { + return x.PositionID + } + return 0 +} + +func (x *PositionUser) GetPositionName() string { + if x != nil { + return x.PositionName + } + return "" +} + +func (x *PositionUser) GetDepartmentId() uint64 { + if x != nil { + return x.DepartmentId + } + return 0 +} + +func (x *PositionUser) GetDepartmentCode() string { + if x != nil { + return x.DepartmentCode + } + return "" +} + +func (x *PositionUser) GetDepartmentName() string { + if x != nil { + return x.DepartmentName + } + return "" +} + +func (x *PositionUser) GetUserId() uint64 { + if x != nil { + return x.UserId + } + return 0 +} + +func (x *PositionUser) GetUserName() string { + if x != nil { + return x.UserName + } + return "" +} + +type JobNumGetInfoRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + JobNum string `protobuf:"bytes,1,opt,name=jobNum,proto3" json:"jobNum,omitempty"` + Domain string `protobuf:"bytes,2,opt,name=domain,proto3" json:"domain,omitempty"` +} + +func (x *JobNumGetInfoRequest) Reset() { + *x = JobNumGetInfoRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_api_account_account_proto_msgTypes[73] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *JobNumGetInfoRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*JobNumGetInfoRequest) ProtoMessage() {} + +func (x *JobNumGetInfoRequest) ProtoReflect() protoreflect.Message { + mi := &file_api_account_account_proto_msgTypes[73] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use JobNumGetInfoRequest.ProtoReflect.Descriptor instead. +func (*JobNumGetInfoRequest) Descriptor() ([]byte, []int) { + return file_api_account_account_proto_rawDescGZIP(), []int{73} +} + +func (x *JobNumGetInfoRequest) GetJobNum() string { + if x != nil { + return x.JobNum + } + return "" +} + +func (x *JobNumGetInfoRequest) GetDomain() string { + if x != nil { + return x.Domain + } + return "" +} + +type CreateClockDeviceRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + DeviceNum string `protobuf:"bytes,1,opt,name=deviceNum,proto3" json:"deviceNum,omitempty"` + DeviceName string `protobuf:"bytes,2,opt,name=deviceName,proto3" json:"deviceName,omitempty"` + DeviceSite string `protobuf:"bytes,3,opt,name=deviceSite,proto3" json:"deviceSite,omitempty"` +} + +func (x *CreateClockDeviceRequest) Reset() { + *x = CreateClockDeviceRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_api_account_account_proto_msgTypes[74] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CreateClockDeviceRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CreateClockDeviceRequest) ProtoMessage() {} + +func (x *CreateClockDeviceRequest) ProtoReflect() protoreflect.Message { + mi := &file_api_account_account_proto_msgTypes[74] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CreateClockDeviceRequest.ProtoReflect.Descriptor instead. +func (*CreateClockDeviceRequest) Descriptor() ([]byte, []int) { + return file_api_account_account_proto_rawDescGZIP(), []int{74} +} + +func (x *CreateClockDeviceRequest) GetDeviceNum() string { + if x != nil { + return x.DeviceNum + } + return "" +} + +func (x *CreateClockDeviceRequest) GetDeviceName() string { + if x != nil { + return x.DeviceName + } + return "" +} + +func (x *CreateClockDeviceRequest) GetDeviceSite() string { + if x != nil { + return x.DeviceSite + } + return "" +} + +type UpdateClockDeviceRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Id uint64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` + DeviceNum string `protobuf:"bytes,2,opt,name=deviceNum,proto3" json:"deviceNum,omitempty"` + DeviceName string `protobuf:"bytes,3,opt,name=deviceName,proto3" json:"deviceName,omitempty"` + DeviceSite string `protobuf:"bytes,4,opt,name=deviceSite,proto3" json:"deviceSite,omitempty"` +} + +func (x *UpdateClockDeviceRequest) Reset() { + *x = UpdateClockDeviceRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_api_account_account_proto_msgTypes[75] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UpdateClockDeviceRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpdateClockDeviceRequest) ProtoMessage() {} + +func (x *UpdateClockDeviceRequest) ProtoReflect() protoreflect.Message { + mi := &file_api_account_account_proto_msgTypes[75] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use UpdateClockDeviceRequest.ProtoReflect.Descriptor instead. +func (*UpdateClockDeviceRequest) Descriptor() ([]byte, []int) { + return file_api_account_account_proto_rawDescGZIP(), []int{75} +} + +func (x *UpdateClockDeviceRequest) GetId() uint64 { + if x != nil { + return x.Id + } + return 0 +} + +func (x *UpdateClockDeviceRequest) GetDeviceNum() string { + if x != nil { + return x.DeviceNum + } + return "" +} + +func (x *UpdateClockDeviceRequest) GetDeviceName() string { + if x != nil { + return x.DeviceName + } + return "" +} + +func (x *UpdateClockDeviceRequest) GetDeviceSite() string { + if x != nil { + return x.DeviceSite + } + return "" +} + +type ClockDeviceResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Id uint64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` +} + +func (x *ClockDeviceResponse) Reset() { + *x = ClockDeviceResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_api_account_account_proto_msgTypes[76] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ClockDeviceResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ClockDeviceResponse) ProtoMessage() {} + +func (x *ClockDeviceResponse) ProtoReflect() protoreflect.Message { + mi := &file_api_account_account_proto_msgTypes[76] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ClockDeviceResponse.ProtoReflect.Descriptor instead. +func (*ClockDeviceResponse) Descriptor() ([]byte, []int) { + return file_api_account_account_proto_rawDescGZIP(), []int{76} +} + +func (x *ClockDeviceResponse) GetId() uint64 { + if x != nil { + return x.Id + } + return 0 +} + +type RemoveClockDeviceRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Id uint64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` +} + +func (x *RemoveClockDeviceRequest) Reset() { + *x = RemoveClockDeviceRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_api_account_account_proto_msgTypes[77] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *RemoveClockDeviceRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RemoveClockDeviceRequest) ProtoMessage() {} + +func (x *RemoveClockDeviceRequest) ProtoReflect() protoreflect.Message { + mi := &file_api_account_account_proto_msgTypes[77] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RemoveClockDeviceRequest.ProtoReflect.Descriptor instead. +func (*RemoveClockDeviceRequest) Descriptor() ([]byte, []int) { + return file_api_account_account_proto_rawDescGZIP(), []int{77} +} + +func (x *RemoveClockDeviceRequest) GetId() uint64 { + if x != nil { + return x.Id + } + return 0 +} + +type ClockDeviceListRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Id uint64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` + DeviceSite string `protobuf:"bytes,2,opt,name=deviceSite,proto3" json:"deviceSite,omitempty"` + DeviceNum string `protobuf:"bytes,3,opt,name=deviceNum,proto3" json:"deviceNum,omitempty"` + DeviceName string `protobuf:"bytes,4,opt,name=deviceName,proto3" json:"deviceName,omitempty"` + Page uint64 `protobuf:"varint,5,opt,name=page,proto3" json:"page,omitempty"` + PageSize uint64 `protobuf:"varint,6,opt,name=pageSize,proto3" json:"pageSize,omitempty"` + Ids []uint64 `protobuf:"varint,7,rep,packed,name=ids,proto3" json:"ids,omitempty"` +} + +func (x *ClockDeviceListRequest) Reset() { + *x = ClockDeviceListRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_api_account_account_proto_msgTypes[78] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ClockDeviceListRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ClockDeviceListRequest) ProtoMessage() {} + +func (x *ClockDeviceListRequest) ProtoReflect() protoreflect.Message { + mi := &file_api_account_account_proto_msgTypes[78] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ClockDeviceListRequest.ProtoReflect.Descriptor instead. +func (*ClockDeviceListRequest) Descriptor() ([]byte, []int) { + return file_api_account_account_proto_rawDescGZIP(), []int{78} +} + +func (x *ClockDeviceListRequest) GetId() uint64 { + if x != nil { + return x.Id + } + return 0 +} + +func (x *ClockDeviceListRequest) GetDeviceSite() string { + if x != nil { + return x.DeviceSite + } + return "" +} + +func (x *ClockDeviceListRequest) GetDeviceNum() string { + if x != nil { + return x.DeviceNum + } + return "" +} + +func (x *ClockDeviceListRequest) GetDeviceName() string { + if x != nil { + return x.DeviceName + } + return "" +} + +func (x *ClockDeviceListRequest) GetPage() uint64 { + if x != nil { + return x.Page + } + return 0 +} + +func (x *ClockDeviceListRequest) GetPageSize() uint64 { + if x != nil { + return x.PageSize + } + return 0 +} + +func (x *ClockDeviceListRequest) GetIds() []uint64 { + if x != nil { + return x.Ids + } + return nil +} + +type ClockDeviceListResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Count uint64 `protobuf:"varint,1,opt,name=count,proto3" json:"count,omitempty"` + Data []*ClockDeviceInfo `protobuf:"bytes,2,rep,name=data,proto3" json:"data,omitempty"` +} + +func (x *ClockDeviceListResponse) Reset() { + *x = ClockDeviceListResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_api_account_account_proto_msgTypes[79] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ClockDeviceListResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ClockDeviceListResponse) ProtoMessage() {} + +func (x *ClockDeviceListResponse) ProtoReflect() protoreflect.Message { + mi := &file_api_account_account_proto_msgTypes[79] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ClockDeviceListResponse.ProtoReflect.Descriptor instead. +func (*ClockDeviceListResponse) Descriptor() ([]byte, []int) { + return file_api_account_account_proto_rawDescGZIP(), []int{79} +} + +func (x *ClockDeviceListResponse) GetCount() uint64 { + if x != nil { + return x.Count + } + return 0 +} + +func (x *ClockDeviceListResponse) GetData() []*ClockDeviceInfo { + if x != nil { + return x.Data + } + return nil +} + +type ClockUser struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Id uint64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` + CreatedAt string `protobuf:"bytes,2,opt,name=createdAt,proto3" json:"createdAt,omitempty"` + UpdatedAt string `protobuf:"bytes,3,opt,name=updatedAt,proto3" json:"updatedAt,omitempty"` + DeletedAt string `protobuf:"bytes,4,opt,name=deletedAt,proto3" json:"deletedAt,omitempty"` + DeviceID uint64 `protobuf:"varint,5,opt,name=deviceID,proto3" json:"deviceID,omitempty"` + UserId uint64 `protobuf:"varint,6,opt,name=userId,proto3" json:"userId,omitempty"` + Status uint64 `protobuf:"varint,7,opt,name=status,proto3" json:"status,omitempty"` + Device *ClockDeviceInfo `protobuf:"bytes,8,opt,name=device,proto3" json:"device,omitempty"` +} + +func (x *ClockUser) Reset() { + *x = ClockUser{} + if protoimpl.UnsafeEnabled { + mi := &file_api_account_account_proto_msgTypes[80] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ClockUser) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ClockUser) ProtoMessage() {} + +func (x *ClockUser) ProtoReflect() protoreflect.Message { + mi := &file_api_account_account_proto_msgTypes[80] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ClockUser.ProtoReflect.Descriptor instead. +func (*ClockUser) Descriptor() ([]byte, []int) { + return file_api_account_account_proto_rawDescGZIP(), []int{80} +} + +func (x *ClockUser) GetId() uint64 { + if x != nil { + return x.Id + } + return 0 +} + +func (x *ClockUser) GetCreatedAt() string { + if x != nil { + return x.CreatedAt + } + return "" +} + +func (x *ClockUser) GetUpdatedAt() string { + if x != nil { + return x.UpdatedAt + } + return "" +} + +func (x *ClockUser) GetDeletedAt() string { + if x != nil { + return x.DeletedAt + } + return "" +} + +func (x *ClockUser) GetDeviceID() uint64 { + if x != nil { + return x.DeviceID + } + return 0 +} + +func (x *ClockUser) GetUserId() uint64 { + if x != nil { + return x.UserId + } + return 0 +} + +func (x *ClockUser) GetStatus() uint64 { + if x != nil { + return x.Status + } + return 0 +} + +func (x *ClockUser) GetDevice() *ClockDeviceInfo { + if x != nil { + return x.Device + } + return nil +} + +type ClockDeviceInfo struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Id uint64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` + CreateAt string `protobuf:"bytes,2,opt,name=createAt,proto3" json:"createAt,omitempty"` + UpdateAt string `protobuf:"bytes,3,opt,name=updateAt,proto3" json:"updateAt,omitempty"` + DeviceSite string `protobuf:"bytes,4,opt,name=deviceSite,proto3" json:"deviceSite,omitempty"` + DeviceNum string `protobuf:"bytes,5,opt,name=deviceNum,proto3" json:"deviceNum,omitempty"` + DeviceName string `protobuf:"bytes,6,opt,name=deviceName,proto3" json:"deviceName,omitempty"` + UserNum uint64 `protobuf:"varint,7,opt,name=userNum,proto3" json:"userNum,omitempty"` + Data []*ClockUserRel `protobuf:"bytes,8,rep,name=data,proto3" json:"data,omitempty"` +} + +func (x *ClockDeviceInfo) Reset() { + *x = ClockDeviceInfo{} + if protoimpl.UnsafeEnabled { + mi := &file_api_account_account_proto_msgTypes[81] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ClockDeviceInfo) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ClockDeviceInfo) ProtoMessage() {} + +func (x *ClockDeviceInfo) ProtoReflect() protoreflect.Message { + mi := &file_api_account_account_proto_msgTypes[81] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ClockDeviceInfo.ProtoReflect.Descriptor instead. +func (*ClockDeviceInfo) Descriptor() ([]byte, []int) { + return file_api_account_account_proto_rawDescGZIP(), []int{81} +} + +func (x *ClockDeviceInfo) GetId() uint64 { + if x != nil { + return x.Id + } + return 0 +} + +func (x *ClockDeviceInfo) GetCreateAt() string { + if x != nil { + return x.CreateAt + } + return "" +} + +func (x *ClockDeviceInfo) GetUpdateAt() string { + if x != nil { + return x.UpdateAt + } + return "" +} + +func (x *ClockDeviceInfo) GetDeviceSite() string { + if x != nil { + return x.DeviceSite + } + return "" +} + +func (x *ClockDeviceInfo) GetDeviceNum() string { + if x != nil { + return x.DeviceNum + } + return "" +} + +func (x *ClockDeviceInfo) GetDeviceName() string { + if x != nil { + return x.DeviceName + } + return "" +} + +func (x *ClockDeviceInfo) GetUserNum() uint64 { + if x != nil { + return x.UserNum + } + return 0 +} + +func (x *ClockDeviceInfo) GetData() []*ClockUserRel { + if x != nil { + return x.Data + } + return nil +} + +type ClockDeviceInfoResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Count uint64 `protobuf:"varint,1,opt,name=count,proto3" json:"count,omitempty"` + Data []*ClockUserRel `protobuf:"bytes,2,rep,name=data,proto3" json:"data,omitempty"` +} + +func (x *ClockDeviceInfoResponse) Reset() { + *x = ClockDeviceInfoResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_api_account_account_proto_msgTypes[82] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ClockDeviceInfoResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ClockDeviceInfoResponse) ProtoMessage() {} + +func (x *ClockDeviceInfoResponse) ProtoReflect() protoreflect.Message { + mi := &file_api_account_account_proto_msgTypes[82] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ClockDeviceInfoResponse.ProtoReflect.Descriptor instead. +func (*ClockDeviceInfoResponse) Descriptor() ([]byte, []int) { + return file_api_account_account_proto_rawDescGZIP(), []int{82} +} + +func (x *ClockDeviceInfoResponse) GetCount() uint64 { + if x != nil { + return x.Count + } + return 0 +} + +func (x *ClockDeviceInfoResponse) GetData() []*ClockUserRel { + if x != nil { + return x.Data + } + return nil +} + +type ClockUserRel struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Id uint64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` + CreateAt string `protobuf:"bytes,2,opt,name=createAt,proto3" json:"createAt,omitempty"` + UpdateAt string `protobuf:"bytes,3,opt,name=updateAt,proto3" json:"updateAt,omitempty"` + NickName string `protobuf:"bytes,4,opt,name=nickName,proto3" json:"nickName,omitempty"` + JobNum string `protobuf:"bytes,5,opt,name=jobNum,proto3" json:"jobNum,omitempty"` + IcNum string `protobuf:"bytes,6,opt,name=icNum,proto3" json:"icNum,omitempty"` +} + +func (x *ClockUserRel) Reset() { + *x = ClockUserRel{} + if protoimpl.UnsafeEnabled { + mi := &file_api_account_account_proto_msgTypes[83] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ClockUserRel) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ClockUserRel) ProtoMessage() {} + +func (x *ClockUserRel) ProtoReflect() protoreflect.Message { + mi := &file_api_account_account_proto_msgTypes[83] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ClockUserRel.ProtoReflect.Descriptor instead. +func (*ClockUserRel) Descriptor() ([]byte, []int) { + return file_api_account_account_proto_rawDescGZIP(), []int{83} +} + +func (x *ClockUserRel) GetId() uint64 { + if x != nil { + return x.Id + } + return 0 +} + +func (x *ClockUserRel) GetCreateAt() string { + if x != nil { + return x.CreateAt + } + return "" +} + +func (x *ClockUserRel) GetUpdateAt() string { + if x != nil { + return x.UpdateAt + } + return "" +} + +func (x *ClockUserRel) GetNickName() string { + if x != nil { + return x.NickName + } + return "" +} + +func (x *ClockUserRel) GetJobNum() string { + if x != nil { + return x.JobNum + } + return "" +} + +func (x *ClockUserRel) GetIcNum() string { + if x != nil { + return x.IcNum + } + return "" +} + +type ClockDeviceInfoRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Id uint64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` + Page uint64 `protobuf:"varint,2,opt,name=page,proto3" json:"page,omitempty"` + PageSize uint64 `protobuf:"varint,3,opt,name=pageSize,proto3" json:"pageSize,omitempty"` +} + +func (x *ClockDeviceInfoRequest) Reset() { + *x = ClockDeviceInfoRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_api_account_account_proto_msgTypes[84] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ClockDeviceInfoRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ClockDeviceInfoRequest) ProtoMessage() {} + +func (x *ClockDeviceInfoRequest) ProtoReflect() protoreflect.Message { + mi := &file_api_account_account_proto_msgTypes[84] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ClockDeviceInfoRequest.ProtoReflect.Descriptor instead. +func (*ClockDeviceInfoRequest) Descriptor() ([]byte, []int) { + return file_api_account_account_proto_rawDescGZIP(), []int{84} +} + +func (x *ClockDeviceInfoRequest) GetId() uint64 { + if x != nil { + return x.Id + } + return 0 +} + +func (x *ClockDeviceInfoRequest) GetPage() uint64 { + if x != nil { + return x.Page + } + return 0 +} + +func (x *ClockDeviceInfoRequest) GetPageSize() uint64 { + if x != nil { + return x.PageSize + } + return 0 +} + +type ClockBatchBindRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Id uint64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` + UserId []uint64 `protobuf:"varint,2,rep,packed,name=userId,proto3" json:"userId,omitempty"` + DeviceId []uint64 `protobuf:"varint,3,rep,packed,name=deviceId,proto3" json:"deviceId,omitempty"` +} + +func (x *ClockBatchBindRequest) Reset() { + *x = ClockBatchBindRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_api_account_account_proto_msgTypes[85] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ClockBatchBindRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ClockBatchBindRequest) ProtoMessage() {} + +func (x *ClockBatchBindRequest) ProtoReflect() protoreflect.Message { + mi := &file_api_account_account_proto_msgTypes[85] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ClockBatchBindRequest.ProtoReflect.Descriptor instead. +func (*ClockBatchBindRequest) Descriptor() ([]byte, []int) { + return file_api_account_account_proto_rawDescGZIP(), []int{85} +} + +func (x *ClockBatchBindRequest) GetId() uint64 { + if x != nil { + return x.Id + } + return 0 +} + +func (x *ClockBatchBindRequest) GetUserId() []uint64 { + if x != nil { + return x.UserId + } + return nil +} + +func (x *ClockBatchBindRequest) GetDeviceId() []uint64 { + if x != nil { + return x.DeviceId + } + return nil +} + +type ClockBatchListResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Data []*ClockUserDeviceBatch `protobuf:"bytes,1,rep,name=data,proto3" json:"data,omitempty"` +} + +func (x *ClockBatchListResponse) Reset() { + *x = ClockBatchListResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_api_account_account_proto_msgTypes[86] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ClockBatchListResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ClockBatchListResponse) ProtoMessage() {} + +func (x *ClockBatchListResponse) ProtoReflect() protoreflect.Message { + mi := &file_api_account_account_proto_msgTypes[86] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ClockBatchListResponse.ProtoReflect.Descriptor instead. +func (*ClockBatchListResponse) Descriptor() ([]byte, []int) { + return file_api_account_account_proto_rawDescGZIP(), []int{86} +} + +func (x *ClockBatchListResponse) GetData() []*ClockUserDeviceBatch { + if x != nil { + return x.Data + } + return nil +} + +type ClockUserDeviceBatch struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + UserId uint64 `protobuf:"varint,1,opt,name=userId,proto3" json:"userId,omitempty"` + DeviceId uint64 `protobuf:"varint,2,opt,name=deviceId,proto3" json:"deviceId,omitempty"` + JobNum string `protobuf:"bytes,3,opt,name=JobNum,proto3" json:"JobNum,omitempty"` + DeviceNum string `protobuf:"bytes,4,opt,name=deviceNum,proto3" json:"deviceNum,omitempty"` + DeviceName string `protobuf:"bytes,5,opt,name=deviceName,proto3" json:"deviceName,omitempty"` + WorkStatus string `protobuf:"bytes,6,opt,name=workStatus,proto3" json:"workStatus,omitempty"` +} + +func (x *ClockUserDeviceBatch) Reset() { + *x = ClockUserDeviceBatch{} + if protoimpl.UnsafeEnabled { + mi := &file_api_account_account_proto_msgTypes[87] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ClockUserDeviceBatch) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ClockUserDeviceBatch) ProtoMessage() {} + +func (x *ClockUserDeviceBatch) ProtoReflect() protoreflect.Message { + mi := &file_api_account_account_proto_msgTypes[87] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ClockUserDeviceBatch.ProtoReflect.Descriptor instead. +func (*ClockUserDeviceBatch) Descriptor() ([]byte, []int) { + return file_api_account_account_proto_rawDescGZIP(), []int{87} +} + +func (x *ClockUserDeviceBatch) GetUserId() uint64 { + if x != nil { + return x.UserId + } + return 0 +} + +func (x *ClockUserDeviceBatch) GetDeviceId() uint64 { + if x != nil { + return x.DeviceId + } + return 0 +} + +func (x *ClockUserDeviceBatch) GetJobNum() string { + if x != nil { + return x.JobNum + } + return "" +} + +func (x *ClockUserDeviceBatch) GetDeviceNum() string { + if x != nil { + return x.DeviceNum + } + return "" +} + +func (x *ClockUserDeviceBatch) GetDeviceName() string { + if x != nil { + return x.DeviceName + } + return "" +} + +func (x *ClockUserDeviceBatch) GetWorkStatus() string { + if x != nil { + return x.WorkStatus + } + return "" +} + +type ClockLogInfo struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Id uint64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` + Sn string `protobuf:"bytes,2,opt,name=sn,proto3" json:"sn,omitempty"` + UserId string `protobuf:"bytes,3,opt,name=userId,proto3" json:"userId,omitempty"` + RecogType string `protobuf:"bytes,4,opt,name=recogType,proto3" json:"recogType,omitempty"` + RecogTime string `protobuf:"bytes,5,opt,name=recogTime,proto3" json:"recogTime,omitempty"` + Gender float32 `protobuf:"fixed32,6,opt,name=gender,proto3" json:"gender,omitempty"` + Photo string `protobuf:"bytes,7,opt,name=photo,proto3" json:"photo,omitempty"` + PassStatus float32 `protobuf:"fixed32,8,opt,name=passStatus,proto3" json:"passStatus,omitempty"` + UserName string `protobuf:"bytes,9,opt,name=userName,proto3" json:"userName,omitempty"` + UserType float32 `protobuf:"fixed32,10,opt,name=userType,proto3" json:"userType,omitempty"` + Confidence string `protobuf:"bytes,11,opt,name=confidence,proto3" json:"confidence,omitempty"` + Reflectivity float32 `protobuf:"fixed32,12,opt,name=reflectivity,proto3" json:"reflectivity,omitempty"` + CardNumber string `protobuf:"bytes,13,opt,name=cardNumber,proto3" json:"cardNumber,omitempty"` + PassWord string `protobuf:"bytes,14,opt,name=passWord,proto3" json:"passWord,omitempty"` + QrCode string `protobuf:"bytes,15,opt,name=qrCode,proto3" json:"qrCode,omitempty"` + Tel string `protobuf:"bytes,16,opt,name=tel,proto3" json:"tel,omitempty"` + ReasonVisit string `protobuf:"bytes,17,opt,name=reasonVisit,proto3" json:"reasonVisit,omitempty"` + ReceiverTel string `protobuf:"bytes,18,opt,name=receiverTel,proto3" json:"receiverTel,omitempty"` + NumOfPeople uint64 `protobuf:"varint,19,opt,name=numOfPeople,proto3" json:"numOfPeople,omitempty"` +} + +func (x *ClockLogInfo) Reset() { + *x = ClockLogInfo{} + if protoimpl.UnsafeEnabled { + mi := &file_api_account_account_proto_msgTypes[88] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ClockLogInfo) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ClockLogInfo) ProtoMessage() {} + +func (x *ClockLogInfo) ProtoReflect() protoreflect.Message { + mi := &file_api_account_account_proto_msgTypes[88] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ClockLogInfo.ProtoReflect.Descriptor instead. +func (*ClockLogInfo) Descriptor() ([]byte, []int) { + return file_api_account_account_proto_rawDescGZIP(), []int{88} +} + +func (x *ClockLogInfo) GetId() uint64 { + if x != nil { + return x.Id + } + return 0 +} + +func (x *ClockLogInfo) GetSn() string { + if x != nil { + return x.Sn + } + return "" +} + +func (x *ClockLogInfo) GetUserId() string { + if x != nil { + return x.UserId + } + return "" +} + +func (x *ClockLogInfo) GetRecogType() string { + if x != nil { + return x.RecogType + } + return "" +} + +func (x *ClockLogInfo) GetRecogTime() string { + if x != nil { + return x.RecogTime + } + return "" +} + +func (x *ClockLogInfo) GetGender() float32 { + if x != nil { + return x.Gender + } + return 0 +} + +func (x *ClockLogInfo) GetPhoto() string { + if x != nil { + return x.Photo + } + return "" +} + +func (x *ClockLogInfo) GetPassStatus() float32 { + if x != nil { + return x.PassStatus + } + return 0 +} + +func (x *ClockLogInfo) GetUserName() string { + if x != nil { + return x.UserName + } + return "" +} + +func (x *ClockLogInfo) GetUserType() float32 { + if x != nil { + return x.UserType + } + return 0 +} + +func (x *ClockLogInfo) GetConfidence() string { + if x != nil { + return x.Confidence + } + return "" +} + +func (x *ClockLogInfo) GetReflectivity() float32 { + if x != nil { + return x.Reflectivity + } + return 0 +} + +func (x *ClockLogInfo) GetCardNumber() string { + if x != nil { + return x.CardNumber + } + return "" +} + +func (x *ClockLogInfo) GetPassWord() string { + if x != nil { + return x.PassWord + } + return "" +} + +func (x *ClockLogInfo) GetQrCode() string { + if x != nil { + return x.QrCode + } + return "" +} + +func (x *ClockLogInfo) GetTel() string { + if x != nil { + return x.Tel + } + return "" +} + +func (x *ClockLogInfo) GetReasonVisit() string { + if x != nil { + return x.ReasonVisit + } + return "" +} + +func (x *ClockLogInfo) GetReceiverTel() string { + if x != nil { + return x.ReceiverTel + } + return "" +} + +func (x *ClockLogInfo) GetNumOfPeople() uint64 { + if x != nil { + return x.NumOfPeople + } + return 0 +} + +type ClockLogReq struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Id uint64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` + Page uint64 `protobuf:"varint,2,opt,name=page,proto3" json:"page,omitempty"` + PageSize uint64 `protobuf:"varint,3,opt,name=pageSize,proto3" json:"pageSize,omitempty"` + UserName string `protobuf:"bytes,4,opt,name=userName,proto3" json:"userName,omitempty"` + RecogType string `protobuf:"bytes,5,opt,name=recogType,proto3" json:"recogType,omitempty"` + DeviceNum string `protobuf:"bytes,6,opt,name=deviceNum,proto3" json:"deviceNum,omitempty"` + RecogDate string `protobuf:"bytes,7,opt,name=recogDate,proto3" json:"recogDate,omitempty"` + UserId uint64 `protobuf:"varint,8,opt,name=userId,proto3" json:"userId,omitempty"` +} + +func (x *ClockLogReq) Reset() { + *x = ClockLogReq{} + if protoimpl.UnsafeEnabled { + mi := &file_api_account_account_proto_msgTypes[89] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ClockLogReq) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ClockLogReq) ProtoMessage() {} + +func (x *ClockLogReq) ProtoReflect() protoreflect.Message { + mi := &file_api_account_account_proto_msgTypes[89] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ClockLogReq.ProtoReflect.Descriptor instead. +func (*ClockLogReq) Descriptor() ([]byte, []int) { + return file_api_account_account_proto_rawDescGZIP(), []int{89} +} + +func (x *ClockLogReq) GetId() uint64 { + if x != nil { + return x.Id + } + return 0 +} + +func (x *ClockLogReq) GetPage() uint64 { + if x != nil { + return x.Page + } + return 0 +} + +func (x *ClockLogReq) GetPageSize() uint64 { + if x != nil { + return x.PageSize + } + return 0 +} + +func (x *ClockLogReq) GetUserName() string { + if x != nil { + return x.UserName + } + return "" +} + +func (x *ClockLogReq) GetRecogType() string { + if x != nil { + return x.RecogType + } + return "" +} + +func (x *ClockLogReq) GetDeviceNum() string { + if x != nil { + return x.DeviceNum + } + return "" +} + +func (x *ClockLogReq) GetRecogDate() string { + if x != nil { + return x.RecogDate + } + return "" +} + +func (x *ClockLogReq) GetUserId() uint64 { + if x != nil { + return x.UserId + } + return 0 +} + +type ClockLogListResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Data []*ClockLogInfo `protobuf:"bytes,1,rep,name=data,proto3" json:"data,omitempty"` + Count uint64 `protobuf:"varint,2,opt,name=count,proto3" json:"count,omitempty"` +} + +func (x *ClockLogListResponse) Reset() { + *x = ClockLogListResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_api_account_account_proto_msgTypes[90] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ClockLogListResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ClockLogListResponse) ProtoMessage() {} + +func (x *ClockLogListResponse) ProtoReflect() protoreflect.Message { + mi := &file_api_account_account_proto_msgTypes[90] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ClockLogListResponse.ProtoReflect.Descriptor instead. +func (*ClockLogListResponse) Descriptor() ([]byte, []int) { + return file_api_account_account_proto_rawDescGZIP(), []int{90} +} + +func (x *ClockLogListResponse) GetData() []*ClockLogInfo { + if x != nil { + return x.Data + } + return nil +} + +func (x *ClockLogListResponse) GetCount() uint64 { + if x != nil { + return x.Count + } + return 0 +} + +var File_api_account_account_proto protoreflect.FileDescriptor + +var file_api_account_account_proto_rawDesc = []byte{ + 0x0a, 0x19, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2f, 0x61, 0x63, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x07, 0x61, 0x63, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x1a, 0x3d, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, + 0x2f, 0x6d, 0x77, 0x69, 0x74, 0x6b, 0x6f, 0x77, 0x2f, 0x67, 0x6f, 0x2d, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x2d, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x73, 0x40, 0x76, 0x30, 0x2e, + 0x33, 0x2e, 0x32, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x6f, 0x72, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x22, 0x3f, 0x0a, 0x15, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, 0x65, 0x61, 0x6c, + 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x0e, 0x0a, 0x02, + 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x69, 0x64, 0x12, 0x16, 0x0a, 0x06, + 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, + 0x61, 0x74, 0x75, 0x73, 0x22, 0x62, 0x0a, 0x14, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, 0x65, 0x61, + 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, + 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, + 0x70, 0x61, 0x73, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x04, 0x70, 0x61, 0x73, 0x73, + 0x12, 0x26, 0x0a, 0x0e, 0x6e, 0x6f, 0x74, 0x50, 0x61, 0x73, 0x73, 0x52, 0x65, 0x6d, 0x61, 0x72, + 0x6b, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x6e, 0x6f, 0x74, 0x50, 0x61, 0x73, + 0x73, 0x52, 0x65, 0x6d, 0x61, 0x72, 0x6b, 0x73, 0x22, 0x8b, 0x01, 0x0a, 0x10, 0x55, 0x73, 0x65, + 0x72, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x14, 0x0a, + 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x04, 0x52, 0x04, 0x70, 0x61, 0x67, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, + 0x69, 0x7a, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, + 0x69, 0x7a, 0x65, 0x12, 0x31, 0x0a, 0x08, 0x75, 0x73, 0x65, 0x72, 0x4c, 0x69, 0x73, 0x74, 0x18, + 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, + 0x55, 0x73, 0x65, 0x72, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x08, 0x75, 0x73, + 0x65, 0x72, 0x4c, 0x69, 0x73, 0x74, 0x22, 0xfc, 0x03, 0x0a, 0x0c, 0x55, 0x73, 0x65, 0x72, 0x4c, + 0x69, 0x73, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x04, 0x52, 0x02, 0x69, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, + 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, + 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, + 0x61, 0x6d, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x73, 0x65, 0x78, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x03, 0x73, 0x65, 0x78, 0x12, 0x20, 0x0a, 0x0b, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x61, + 0x6c, 0x69, 0x74, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6e, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x22, 0x0a, 0x0c, 0x64, 0x6f, 0x63, 0x75, 0x6d, + 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x64, + 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x2e, 0x0a, 0x12, 0x63, + 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x50, 0x69, 0x63, 0x74, 0x75, 0x72, + 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, + 0x63, 0x61, 0x74, 0x65, 0x50, 0x69, 0x63, 0x74, 0x75, 0x72, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x76, + 0x61, 0x6c, 0x69, 0x64, 0x69, 0x74, 0x79, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x76, + 0x61, 0x6c, 0x69, 0x64, 0x69, 0x74, 0x79, 0x12, 0x2a, 0x0a, 0x10, 0x70, 0x6c, 0x61, 0x63, 0x65, + 0x4f, 0x66, 0x52, 0x65, 0x73, 0x69, 0x64, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x10, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x4f, 0x66, 0x52, 0x65, 0x73, 0x69, 0x64, 0x65, + 0x6e, 0x63, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x50, 0x68, 0x6f, 0x74, + 0x6f, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x50, 0x68, + 0x6f, 0x74, 0x6f, 0x12, 0x1e, 0x0a, 0x0a, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, + 0x74, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, + 0x65, 0x6e, 0x74, 0x12, 0x2a, 0x0a, 0x10, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x72, + 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x12, + 0x1c, 0x0a, 0x09, 0x61, 0x75, 0x64, 0x69, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x0d, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x09, 0x61, 0x75, 0x64, 0x69, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x16, 0x0a, + 0x06, 0x73, 0x75, 0x62, 0x4e, 0x75, 0x6d, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, + 0x75, 0x62, 0x4e, 0x75, 0x6d, 0x12, 0x26, 0x0a, 0x0e, 0x6e, 0x6f, 0x74, 0x50, 0x61, 0x73, 0x73, + 0x52, 0x65, 0x6d, 0x61, 0x72, 0x6b, 0x73, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x6e, + 0x6f, 0x74, 0x50, 0x61, 0x73, 0x73, 0x52, 0x65, 0x6d, 0x61, 0x72, 0x6b, 0x73, 0x12, 0x16, 0x0a, + 0x06, 0x74, 0x65, 0x6c, 0x4e, 0x75, 0x6d, 0x18, 0x10, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x74, + 0x65, 0x6c, 0x4e, 0x75, 0x6d, 0x22, 0x83, 0x02, 0x0a, 0x0f, 0x55, 0x73, 0x65, 0x72, 0x4c, 0x69, + 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x64, 0x6f, 0x6d, + 0x61, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, + 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x75, 0x62, 0x4e, 0x75, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x06, 0x73, 0x75, 0x62, 0x4e, 0x75, 0x6d, 0x12, 0x24, 0x0a, 0x0d, 0x72, 0x65, 0x61, + 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x4f, 0x72, 0x4e, 0x6f, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x0d, 0x72, 0x65, 0x61, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x4f, 0x72, 0x4e, 0x6f, 0x74, 0x12, + 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, + 0x61, 0x6d, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x73, 0x65, 0x78, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x03, 0x73, 0x65, 0x78, 0x12, 0x22, 0x0a, 0x0c, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, + 0x74, 0x54, 0x79, 0x70, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x64, 0x6f, 0x63, + 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x61, 0x75, 0x64, + 0x69, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, + 0x61, 0x75, 0x64, 0x69, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x70, + 0x61, 0x67, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x04, 0x52, 0x04, 0x70, 0x61, 0x67, 0x65, 0x12, + 0x1a, 0x0a, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, + 0x04, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x22, 0x9e, 0x03, 0x0a, 0x10, + 0x55, 0x73, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x69, 0x64, + 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x10, 0x0a, 0x03, + 0x73, 0x65, 0x78, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x73, 0x65, 0x78, 0x12, 0x20, + 0x0a, 0x0b, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x18, 0x05, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x69, 0x74, 0x79, + 0x12, 0x22, 0x0a, 0x0c, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, + 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, + 0x54, 0x79, 0x70, 0x65, 0x12, 0x2e, 0x0a, 0x12, 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, + 0x61, 0x74, 0x65, 0x50, 0x69, 0x63, 0x74, 0x75, 0x72, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x12, 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x50, 0x69, 0x63, + 0x74, 0x75, 0x72, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x69, 0x74, 0x79, + 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x69, 0x74, 0x79, + 0x12, 0x2a, 0x0a, 0x10, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x4f, 0x66, 0x52, 0x65, 0x73, 0x69, 0x64, + 0x65, 0x6e, 0x63, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x70, 0x6c, 0x61, 0x63, + 0x65, 0x4f, 0x66, 0x52, 0x65, 0x73, 0x69, 0x64, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x1e, 0x0a, 0x0a, + 0x67, 0x72, 0x6f, 0x75, 0x70, 0x50, 0x68, 0x6f, 0x74, 0x6f, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0a, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x50, 0x68, 0x6f, 0x74, 0x6f, 0x12, 0x1e, 0x0a, 0x0a, + 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0a, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x16, 0x0a, 0x06, + 0x73, 0x75, 0x62, 0x4e, 0x75, 0x6d, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x75, + 0x62, 0x4e, 0x75, 0x6d, 0x12, 0x26, 0x0a, 0x0e, 0x6e, 0x6f, 0x74, 0x50, 0x61, 0x73, 0x73, 0x52, + 0x65, 0x6d, 0x61, 0x72, 0x6b, 0x73, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x6e, 0x6f, + 0x74, 0x50, 0x61, 0x73, 0x73, 0x52, 0x65, 0x6d, 0x61, 0x72, 0x6b, 0x73, 0x22, 0x3a, 0x0a, 0x10, + 0x52, 0x65, 0x61, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x69, 0x64, + 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0xc5, 0x02, 0x0a, 0x0f, 0x52, 0x65, 0x61, + 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, + 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, + 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, + 0x12, 0x10, 0x0a, 0x03, 0x73, 0x65, 0x78, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x73, + 0x65, 0x78, 0x12, 0x20, 0x0a, 0x0b, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x69, 0x74, + 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x61, + 0x6c, 0x69, 0x74, 0x79, 0x12, 0x22, 0x0a, 0x0c, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, + 0x54, 0x79, 0x70, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x64, 0x6f, 0x63, 0x75, + 0x6d, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x2e, 0x0a, 0x12, 0x63, 0x65, 0x72, 0x74, + 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x50, 0x69, 0x63, 0x74, 0x75, 0x72, 0x65, 0x18, 0x06, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, + 0x65, 0x50, 0x69, 0x63, 0x74, 0x75, 0x72, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x76, 0x61, 0x6c, 0x69, + 0x64, 0x69, 0x74, 0x79, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x76, 0x61, 0x6c, 0x69, + 0x64, 0x69, 0x74, 0x79, 0x12, 0x2a, 0x0a, 0x10, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x4f, 0x66, 0x52, + 0x65, 0x73, 0x69, 0x64, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, + 0x70, 0x6c, 0x61, 0x63, 0x65, 0x4f, 0x66, 0x52, 0x65, 0x73, 0x69, 0x64, 0x65, 0x6e, 0x63, 0x65, + 0x12, 0x1e, 0x0a, 0x0a, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x50, 0x68, 0x6f, 0x74, 0x6f, 0x18, 0x09, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x50, 0x68, 0x6f, 0x74, 0x6f, + 0x12, 0x1e, 0x0a, 0x0a, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x0a, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, + 0x22, 0x50, 0x0a, 0x10, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, + 0x52, 0x02, 0x49, 0x44, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x14, 0x0a, 0x05, + 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x6f, 0x6b, + 0x65, 0x6e, 0x22, 0x46, 0x0a, 0x14, 0x55, 0x73, 0x65, 0x72, 0x73, 0x42, 0x79, 0x4a, 0x6f, 0x62, + 0x4e, 0x75, 0x6d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x64, 0x6f, + 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x64, 0x6f, 0x6d, 0x61, + 0x69, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x6a, 0x6f, 0x62, 0x4e, 0x75, 0x6d, 0x18, 0x02, 0x20, 0x03, + 0x28, 0x09, 0x52, 0x06, 0x6a, 0x6f, 0x62, 0x4e, 0x75, 0x6d, 0x22, 0x6c, 0x0a, 0x24, 0x51, 0x75, + 0x65, 0x72, 0x79, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x6e, 0x65, 0x6c, 0x57, 0x69, 0x74, 0x68, + 0x54, 0x68, 0x65, 0x53, 0x61, 0x6d, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, + 0x09, 0x52, 0x05, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x64, 0x6f, 0x6d, 0x61, + 0x69, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, + 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x53, 0x0a, 0x25, 0x51, 0x75, 0x65, 0x72, + 0x79, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x6e, 0x65, 0x6c, 0x57, 0x69, 0x74, 0x68, 0x54, 0x68, + 0x65, 0x53, 0x61, 0x6d, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x14, 0x0a, 0x05, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, + 0x52, 0x05, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0xcc, 0x04, + 0x0a, 0x0d, 0x4c, 0x69, 0x73, 0x74, 0x56, 0x32, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, + 0x25, 0x0a, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, + 0x0d, 0xe2, 0xdf, 0x1f, 0x09, 0x2a, 0x05, 0x37, 0x30, 0x30, 0x30, 0x31, 0x58, 0x01, 0x52, 0x06, + 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, + 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, + 0x7a, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x67, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, + 0x52, 0x04, 0x70, 0x61, 0x67, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x1a, 0x0a, 0x08, 0x6e, 0x69, 0x63, 0x6b, + 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6e, 0x69, 0x63, 0x6b, + 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x74, 0x65, 0x6c, 0x4e, 0x75, 0x6d, 0x18, 0x06, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x74, 0x65, 0x6c, 0x4e, 0x75, 0x6d, 0x12, 0x16, 0x0a, 0x06, + 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, + 0x61, 0x74, 0x75, 0x73, 0x12, 0x22, 0x0a, 0x0c, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, + 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x70, 0x6f, 0x73, 0x69, + 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x6a, 0x6f, 0x62, 0x4e, + 0x75, 0x6d, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6a, 0x6f, 0x62, 0x4e, 0x75, 0x6d, + 0x12, 0x20, 0x0a, 0x0b, 0x6d, 0x61, 0x69, 0x6c, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, + 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6d, 0x61, 0x69, 0x6c, 0x41, 0x63, 0x63, 0x6f, 0x75, + 0x6e, 0x74, 0x12, 0x26, 0x0a, 0x0e, 0x73, 0x74, 0x61, 0x72, 0x74, 0x45, 0x6e, 0x74, 0x65, 0x72, + 0x44, 0x61, 0x74, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x73, 0x74, 0x61, 0x72, + 0x74, 0x45, 0x6e, 0x74, 0x65, 0x72, 0x44, 0x61, 0x74, 0x65, 0x12, 0x22, 0x0a, 0x0c, 0x65, 0x6e, + 0x64, 0x45, 0x6e, 0x74, 0x65, 0x72, 0x44, 0x61, 0x74, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0c, 0x65, 0x6e, 0x64, 0x45, 0x6e, 0x74, 0x65, 0x72, 0x44, 0x61, 0x74, 0x65, 0x12, 0x1e, + 0x0a, 0x0a, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x0d, 0x20, 0x01, + 0x28, 0x0d, 0x52, 0x0a, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x22, + 0x0a, 0x0c, 0x64, 0x65, 0x70, 0x61, 0x72, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x18, 0x0e, + 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x64, 0x65, 0x70, 0x61, 0x72, 0x74, 0x6d, 0x65, 0x6e, 0x74, + 0x49, 0x64, 0x12, 0x26, 0x0a, 0x0e, 0x64, 0x65, 0x70, 0x61, 0x72, 0x74, 0x6d, 0x65, 0x6e, 0x74, + 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x64, 0x65, 0x70, 0x61, + 0x72, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x28, 0x0a, 0x0f, 0x64, 0x65, + 0x70, 0x61, 0x72, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x18, 0x10, 0x20, + 0x03, 0x28, 0x09, 0x52, 0x0f, 0x64, 0x65, 0x70, 0x61, 0x72, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x4e, + 0x61, 0x6d, 0x65, 0x73, 0x12, 0x20, 0x0a, 0x0b, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, + 0x49, 0x64, 0x73, 0x18, 0x11, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x0b, 0x70, 0x6f, 0x73, 0x69, 0x74, + 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x73, 0x12, 0x24, 0x0a, 0x0d, 0x64, 0x65, 0x70, 0x61, 0x72, 0x74, + 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x73, 0x18, 0x12, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x0d, 0x64, + 0x65, 0x70, 0x61, 0x72, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x73, 0x22, 0xe4, 0x01, 0x0a, + 0x18, 0x53, 0x65, 0x6e, 0x64, 0x43, 0x6c, 0x6f, 0x63, 0x6b, 0x49, 0x6e, 0x57, 0x65, 0x63, 0x68, + 0x61, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x64, 0x6f, 0x6d, + 0x61, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, + 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x74, 0x65, 0x6c, 0x4e, 0x75, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x06, 0x74, 0x65, 0x6c, 0x4e, 0x75, 0x6d, 0x12, 0x1e, 0x0a, 0x0a, 0x6f, 0x70, 0x65, + 0x72, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6f, + 0x70, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x6c, 0x6f, + 0x63, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x6c, + 0x6f, 0x63, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, + 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, + 0x12, 0x0a, 0x04, 0x67, 0x68, 0x49, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x67, + 0x68, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x07, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x14, 0x0a, + 0x05, 0x6c, 0x6f, 0x67, 0x49, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x6c, 0x6f, + 0x67, 0x49, 0x64, 0x22, 0x82, 0x01, 0x0a, 0x1c, 0x4d, 0x61, 0x69, 0x6c, 0x41, 0x63, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x42, 0x79, 0x4e, 0x69, 0x63, 0x6b, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x12, 0x25, 0x0a, 0x06, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe2, 0xdf, 0x1f, 0x09, 0x2a, 0x05, 0x37, 0x30, 0x30, 0x30, + 0x31, 0x58, 0x01, 0x52, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x2b, 0x0a, 0x08, 0x4e, + 0x69, 0x63, 0x6b, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0f, 0xe2, + 0xdf, 0x1f, 0x0b, 0x2a, 0x05, 0x37, 0x30, 0x30, 0x30, 0x35, 0x58, 0x01, 0x78, 0x14, 0x52, 0x08, + 0x6e, 0x69, 0x63, 0x6b, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x44, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x0d, 0x52, 0x02, 0x49, 0x44, 0x22, 0x5d, 0x0a, 0x17, 0x43, 0x72, 0x65, 0x61, + 0x74, 0x65, 0x4d, 0x61, 0x69, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, + 0x02, 0x49, 0x44, 0x12, 0x1a, 0x0a, 0x08, 0x6e, 0x69, 0x63, 0x6b, 0x4e, 0x61, 0x6d, 0x65, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6e, 0x69, 0x63, 0x6b, 0x4e, 0x61, 0x6d, 0x65, 0x12, + 0x16, 0x0a, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x22, 0x58, 0x0a, 0x12, 0x4d, 0x61, 0x69, 0x41, 0x63, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x20, 0x0a, + 0x0b, 0x65, 0x6e, 0x67, 0x6c, 0x69, 0x73, 0x68, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0b, 0x65, 0x6e, 0x67, 0x6c, 0x69, 0x73, 0x68, 0x4e, 0x61, 0x6d, 0x65, 0x12, + 0x20, 0x0a, 0x0b, 0x6d, 0x61, 0x69, 0x6c, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6d, 0x61, 0x69, 0x6c, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x22, 0xac, 0x01, 0x0a, 0x14, 0x46, 0x64, 0x64, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x55, + 0x73, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x70, + 0x65, 0x6e, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6f, 0x70, 0x65, 0x6e, + 0x69, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x77, 0x78, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x77, 0x78, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x1e, + 0x0a, 0x0a, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, 0x49, 0x64, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0a, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, 0x49, 0x64, 0x12, 0x1a, + 0x0a, 0x08, 0x69, 0x73, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, + 0x52, 0x08, 0x69, 0x73, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x12, 0x24, 0x0a, 0x0d, 0x74, 0x72, + 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x6f, 0x18, 0x06, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0d, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x6f, + 0x22, 0x42, 0x0a, 0x14, 0x57, 0x78, 0x42, 0x6f, 0x78, 0x55, 0x73, 0x65, 0x72, 0x49, 0x6e, 0x66, + 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x70, 0x65, 0x6e, + 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6f, 0x70, 0x65, 0x6e, 0x69, 0x64, + 0x12, 0x12, 0x0a, 0x04, 0x67, 0x68, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, + 0x67, 0x68, 0x49, 0x64, 0x22, 0x58, 0x0a, 0x18, 0x57, 0x78, 0x47, 0x65, 0x74, 0x4f, 0x70, 0x65, + 0x6e, 0x49, 0x64, 0x42, 0x79, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, + 0x63, 0x6f, 0x64, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x67, 0x68, + 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x67, 0x68, 0x49, 0x64, 0x22, 0x33, + 0x0a, 0x19, 0x57, 0x78, 0x47, 0x65, 0x74, 0x4f, 0x70, 0x65, 0x6e, 0x49, 0x64, 0x42, 0x79, 0x43, + 0x6f, 0x64, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x6f, + 0x70, 0x65, 0x6e, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6f, 0x70, 0x65, + 0x6e, 0x49, 0x64, 0x22, 0x33, 0x0a, 0x19, 0x57, 0x78, 0x42, 0x6f, 0x78, 0x54, 0x65, 0x6c, 0x4e, + 0x75, 0x6d, 0x42, 0x79, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x16, 0x0a, 0x06, 0x74, 0x65, 0x6c, 0x4e, 0x75, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x06, 0x74, 0x65, 0x6c, 0x4e, 0x75, 0x6d, 0x22, 0xb8, 0x01, 0x0a, 0x0d, 0x57, 0x78, 0x42, + 0x6f, 0x78, 0x55, 0x73, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x70, + 0x65, 0x6e, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6f, 0x70, 0x65, 0x6e, + 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x67, 0x68, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x04, 0x67, 0x68, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x73, 0x4e, 0x65, 0x77, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x69, 0x73, 0x4e, 0x65, 0x77, 0x12, 0x25, 0x0a, 0x04, + 0x75, 0x73, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x61, 0x63, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x04, 0x75, + 0x73, 0x65, 0x72, 0x12, 0x1a, 0x0a, 0x08, 0x77, 0x78, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, + 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x77, 0x78, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, + 0x22, 0x0a, 0x03, 0x66, 0x64, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x61, + 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x46, 0x64, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x03, + 0x66, 0x64, 0x64, 0x22, 0x7b, 0x0a, 0x07, 0x46, 0x64, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x0e, + 0x0a, 0x02, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x49, 0x44, 0x12, 0x1e, + 0x0a, 0x0a, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0a, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, 0x49, 0x64, 0x12, 0x1a, + 0x0a, 0x08, 0x69, 0x73, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, + 0x52, 0x08, 0x69, 0x73, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x12, 0x24, 0x0a, 0x0d, 0x74, 0x72, + 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x6f, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0d, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x6f, + 0x22, 0xea, 0x02, 0x0a, 0x08, 0x55, 0x73, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x0e, 0x0a, + 0x02, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x49, 0x44, 0x12, 0x1a, 0x0a, + 0x08, 0x6e, 0x69, 0x63, 0x6b, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x08, 0x6e, 0x69, 0x63, 0x6b, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x74, 0x65, 0x6c, + 0x4e, 0x75, 0x6d, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x74, 0x65, 0x6c, 0x4e, 0x75, + 0x6d, 0x12, 0x16, 0x0a, 0x06, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x18, 0x07, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x06, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x41, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x63, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x41, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x72, 0x65, 0x61, 0x6c, 0x4e, 0x61, 0x6d, + 0x65, 0x49, 0x44, 0x18, 0x09, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0a, 0x72, 0x65, 0x61, 0x6c, 0x4e, + 0x61, 0x6d, 0x65, 0x49, 0x44, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65, 0x61, 0x6c, 0x4e, 0x61, 0x6d, + 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x72, 0x65, 0x61, 0x6c, 0x4e, 0x61, 0x6d, + 0x65, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x44, 0x4e, 0x75, 0x6d, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x05, 0x69, 0x44, 0x4e, 0x75, 0x6d, 0x12, 0x16, 0x0a, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, + 0x6e, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, + 0x1e, 0x0a, 0x0a, 0x72, 0x65, 0x61, 0x6c, 0x49, 0x44, 0x49, 0x6d, 0x67, 0x41, 0x18, 0x11, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0a, 0x72, 0x65, 0x61, 0x6c, 0x49, 0x44, 0x49, 0x6d, 0x67, 0x41, 0x12, + 0x1e, 0x0a, 0x0a, 0x72, 0x65, 0x61, 0x6c, 0x49, 0x44, 0x49, 0x6d, 0x67, 0x42, 0x18, 0x12, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0a, 0x72, 0x65, 0x61, 0x6c, 0x49, 0x44, 0x49, 0x6d, 0x67, 0x42, 0x12, + 0x26, 0x0a, 0x0e, 0x72, 0x65, 0x61, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x49, 0x44, 0x4e, 0x61, 0x6d, + 0x65, 0x18, 0x13, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x72, 0x65, 0x61, 0x6c, 0x4e, 0x61, 0x6d, + 0x65, 0x49, 0x44, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x69, 0x64, 0x65, 0x6f, + 0x18, 0x14, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x69, 0x64, 0x65, 0x6f, 0x22, 0x1f, 0x0a, + 0x0d, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, + 0x0a, 0x02, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x49, 0x44, 0x22, 0x20, + 0x0a, 0x0c, 0x57, 0x78, 0x41, 0x70, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x10, + 0x0a, 0x04, 0x47, 0x68, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x49, 0x44, + 0x22, 0x43, 0x0a, 0x0d, 0x57, 0x78, 0x41, 0x70, 0x70, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x14, 0x0a, 0x05, 0x41, 0x70, 0x70, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x05, 0x61, 0x70, 0x70, 0x49, 0x44, 0x12, 0x1c, 0x0a, 0x09, 0x41, 0x70, 0x70, 0x53, 0x65, + 0x63, 0x72, 0x65, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x61, 0x70, 0x70, 0x53, + 0x65, 0x63, 0x72, 0x65, 0x74, 0x22, 0x5b, 0x0a, 0x13, 0x57, 0x78, 0x55, 0x73, 0x65, 0x72, 0x55, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2c, 0x0a, 0x04, + 0x77, 0x78, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x42, 0x18, 0xe2, 0xdf, 0x1f, 0x14, + 0x2a, 0x10, 0xe7, 0xbc, 0xba, 0xe5, 0xb0, 0x91, 0xe5, 0x8f, 0x82, 0xe6, 0x95, 0xb0, 0x77, 0x78, + 0x49, 0x44, 0x58, 0x01, 0x52, 0x04, 0x77, 0x78, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x75, 0x73, + 0x65, 0x72, 0x49, 0x44, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, + 0x49, 0x44, 0x22, 0x73, 0x0a, 0x15, 0x57, 0x78, 0x55, 0x73, 0x65, 0x72, 0x4f, 0x72, 0x43, 0x72, + 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2c, 0x0a, 0x06, 0x4f, + 0x70, 0x65, 0x6e, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x14, 0xe2, 0xdf, 0x1f, + 0x10, 0x2a, 0x0c, 0xe7, 0xbc, 0xba, 0xe5, 0xb0, 0x91, 0x6f, 0x70, 0x65, 0x6e, 0x69, 0x64, 0x58, + 0x01, 0x52, 0x06, 0x6f, 0x70, 0x65, 0x6e, 0x49, 0x44, 0x12, 0x2c, 0x0a, 0x04, 0x47, 0x68, 0x49, + 0x44, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x18, 0xe2, 0xdf, 0x1f, 0x14, 0x2a, 0x10, 0xe7, + 0xbc, 0xba, 0xe5, 0xb0, 0x91, 0xe5, 0x8f, 0x82, 0xe6, 0x95, 0xb0, 0x67, 0x68, 0x69, 0x64, 0x58, + 0x01, 0x52, 0x04, 0x67, 0x68, 0x49, 0x44, 0x22, 0x80, 0x01, 0x0a, 0x0e, 0x57, 0x78, 0x55, 0x73, + 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x4f, 0x70, + 0x65, 0x6e, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6f, 0x70, 0x65, 0x6e, + 0x49, 0x44, 0x12, 0x16, 0x0a, 0x06, 0x55, 0x73, 0x65, 0x72, 0x49, 0x44, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x0d, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x44, 0x12, 0x12, 0x0a, 0x04, 0x47, 0x68, + 0x49, 0x44, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x67, 0x68, 0x49, 0x44, 0x12, 0x1a, + 0x0a, 0x08, 0x52, 0x6f, 0x6c, 0x65, 0x41, 0x75, 0x74, 0x68, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x08, 0x72, 0x6f, 0x6c, 0x65, 0x41, 0x75, 0x74, 0x68, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x44, + 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x02, 0x49, 0x44, 0x22, 0x3a, 0x0a, 0x11, 0x4c, 0x6f, + 0x67, 0x69, 0x6e, 0x4c, 0x6f, 0x67, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x25, 0x0a, 0x04, 0x44, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x11, 0x2e, + 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x4c, 0x6f, 0x67, + 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0x9c, 0x02, 0x0a, 0x08, 0x4c, 0x6f, 0x67, 0x69, 0x6e, + 0x4c, 0x6f, 0x67, 0x12, 0x16, 0x0a, 0x06, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x0e, 0x0a, 0x02, 0x49, + 0x44, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x49, 0x44, 0x12, 0x16, 0x0a, 0x06, 0x55, + 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x75, 0x73, 0x65, + 0x72, 0x49, 0x64, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x70, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x02, 0x69, 0x70, 0x12, 0x14, 0x0a, 0x05, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x05, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x53, 0x74, 0x61, + 0x74, 0x75, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, + 0x73, 0x12, 0x1e, 0x0a, 0x0a, 0x45, 0x78, 0x70, 0x69, 0x72, 0x65, 0x44, 0x61, 0x74, 0x65, 0x18, + 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x44, 0x61, 0x74, + 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x4c, 0x61, 0x73, 0x74, 0x44, 0x61, 0x74, 0x65, 0x18, 0x08, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x08, 0x6c, 0x61, 0x73, 0x74, 0x44, 0x61, 0x74, 0x65, 0x12, 0x1e, 0x0a, + 0x0a, 0x4c, 0x6f, 0x67, 0x6f, 0x75, 0x74, 0x44, 0x61, 0x74, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0a, 0x6c, 0x6f, 0x67, 0x6f, 0x75, 0x74, 0x44, 0x61, 0x74, 0x65, 0x12, 0x1c, 0x0a, + 0x09, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x41, + 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x64, + 0x64, 0x72, 0x65, 0x73, 0x73, 0x22, 0x3e, 0x0a, 0x14, 0x4f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x4c, + 0x6f, 0x67, 0x42, 0x79, 0x49, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, + 0x06, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x64, + 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x44, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x04, 0x52, 0x02, 0x49, 0x44, 0x22, 0x4b, 0x0a, 0x19, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x49, 0x6e, + 0x66, 0x6f, 0x73, 0x42, 0x79, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x55, 0x73, + 0x65, 0x72, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, + 0x49, 0x64, 0x22, 0xca, 0x01, 0x0a, 0x17, 0x53, 0x65, 0x6e, 0x64, 0x4e, 0x65, 0x77, 0x54, 0x65, + 0x6c, 0x4e, 0x75, 0x6d, 0x4d, 0x73, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x25, + 0x0a, 0x06, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, + 0xe2, 0xdf, 0x1f, 0x09, 0x2a, 0x05, 0x37, 0x30, 0x30, 0x30, 0x31, 0x58, 0x01, 0x52, 0x06, 0x64, + 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x24, 0x0a, 0x02, 0x49, 0x44, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x04, 0x42, 0x14, 0xe2, 0xdf, 0x1f, 0x10, 0x2a, 0x0c, 0xe7, 0xbc, 0xba, 0xe5, 0xb0, 0x91, 0xe5, + 0x8f, 0x82, 0xe6, 0x95, 0xb0, 0x58, 0x01, 0x52, 0x02, 0x49, 0x44, 0x12, 0x1c, 0x0a, 0x09, 0x4e, + 0x65, 0x77, 0x54, 0x65, 0x6c, 0x4e, 0x75, 0x6d, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, + 0x6e, 0x65, 0x77, 0x54, 0x65, 0x6c, 0x4e, 0x75, 0x6d, 0x12, 0x12, 0x0a, 0x04, 0x43, 0x6f, 0x64, + 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x18, 0x0a, + 0x07, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, + 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x69, 0x67, 0x6e, 0x4e, + 0x6f, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x73, 0x69, 0x67, 0x6e, 0x4e, 0x6f, 0x22, + 0x4b, 0x0a, 0x10, 0x55, 0x73, 0x65, 0x72, 0x42, 0x79, 0x54, 0x65, 0x6c, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x12, 0x25, 0x0a, 0x06, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe2, 0xdf, 0x1f, 0x09, 0x2a, 0x05, 0x37, 0x30, 0x30, 0x30, 0x31, + 0x58, 0x01, 0x52, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x10, 0x0a, 0x03, 0x54, 0x65, + 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x74, 0x65, 0x6c, 0x22, 0x10, 0x0a, 0x0e, + 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x4e, + 0x0a, 0x11, 0x55, 0x73, 0x65, 0x72, 0x73, 0x42, 0x79, 0x54, 0x65, 0x6c, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x12, 0x25, 0x0a, 0x06, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe2, 0xdf, 0x1f, 0x09, 0x2a, 0x05, 0x37, 0x30, 0x30, 0x30, 0x31, + 0x58, 0x01, 0x52, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x54, 0x65, + 0x6c, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, 0x74, 0x65, 0x6c, 0x73, 0x22, 0xdd, + 0x01, 0x0a, 0x10, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x79, 0x49, 0x44, 0x73, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x12, 0x25, 0x0a, 0x06, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe2, 0xdf, 0x1f, 0x09, 0x2a, 0x05, 0x37, 0x30, 0x30, 0x30, 0x31, + 0x58, 0x01, 0x52, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x10, 0x0a, 0x03, 0x49, 0x44, + 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x04, 0x52, 0x03, 0x49, 0x44, 0x73, 0x12, 0x1c, 0x0a, 0x09, + 0x4f, 0x72, 0x64, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, + 0x09, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x50, 0x61, + 0x67, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x04, 0x70, 0x61, 0x67, 0x65, 0x12, 0x1a, + 0x0a, 0x08, 0x50, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, + 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x4e, 0x69, + 0x63, 0x6b, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6e, 0x69, + 0x63, 0x6b, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x26, 0x0a, 0x0e, 0x49, 0x6e, 0x76, 0x69, 0x74, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x07, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0e, + 0x69, 0x6e, 0x76, 0x69, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x64, 0x65, 0x22, 0xc1, + 0x01, 0x0a, 0x0e, 0x53, 0x65, 0x6e, 0x64, 0x4d, 0x73, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x12, 0x25, 0x0a, 0x06, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x0d, 0xe2, 0xdf, 0x1f, 0x09, 0x2a, 0x05, 0x37, 0x30, 0x30, 0x30, 0x31, 0x58, 0x01, + 0x52, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x2e, 0x0a, 0x06, 0x54, 0x65, 0x6c, 0x4e, + 0x75, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x16, 0xe2, 0xdf, 0x1f, 0x12, 0x0a, 0x09, + 0x5e, 0x31, 0x5c, 0x64, 0x7b, 0x31, 0x30, 0x7d, 0x24, 0x2a, 0x05, 0x37, 0x30, 0x30, 0x30, 0x32, + 0x52, 0x06, 0x74, 0x65, 0x6c, 0x4e, 0x75, 0x6d, 0x12, 0x18, 0x0a, 0x07, 0x50, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x69, 0x67, 0x6e, 0x4e, 0x6f, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x0d, 0x52, 0x06, 0x73, 0x69, 0x67, 0x6e, 0x4e, 0x6f, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x49, + 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x03, 0x6d, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, + 0x73, 0x63, 0x6f, 0x70, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x63, 0x6f, + 0x70, 0x65, 0x22, 0xed, 0x01, 0x0a, 0x14, 0x53, 0x65, 0x6e, 0x64, 0x43, 0x75, 0x73, 0x74, 0x6f, + 0x6d, 0x4d, 0x73, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x25, 0x0a, 0x06, 0x44, + 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe2, 0xdf, 0x1f, + 0x09, 0x2a, 0x05, 0x37, 0x30, 0x30, 0x30, 0x31, 0x58, 0x01, 0x52, 0x06, 0x64, 0x6f, 0x6d, 0x61, + 0x69, 0x6e, 0x12, 0x2e, 0x0a, 0x06, 0x54, 0x65, 0x6c, 0x4e, 0x75, 0x6d, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x42, 0x16, 0xe2, 0xdf, 0x1f, 0x12, 0x0a, 0x09, 0x5e, 0x31, 0x5c, 0x64, 0x7b, 0x31, + 0x30, 0x7d, 0x24, 0x2a, 0x05, 0x37, 0x30, 0x30, 0x30, 0x32, 0x52, 0x06, 0x74, 0x65, 0x6c, 0x4e, + 0x75, 0x6d, 0x12, 0x18, 0x0a, 0x07, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x10, 0x0a, 0x03, + 0x55, 0x72, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x55, 0x72, 0x6c, 0x12, 0x0e, + 0x0a, 0x02, 0x49, 0x44, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x49, 0x44, 0x12, 0x10, + 0x0a, 0x03, 0x4d, 0x49, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x04, 0x52, 0x03, 0x6d, 0x49, 0x64, + 0x12, 0x1a, 0x0a, 0x08, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x07, 0x20, 0x01, + 0x28, 0x04, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x14, 0x0a, 0x05, + 0x53, 0x69, 0x67, 0x4e, 0x6f, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x73, 0x69, 0x67, + 0x4e, 0x6f, 0x22, 0xa1, 0x01, 0x0a, 0x0f, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x4d, 0x73, 0x67, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x25, 0x0a, 0x06, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe2, 0xdf, 0x1f, 0x09, 0x2a, 0x05, 0x37, 0x30, + 0x30, 0x30, 0x31, 0x58, 0x01, 0x52, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x2e, 0x0a, + 0x06, 0x54, 0x65, 0x6c, 0x4e, 0x75, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x16, 0xe2, + 0xdf, 0x1f, 0x12, 0x0a, 0x09, 0x5e, 0x31, 0x5c, 0x64, 0x7b, 0x31, 0x30, 0x7d, 0x24, 0x2a, 0x05, + 0x37, 0x30, 0x30, 0x30, 0x32, 0x52, 0x06, 0x74, 0x65, 0x6c, 0x4e, 0x75, 0x6d, 0x12, 0x21, 0x0a, + 0x04, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe2, 0xdf, 0x1f, + 0x09, 0x2a, 0x05, 0x37, 0x30, 0x30, 0x30, 0x33, 0x58, 0x01, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, + 0x12, 0x14, 0x0a, 0x05, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x05, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x22, 0x17, 0x0a, 0x15, 0x53, 0x65, 0x6e, 0x64, 0x4d, 0x73, + 0x67, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, + 0x69, 0x0a, 0x0d, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x12, 0x25, 0x0a, 0x06, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x42, 0x0d, 0xe2, 0xdf, 0x1f, 0x09, 0x2a, 0x05, 0x37, 0x30, 0x30, 0x30, 0x31, 0x58, 0x01, 0x52, + 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x1d, 0x0a, 0x02, 0x49, 0x44, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x04, 0x42, 0x0d, 0xe2, 0xdf, 0x1f, 0x09, 0x10, 0x00, 0x2a, 0x05, 0x37, 0x30, 0x30, + 0x30, 0x34, 0x52, 0x02, 0x49, 0x44, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x22, 0x93, 0x03, 0x0a, 0x0f, 0x57, + 0x72, 0x69, 0x74, 0x65, 0x4f, 0x66, 0x66, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, + 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x69, 0x64, 0x12, 0x16, + 0x0a, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, + 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x10, + 0x0a, 0x03, 0x74, 0x65, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x74, 0x65, 0x6c, + 0x12, 0x16, 0x0a, 0x06, 0x6a, 0x6f, 0x6e, 0x4e, 0x75, 0x6d, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x06, 0x6a, 0x6f, 0x6e, 0x4e, 0x75, 0x6d, 0x12, 0x1a, 0x0a, 0x08, 0x75, 0x73, 0x65, 0x72, + 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x75, 0x73, 0x65, 0x72, + 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x44, 0x61, 0x74, + 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x44, 0x61, + 0x74, 0x65, 0x12, 0x22, 0x0a, 0x0c, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x61, + 0x6d, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, + 0x6f, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, + 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0a, 0x70, 0x6f, 0x73, 0x69, + 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x69, 0x74, 0x65, 0x4e, 0x61, + 0x6d, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x73, 0x69, 0x74, 0x65, 0x4e, 0x61, + 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x69, 0x74, 0x65, 0x49, 0x64, 0x18, 0x0b, 0x20, 0x01, + 0x28, 0x04, 0x52, 0x06, 0x73, 0x69, 0x74, 0x65, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x75, + 0x74, 0x68, 0x55, 0x72, 0x6c, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x75, 0x74, + 0x68, 0x55, 0x72, 0x6c, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x0d, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, + 0x75, 0x73, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, + 0x12, 0x1e, 0x0a, 0x0a, 0x73, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x44, 0x61, 0x74, 0x65, 0x18, 0x0f, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x44, 0x61, 0x74, 0x65, + 0x22, 0xd5, 0x01, 0x0a, 0x13, 0x57, 0x72, 0x69, 0x74, 0x65, 0x4f, 0x66, 0x66, 0x4c, 0x69, 0x73, + 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x67, 0x65, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x04, 0x70, 0x61, 0x67, 0x65, 0x12, 0x1a, 0x0a, 0x08, + 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, + 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x64, 0x6f, 0x6d, 0x61, + 0x69, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, + 0x12, 0x1a, 0x0a, 0x08, 0x75, 0x73, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x08, 0x75, 0x73, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, + 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x75, 0x73, + 0x65, 0x72, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x69, 0x74, 0x65, 0x49, 0x64, 0x18, 0x06, + 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x73, 0x69, 0x74, 0x65, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, + 0x74, 0x79, 0x70, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, + 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, + 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x40, 0x0a, 0x16, 0x57, 0x72, 0x69, 0x74, + 0x65, 0x4f, 0x66, 0x66, 0x41, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, + 0x69, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x0d, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x6a, 0x0a, 0x14, 0x57, 0x72, + 0x69, 0x74, 0x65, 0x4f, 0x66, 0x66, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x03, 0x52, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x12, 0x3c, 0x0a, 0x0c, 0x77, 0x72, 0x69, 0x74, + 0x65, 0x4f, 0x66, 0x66, 0x4c, 0x69, 0x73, 0x74, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, + 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x57, 0x72, 0x69, 0x74, 0x65, 0x4f, 0x66, + 0x66, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x0c, 0x77, 0x72, 0x69, 0x74, 0x65, 0x4f, + 0x66, 0x66, 0x4c, 0x69, 0x73, 0x74, 0x22, 0x10, 0x0a, 0x0e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xef, 0x05, 0x0a, 0x0d, 0x55, 0x70, 0x64, + 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x44, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x49, 0x44, 0x12, 0x25, 0x0a, 0x06, 0x44, 0x6f, + 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe2, 0xdf, 0x1f, 0x09, + 0x2a, 0x05, 0x37, 0x30, 0x30, 0x30, 0x31, 0x58, 0x01, 0x52, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, + 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x4e, 0x69, 0x63, 0x6b, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x08, 0x6e, 0x69, 0x63, 0x6b, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1a, 0x0a, + 0x08, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x08, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x41, 0x76, 0x61, + 0x74, 0x61, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x61, 0x76, 0x61, 0x74, 0x61, + 0x72, 0x12, 0x16, 0x0a, 0x06, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x54, 0x65, 0x6c, + 0x4e, 0x75, 0x6d, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x74, 0x65, 0x6c, 0x4e, 0x75, + 0x6d, 0x12, 0x1c, 0x0a, 0x09, 0x45, 0x6e, 0x74, 0x65, 0x72, 0x44, 0x61, 0x74, 0x65, 0x18, 0x0e, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x44, 0x61, 0x74, 0x65, 0x12, + 0x27, 0x0a, 0x06, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x64, 0x18, 0x11, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x0f, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x64, + 0x52, 0x06, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x54, 0x69, 0x74, 0x6c, + 0x65, 0x18, 0x12, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x12, 0x16, + 0x0a, 0x06, 0x4a, 0x6f, 0x62, 0x4e, 0x75, 0x6d, 0x18, 0x13, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, + 0x6a, 0x6f, 0x62, 0x4e, 0x75, 0x6d, 0x12, 0x1c, 0x0a, 0x09, 0x42, 0x69, 0x72, 0x74, 0x68, 0x44, + 0x61, 0x74, 0x65, 0x18, 0x14, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x62, 0x69, 0x72, 0x74, 0x68, + 0x44, 0x61, 0x74, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x53, 0x65, 0x78, 0x18, 0x15, 0x20, 0x01, 0x28, + 0x04, 0x52, 0x03, 0x73, 0x65, 0x78, 0x12, 0x14, 0x0a, 0x05, 0x49, 0x64, 0x4e, 0x75, 0x6d, 0x18, + 0x16, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x69, 0x64, 0x4e, 0x75, 0x6d, 0x12, 0x1a, 0x0a, 0x08, + 0x52, 0x65, 0x61, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x17, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, + 0x72, 0x65, 0x61, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x26, 0x0a, 0x0e, 0x49, 0x6e, 0x76, 0x69, + 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x18, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0e, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x64, 0x65, + 0x12, 0x1a, 0x0a, 0x08, 0x4c, 0x65, 0x66, 0x74, 0x44, 0x61, 0x74, 0x65, 0x18, 0x19, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x08, 0x6c, 0x65, 0x66, 0x74, 0x44, 0x61, 0x74, 0x65, 0x12, 0x16, 0x0a, 0x06, + 0x52, 0x65, 0x6d, 0x61, 0x72, 0x6b, 0x18, 0x1a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x65, + 0x6d, 0x61, 0x72, 0x6b, 0x12, 0x1c, 0x0a, 0x09, 0x52, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x49, 0x6d, + 0x67, 0x18, 0x1b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x72, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x49, + 0x6d, 0x67, 0x12, 0x14, 0x0a, 0x05, 0x49, 0x43, 0x4e, 0x75, 0x6d, 0x18, 0x1c, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x05, 0x69, 0x63, 0x4e, 0x75, 0x6d, 0x12, 0x14, 0x0a, 0x05, 0x54, 0x72, 0x61, 0x69, + 0x6e, 0x18, 0x1d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x12, 0x20, + 0x0a, 0x0b, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x18, 0x1e, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, + 0x12, 0x35, 0x0a, 0x0b, 0x54, 0x72, 0x61, 0x69, 0x6e, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x73, 0x18, + 0x1f, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, + 0x74, 0x72, 0x61, 0x69, 0x6e, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x52, 0x0b, 0x74, 0x72, 0x61, 0x69, + 0x6e, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x73, 0x12, 0x2d, 0x0a, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, + 0x74, 0x6f, 0x72, 0x18, 0x20, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x61, 0x63, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x52, 0x08, 0x6f, 0x70, + 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x22, 0x0a, 0x0c, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, + 0x74, 0x79, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x21, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x65, + 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x43, 0x6f, 0x64, 0x65, 0x22, 0x2e, 0x0a, 0x08, 0x4f, 0x70, + 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0d, 0x52, 0x02, 0x49, 0x44, 0x12, 0x12, 0x0a, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x82, 0x01, 0x0a, 0x0a, 0x74, + 0x72, 0x61, 0x69, 0x6e, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x72, 0x61, + 0x69, 0x6e, 0x55, 0x55, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x74, 0x72, + 0x61, 0x69, 0x6e, 0x55, 0x55, 0x49, 0x44, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x72, 0x61, 0x69, 0x6e, + 0x44, 0x65, 0x73, 0x63, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x74, 0x72, 0x61, 0x69, + 0x6e, 0x44, 0x65, 0x73, 0x63, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x69, 0x64, 0x65, 0x6f, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x69, 0x64, 0x65, 0x6f, 0x12, 0x22, 0x0a, 0x0c, 0x53, + 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x1f, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0c, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x43, 0x6f, 0x64, 0x65, 0x22, + 0x10, 0x0a, 0x0e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x22, 0x6f, 0x0a, 0x12, 0x50, 0x72, 0x69, 0x76, 0x61, 0x63, 0x79, 0x49, 0x6e, 0x66, 0x6f, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x44, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x04, 0x52, 0x02, 0x49, 0x44, 0x12, 0x25, 0x0a, 0x06, 0x44, 0x6f, 0x6d, 0x61, 0x69, + 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe2, 0xdf, 0x1f, 0x09, 0x2a, 0x05, 0x37, + 0x30, 0x30, 0x30, 0x31, 0x58, 0x01, 0x52, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x22, + 0x0a, 0x0c, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x43, 0x6f, + 0x64, 0x65, 0x22, 0xf2, 0x01, 0x0a, 0x0b, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x25, 0x0a, 0x06, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x42, 0x0d, 0xe2, 0xdf, 0x1f, 0x09, 0x2a, 0x05, 0x37, 0x30, 0x30, 0x30, 0x31, 0x58, + 0x01, 0x52, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x50, 0x61, 0x67, + 0x65, 0x53, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x70, 0x61, 0x67, + 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x50, 0x61, 0x67, 0x65, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x04, 0x52, 0x04, 0x70, 0x61, 0x67, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x16, 0x0a, 0x06, 0x73, + 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, + 0x74, 0x75, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x74, 0x65, 0x6c, 0x4e, 0x75, 0x6d, 0x18, 0x06, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x06, 0x74, 0x65, 0x6c, 0x4e, 0x75, 0x6d, 0x12, 0x26, 0x0a, 0x0e, 0x73, + 0x74, 0x61, 0x72, 0x74, 0x45, 0x6e, 0x74, 0x65, 0x72, 0x44, 0x61, 0x74, 0x65, 0x18, 0x07, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0e, 0x73, 0x74, 0x61, 0x72, 0x74, 0x45, 0x6e, 0x74, 0x65, 0x72, 0x44, + 0x61, 0x74, 0x65, 0x12, 0x22, 0x0a, 0x0c, 0x65, 0x6e, 0x64, 0x45, 0x6e, 0x74, 0x65, 0x72, 0x44, + 0x61, 0x74, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x65, 0x6e, 0x64, 0x45, 0x6e, + 0x74, 0x65, 0x72, 0x44, 0x61, 0x74, 0x65, 0x22, 0x82, 0x01, 0x0a, 0x0c, 0x4c, 0x69, 0x73, 0x74, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x53, 0x74, 0x61, 0x74, + 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, + 0x12, 0x14, 0x0a, 0x05, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, + 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x28, 0x0a, 0x04, 0x44, 0x61, 0x74, 0x61, 0x18, 0x03, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x41, + 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, + 0x12, 0x1a, 0x0a, 0x08, 0x41, 0x6c, 0x6c, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x04, 0x52, 0x08, 0x61, 0x6c, 0x6c, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0x5a, 0x0a, 0x0b, + 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x25, 0x0a, 0x06, 0x44, + 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe2, 0xdf, 0x1f, + 0x09, 0x2a, 0x05, 0x37, 0x30, 0x30, 0x30, 0x31, 0x58, 0x01, 0x52, 0x06, 0x64, 0x6f, 0x6d, 0x61, + 0x69, 0x6e, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x44, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, + 0x69, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x63, 0x65, 0x6e, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x05, 0x73, 0x63, 0x65, 0x6e, 0x65, 0x22, 0x71, 0x0a, 0x0c, 0x49, 0x6e, 0x66, 0x6f, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x53, 0x74, 0x61, 0x74, + 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, + 0x12, 0x2f, 0x0a, 0x04, 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, + 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0b, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x6e, 0x66, + 0x6f, 0x12, 0x18, 0x0a, 0x07, 0x49, 0x73, 0x45, 0x78, 0x69, 0x73, 0x74, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x08, 0x52, 0x07, 0x69, 0x73, 0x45, 0x78, 0x69, 0x73, 0x74, 0x22, 0x90, 0x01, 0x0a, 0x12, + 0x44, 0x65, 0x63, 0x72, 0x79, 0x70, 0x74, 0x4a, 0x77, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x44, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x69, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x41, 0x63, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x63, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x4e, 0x69, 0x63, 0x6b, 0x4e, 0x61, 0x6d, 0x65, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6e, 0x69, 0x63, 0x6b, 0x4e, 0x61, 0x6d, 0x65, + 0x12, 0x1c, 0x0a, 0x09, 0x49, 0x73, 0x4f, 0x66, 0x66, 0x6c, 0x69, 0x6e, 0x65, 0x18, 0x05, 0x20, + 0x01, 0x28, 0x08, 0x52, 0x09, 0x69, 0x73, 0x4f, 0x66, 0x66, 0x6c, 0x69, 0x6e, 0x65, 0x22, 0x41, + 0x0a, 0x11, 0x44, 0x65, 0x63, 0x72, 0x79, 0x70, 0x74, 0x4a, 0x77, 0x74, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x44, 0x6f, 0x6d, + 0x61, 0x69, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x44, 0x6f, 0x6d, 0x61, 0x69, + 0x6e, 0x22, 0x43, 0x0a, 0x0f, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x50, 0x77, 0x64, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x50, 0x61, + 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x61, + 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x22, 0x67, 0x0a, 0x15, 0x41, 0x75, 0x74, 0x68, 0x65, 0x6e, + 0x74, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, + 0x12, 0x0a, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, + 0x61, 0x6d, 0x65, 0x12, 0x24, 0x0a, 0x05, 0x49, 0x44, 0x4e, 0x75, 0x6d, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x42, 0x0e, 0xe2, 0xdf, 0x1f, 0x0a, 0x2a, 0x05, 0x37, 0x30, 0x30, 0x30, 0x36, 0x80, + 0x01, 0x12, 0x52, 0x05, 0x69, 0x64, 0x4e, 0x75, 0x6d, 0x12, 0x14, 0x0a, 0x05, 0x54, 0x6f, 0x6b, + 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x22, + 0x51, 0x0a, 0x0d, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, + 0x12, 0x16, 0x0a, 0x06, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x44, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x49, 0x44, 0x12, 0x18, 0x0a, 0x07, 0x69, 0x73, 0x45, 0x78, + 0x69, 0x73, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x69, 0x73, 0x45, 0x78, 0x69, + 0x73, 0x74, 0x22, 0x8f, 0x01, 0x0a, 0x0d, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x16, 0x0a, 0x06, + 0x74, 0x65, 0x6c, 0x4e, 0x75, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x74, 0x65, + 0x6c, 0x4e, 0x75, 0x6d, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, + 0x65, 0x73, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, + 0x73, 0x73, 0x12, 0x20, 0x0a, 0x0b, 0x74, 0x65, 0x6c, 0x41, 0x72, 0x65, 0x61, 0x43, 0x6f, 0x64, + 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x74, 0x65, 0x6c, 0x41, 0x72, 0x65, 0x61, + 0x43, 0x6f, 0x64, 0x65, 0x22, 0xc7, 0x01, 0x0a, 0x0c, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x25, 0x0a, 0x06, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xe2, 0xdf, 0x1f, 0x09, 0x2a, 0x05, 0x37, 0x30, 0x30, + 0x30, 0x31, 0x58, 0x01, 0x52, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x2e, 0x0a, 0x06, + 0x54, 0x65, 0x6c, 0x4e, 0x75, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x16, 0xe2, 0xdf, + 0x1f, 0x12, 0x0a, 0x09, 0x5e, 0x31, 0x5c, 0x64, 0x7b, 0x31, 0x30, 0x7d, 0x24, 0x2a, 0x05, 0x37, + 0x30, 0x30, 0x30, 0x32, 0x52, 0x06, 0x74, 0x65, 0x6c, 0x4e, 0x75, 0x6d, 0x12, 0x12, 0x0a, 0x04, + 0x43, 0x6f, 0x64, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, + 0x12, 0x1a, 0x0a, 0x08, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x08, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x12, 0x0e, 0x0a, 0x02, + 0x49, 0x70, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x70, 0x12, 0x20, 0x0a, 0x0b, + 0x70, 0x61, 0x73, 0x73, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x49, 0x70, 0x18, 0x06, 0x20, 0x01, 0x28, + 0x08, 0x52, 0x0b, 0x70, 0x61, 0x73, 0x73, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x49, 0x70, 0x22, 0xc2, + 0x01, 0x0a, 0x09, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x36, 0x0a, 0x0b, + 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x14, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x41, 0x63, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0b, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x14, 0x0a, 0x05, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x1d, 0x0a, 0x0c, 0x52, 0x65, + 0x66, 0x72, 0x65, 0x73, 0x68, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x07, 0x72, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x12, 0x28, 0x0a, 0x0f, 0x49, 0x73, 0x53, + 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x08, 0x52, 0x0f, 0x69, 0x73, 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x41, 0x64, 0x64, 0x72, + 0x65, 0x73, 0x73, 0x12, 0x1e, 0x0a, 0x0a, 0x6e, 0x6f, 0x77, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, + 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6e, 0x6f, 0x77, 0x41, 0x64, 0x64, 0x72, + 0x65, 0x73, 0x73, 0x22, 0x78, 0x0a, 0x06, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x64, 0x12, 0x16, 0x0a, + 0x06, 0x4a, 0x75, 0x6d, 0x70, 0x54, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6a, + 0x75, 0x6d, 0x70, 0x54, 0x6f, 0x12, 0x12, 0x0a, 0x04, 0x4c, 0x61, 0x6e, 0x67, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x04, 0x6c, 0x61, 0x6e, 0x67, 0x12, 0x18, 0x0a, 0x07, 0x43, 0x61, 0x6e, + 0x53, 0x63, 0x61, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x63, 0x61, 0x6e, 0x53, + 0x63, 0x61, 0x6e, 0x12, 0x28, 0x0a, 0x0f, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x75, 0x74, 0x69, 0x6f, + 0x6e, 0x52, 0x61, 0x74, 0x69, 0x6f, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x72, 0x65, + 0x73, 0x6f, 0x6c, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x61, 0x74, 0x69, 0x6f, 0x22, 0x30, 0x0a, + 0x0a, 0x44, 0x65, 0x70, 0x61, 0x72, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x49, + 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x49, 0x44, 0x12, 0x12, 0x0a, 0x04, 0x4e, + 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, + 0xa1, 0x0a, 0x0a, 0x0b, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, + 0x0e, 0x0a, 0x02, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x69, 0x64, 0x12, + 0x18, 0x0a, 0x07, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x07, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x4e, 0x69, 0x63, + 0x6b, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6e, 0x69, 0x63, + 0x6b, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x54, 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x03, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x54, 0x65, 0x6c, + 0x4e, 0x75, 0x6d, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x74, 0x65, 0x6c, 0x4e, 0x75, + 0x6d, 0x12, 0x16, 0x0a, 0x06, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x41, 0x76, 0x61, + 0x74, 0x61, 0x72, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x61, 0x76, 0x61, 0x74, 0x61, + 0x72, 0x12, 0x1a, 0x0a, 0x08, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x74, 0x18, 0x08, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x08, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x74, 0x12, 0x1e, 0x0a, + 0x0a, 0x52, 0x65, 0x61, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x49, 0x44, 0x18, 0x09, 0x20, 0x01, 0x28, + 0x04, 0x52, 0x0a, 0x72, 0x65, 0x61, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x49, 0x44, 0x12, 0x1a, 0x0a, + 0x08, 0x52, 0x65, 0x61, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x08, 0x72, 0x65, 0x61, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x49, 0x44, 0x4e, + 0x75, 0x6d, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x69, 0x44, 0x4e, 0x75, 0x6d, 0x12, + 0x24, 0x0a, 0x0d, 0x4d, 0x6e, 0x65, 0x6d, 0x6f, 0x6e, 0x69, 0x63, 0x57, 0x6f, 0x72, 0x64, 0x73, + 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6d, 0x6e, 0x65, 0x6d, 0x6f, 0x6e, 0x69, 0x63, + 0x57, 0x6f, 0x72, 0x64, 0x73, 0x12, 0x22, 0x0a, 0x0c, 0x49, 0x73, 0x4e, 0x65, 0x65, 0x64, 0x43, + 0x68, 0x61, 0x6e, 0x67, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0c, 0x69, 0x73, 0x4e, + 0x65, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x45, 0x6e, 0x74, + 0x65, 0x72, 0x44, 0x61, 0x74, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x65, 0x6e, + 0x74, 0x65, 0x72, 0x44, 0x61, 0x74, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x57, 0x6f, 0x72, 0x6b, 0x59, + 0x65, 0x61, 0x72, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x02, 0x52, 0x08, 0x77, 0x6f, 0x72, 0x6b, 0x59, + 0x65, 0x61, 0x72, 0x12, 0x16, 0x0a, 0x06, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x10, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x27, 0x0a, 0x06, 0x45, + 0x78, 0x74, 0x65, 0x6e, 0x64, 0x18, 0x11, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x61, 0x63, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x64, 0x52, 0x06, 0x65, 0x78, + 0x74, 0x65, 0x6e, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x4a, 0x6f, 0x62, 0x4e, 0x75, 0x6d, 0x18, 0x12, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6a, 0x6f, 0x62, 0x4e, 0x75, 0x6d, 0x12, 0x1d, 0x0a, 0x09, + 0x42, 0x69, 0x72, 0x74, 0x68, 0x44, 0x61, 0x74, 0x65, 0x18, 0x13, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0a, 0x62, 0x69, 0x72, 0x74, 0x68, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x41, + 0x67, 0x65, 0x18, 0x14, 0x20, 0x01, 0x28, 0x04, 0x52, 0x03, 0x61, 0x67, 0x65, 0x12, 0x10, 0x0a, + 0x03, 0x53, 0x65, 0x78, 0x18, 0x15, 0x20, 0x01, 0x28, 0x04, 0x52, 0x03, 0x73, 0x65, 0x78, 0x12, + 0x14, 0x0a, 0x05, 0x54, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x16, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, + 0x74, 0x69, 0x74, 0x6c, 0x65, 0x12, 0x35, 0x0a, 0x0b, 0x44, 0x65, 0x70, 0x61, 0x72, 0x74, 0x6d, + 0x65, 0x6e, 0x74, 0x73, 0x18, 0x17, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x61, 0x63, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x44, 0x65, 0x70, 0x61, 0x72, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x52, + 0x0b, 0x64, 0x65, 0x70, 0x61, 0x72, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x0e, 0x0a, 0x02, + 0x49, 0x70, 0x18, 0x18, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x70, 0x12, 0x1c, 0x0a, 0x09, + 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x44, 0x61, 0x74, 0x65, 0x18, 0x19, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x09, 0x6c, 0x6f, 0x67, 0x69, 0x6e, 0x44, 0x61, 0x74, 0x65, 0x12, 0x26, 0x0a, 0x0e, 0x49, 0x6e, + 0x76, 0x69, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x1a, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0e, 0x69, 0x6e, 0x76, 0x69, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, + 0x64, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x4e, 0x6f, 0x77, 0x4c, 0x6f, 0x67, 0x49, 0x64, 0x18, 0x1b, + 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x6e, 0x6f, 0x77, 0x4c, 0x6f, 0x67, 0x49, 0x64, 0x12, 0x18, + 0x0a, 0x07, 0x43, 0x61, 0x6e, 0x53, 0x63, 0x61, 0x6e, 0x18, 0x1c, 0x20, 0x01, 0x28, 0x08, 0x52, + 0x07, 0x63, 0x61, 0x6e, 0x53, 0x63, 0x61, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x4c, 0x65, 0x66, 0x74, + 0x44, 0x61, 0x74, 0x65, 0x18, 0x1d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6c, 0x65, 0x66, 0x74, + 0x44, 0x61, 0x74, 0x65, 0x12, 0x33, 0x0a, 0x09, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x18, 0x1e, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x2e, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x55, 0x73, 0x65, 0x72, 0x52, 0x09, + 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x52, 0x65, 0x6d, + 0x61, 0x72, 0x6b, 0x18, 0x1f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x65, 0x6d, 0x61, 0x72, + 0x6b, 0x12, 0x1c, 0x0a, 0x09, 0x72, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x49, 0x6d, 0x67, 0x18, 0x20, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x72, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x49, 0x6d, 0x67, 0x12, + 0x2a, 0x0a, 0x06, 0x63, 0x6c, 0x6f, 0x63, 0x6b, 0x73, 0x18, 0x21, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x12, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x43, 0x6c, 0x6f, 0x63, 0x6b, 0x55, + 0x73, 0x65, 0x72, 0x52, 0x06, 0x63, 0x6c, 0x6f, 0x63, 0x6b, 0x73, 0x12, 0x20, 0x0a, 0x0b, 0x6d, + 0x61, 0x69, 0x6c, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x22, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0b, 0x6d, 0x61, 0x69, 0x6c, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x14, 0x0a, + 0x05, 0x49, 0x43, 0x4e, 0x75, 0x6d, 0x18, 0x23, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x69, 0x63, + 0x4e, 0x75, 0x6d, 0x12, 0x20, 0x0a, 0x0b, 0x65, 0x6e, 0x67, 0x6c, 0x69, 0x73, 0x68, 0x4e, 0x61, + 0x6d, 0x65, 0x18, 0x24, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x65, 0x6e, 0x67, 0x6c, 0x69, 0x73, + 0x68, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x54, 0x72, 0x61, 0x69, 0x6e, 0x18, 0x25, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x12, 0x20, 0x0a, 0x0b, 0x43, + 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x18, 0x26, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0b, 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x12, 0x35, 0x0a, + 0x0b, 0x54, 0x72, 0x61, 0x69, 0x6e, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x73, 0x18, 0x27, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x74, 0x72, 0x61, + 0x69, 0x6e, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x52, 0x0b, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x56, 0x69, + 0x64, 0x65, 0x6f, 0x73, 0x12, 0x2d, 0x0a, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, + 0x18, 0x28, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x52, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, + 0x74, 0x6f, 0x72, 0x12, 0x1c, 0x0a, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, + 0x18, 0x29, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, + 0x74, 0x12, 0x22, 0x0a, 0x0c, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x43, 0x6f, 0x64, + 0x65, 0x18, 0x2a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, + 0x79, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x41, 0x64, + 0x64, 0x72, 0x18, 0x2b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x41, + 0x64, 0x64, 0x72, 0x22, 0xd4, 0x03, 0x0a, 0x0a, 0x55, 0x73, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, + 0x56, 0x32, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, + 0x49, 0x44, 0x12, 0x18, 0x0a, 0x07, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x07, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1a, 0x0a, 0x08, + 0x4e, 0x69, 0x63, 0x6b, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, + 0x4e, 0x69, 0x63, 0x6b, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x54, 0x65, 0x6c, 0x4e, + 0x75, 0x6d, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x54, 0x65, 0x6c, 0x4e, 0x75, 0x6d, + 0x12, 0x16, 0x0a, 0x06, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x06, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x41, 0x76, 0x61, 0x74, + 0x61, 0x72, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x41, 0x76, 0x61, 0x74, 0x61, 0x72, + 0x12, 0x1a, 0x0a, 0x08, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x74, 0x18, 0x07, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x08, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x74, 0x12, 0x1a, 0x0a, 0x08, + 0x52, 0x65, 0x61, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, + 0x52, 0x65, 0x61, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x49, 0x44, 0x4e, 0x75, + 0x6d, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x49, 0x44, 0x4e, 0x75, 0x6d, 0x12, 0x1c, + 0x0a, 0x09, 0x45, 0x6e, 0x74, 0x65, 0x72, 0x44, 0x61, 0x74, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x09, 0x45, 0x6e, 0x74, 0x65, 0x72, 0x44, 0x61, 0x74, 0x65, 0x12, 0x27, 0x0a, 0x06, + 0x45, 0x78, 0x74, 0x65, 0x6e, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x61, + 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x64, 0x52, 0x06, 0x45, + 0x78, 0x74, 0x65, 0x6e, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x4a, 0x6f, 0x62, 0x4e, 0x75, 0x6d, 0x18, + 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x4a, 0x6f, 0x62, 0x4e, 0x75, 0x6d, 0x12, 0x1c, 0x0a, + 0x09, 0x72, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x49, 0x6d, 0x67, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x09, 0x72, 0x65, 0x63, 0x65, 0x6e, 0x74, 0x49, 0x6d, 0x67, 0x12, 0x20, 0x0a, 0x0b, 0x6d, + 0x61, 0x69, 0x6c, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0b, 0x6d, 0x61, 0x69, 0x6c, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x2d, 0x0a, + 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x11, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, + 0x6f, 0x72, 0x52, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x1c, 0x0a, 0x09, + 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x18, 0x10, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x22, 0x61, 0x0a, 0x13, 0x52, 0x65, + 0x66, 0x72, 0x65, 0x73, 0x68, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x12, 0x22, 0x0a, 0x0c, 0x72, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x54, 0x6f, 0x6b, 0x65, + 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x72, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, + 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x0e, 0x0a, + 0x02, 0x69, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x70, 0x22, 0xfa, 0x01, + 0x0a, 0x0c, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x55, 0x73, 0x65, 0x72, 0x12, 0x1e, + 0x0a, 0x0a, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x04, 0x52, 0x0a, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x12, 0x22, + 0x0a, 0x0c, 0x50, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x61, + 0x6d, 0x65, 0x12, 0x22, 0x0a, 0x0c, 0x44, 0x65, 0x70, 0x61, 0x72, 0x74, 0x6d, 0x65, 0x6e, 0x74, + 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0c, 0x64, 0x65, 0x70, 0x61, 0x72, 0x74, + 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x26, 0x0a, 0x0e, 0x44, 0x65, 0x70, 0x61, 0x72, 0x74, + 0x6d, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, + 0x64, 0x65, 0x70, 0x61, 0x72, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x26, + 0x0a, 0x0e, 0x44, 0x65, 0x70, 0x61, 0x72, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x4e, 0x61, 0x6d, 0x65, + 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x64, 0x65, 0x70, 0x61, 0x72, 0x74, 0x6d, 0x65, + 0x6e, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, + 0x18, 0x06, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x1a, + 0x0a, 0x08, 0x55, 0x73, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x08, 0x75, 0x73, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x46, 0x0a, 0x14, 0x4a, 0x6f, + 0x62, 0x4e, 0x75, 0x6d, 0x47, 0x65, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x6a, 0x6f, 0x62, 0x4e, 0x75, 0x6d, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x06, 0x6a, 0x6f, 0x62, 0x4e, 0x75, 0x6d, 0x12, 0x16, 0x0a, 0x06, 0x64, 0x6f, + 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x64, 0x6f, 0x6d, 0x61, + 0x69, 0x6e, 0x22, 0x78, 0x0a, 0x18, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x6f, 0x63, + 0x6b, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1c, + 0x0a, 0x09, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x4e, 0x75, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x09, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x4e, 0x75, 0x6d, 0x12, 0x1e, 0x0a, 0x0a, + 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0a, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1e, 0x0a, 0x0a, + 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x53, 0x69, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0a, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x53, 0x69, 0x74, 0x65, 0x22, 0x88, 0x01, 0x0a, + 0x18, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x6f, 0x63, 0x6b, 0x44, 0x65, 0x76, 0x69, + 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x64, 0x65, 0x76, + 0x69, 0x63, 0x65, 0x4e, 0x75, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x64, 0x65, + 0x76, 0x69, 0x63, 0x65, 0x4e, 0x75, 0x6d, 0x12, 0x1e, 0x0a, 0x0a, 0x64, 0x65, 0x76, 0x69, 0x63, + 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x64, 0x65, 0x76, + 0x69, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x64, 0x65, 0x76, 0x69, 0x63, + 0x65, 0x53, 0x69, 0x74, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x64, 0x65, 0x76, + 0x69, 0x63, 0x65, 0x53, 0x69, 0x74, 0x65, 0x22, 0x25, 0x0a, 0x13, 0x43, 0x6c, 0x6f, 0x63, 0x6b, + 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x0e, + 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x69, 0x64, 0x22, 0x2a, + 0x0a, 0x18, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x43, 0x6c, 0x6f, 0x63, 0x6b, 0x44, 0x65, 0x76, + 0x69, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x69, 0x64, 0x22, 0xc8, 0x01, 0x0a, 0x16, 0x43, + 0x6c, 0x6f, 0x63, 0x6b, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x04, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x53, + 0x69, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x64, 0x65, 0x76, 0x69, 0x63, + 0x65, 0x53, 0x69, 0x74, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x4e, + 0x75, 0x6d, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, + 0x4e, 0x75, 0x6d, 0x12, 0x1e, 0x0a, 0x0a, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x4e, 0x61, 0x6d, + 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x4e, + 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x67, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, + 0x04, 0x52, 0x04, 0x70, 0x61, 0x67, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, + 0x69, 0x7a, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, + 0x69, 0x7a, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x69, 0x64, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x04, + 0x52, 0x03, 0x69, 0x64, 0x73, 0x22, 0x5d, 0x0a, 0x17, 0x43, 0x6c, 0x6f, 0x63, 0x6b, 0x44, 0x65, + 0x76, 0x69, 0x63, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, + 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x2c, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x43, + 0x6c, 0x6f, 0x63, 0x6b, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x04, + 0x64, 0x61, 0x74, 0x61, 0x22, 0xf3, 0x01, 0x0a, 0x09, 0x43, 0x6c, 0x6f, 0x63, 0x6b, 0x55, 0x73, + 0x65, 0x72, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, + 0x69, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, + 0x12, 0x1c, 0x0a, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x1c, + 0x0a, 0x09, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x41, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x09, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x1a, 0x0a, 0x08, + 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x49, 0x44, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, + 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x49, 0x44, 0x12, 0x16, 0x0a, 0x06, 0x75, 0x73, 0x65, 0x72, + 0x49, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, + 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x04, + 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x30, 0x0a, 0x06, 0x64, 0x65, 0x76, 0x69, + 0x63, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, + 0x6e, 0x74, 0x2e, 0x43, 0x6c, 0x6f, 0x63, 0x6b, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x49, 0x6e, + 0x66, 0x6f, 0x52, 0x06, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x22, 0xfc, 0x01, 0x0a, 0x0f, 0x43, + 0x6c, 0x6f, 0x63, 0x6b, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x0e, + 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1a, + 0x0a, 0x08, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x08, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x75, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x41, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x75, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x41, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, + 0x53, 0x69, 0x74, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x64, 0x65, 0x76, 0x69, + 0x63, 0x65, 0x53, 0x69, 0x74, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, + 0x4e, 0x75, 0x6d, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x64, 0x65, 0x76, 0x69, 0x63, + 0x65, 0x4e, 0x75, 0x6d, 0x12, 0x1e, 0x0a, 0x0a, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x4e, 0x61, + 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, + 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x75, 0x73, 0x65, 0x72, 0x4e, 0x75, 0x6d, 0x18, + 0x07, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x75, 0x73, 0x65, 0x72, 0x4e, 0x75, 0x6d, 0x12, 0x29, + 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x61, + 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x43, 0x6c, 0x6f, 0x63, 0x6b, 0x55, 0x73, 0x65, 0x72, + 0x52, 0x65, 0x6c, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0x5a, 0x0a, 0x17, 0x43, 0x6c, 0x6f, + 0x63, 0x6b, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x04, 0x52, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x29, 0x0a, 0x04, 0x64, 0x61, + 0x74, 0x61, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, + 0x6e, 0x74, 0x2e, 0x43, 0x6c, 0x6f, 0x63, 0x6b, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x6c, 0x52, + 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0xa0, 0x01, 0x0a, 0x0c, 0x43, 0x6c, 0x6f, 0x63, 0x6b, 0x55, + 0x73, 0x65, 0x72, 0x52, 0x65, 0x6c, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x04, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, + 0x41, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, + 0x41, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x74, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x74, 0x12, 0x1a, + 0x0a, 0x08, 0x6e, 0x69, 0x63, 0x6b, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x08, 0x6e, 0x69, 0x63, 0x6b, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x6a, 0x6f, + 0x62, 0x4e, 0x75, 0x6d, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6a, 0x6f, 0x62, 0x4e, + 0x75, 0x6d, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x63, 0x4e, 0x75, 0x6d, 0x18, 0x06, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x05, 0x69, 0x63, 0x4e, 0x75, 0x6d, 0x22, 0x58, 0x0a, 0x16, 0x43, 0x6c, 0x6f, 0x63, + 0x6b, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, + 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, + 0x52, 0x04, 0x70, 0x61, 0x67, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, + 0x7a, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, + 0x7a, 0x65, 0x22, 0x5b, 0x0a, 0x15, 0x43, 0x6c, 0x6f, 0x63, 0x6b, 0x42, 0x61, 0x74, 0x63, 0x68, + 0x42, 0x69, 0x6e, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, + 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x69, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x75, + 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, 0x02, 0x20, 0x03, 0x28, 0x04, 0x52, 0x06, 0x75, 0x73, 0x65, + 0x72, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x49, 0x64, 0x18, + 0x03, 0x20, 0x03, 0x28, 0x04, 0x52, 0x08, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x49, 0x64, 0x22, + 0x4b, 0x0a, 0x16, 0x43, 0x6c, 0x6f, 0x63, 0x6b, 0x42, 0x61, 0x74, 0x63, 0x68, 0x4c, 0x69, 0x73, + 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x31, 0x0a, 0x04, 0x64, 0x61, 0x74, + 0x61, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x2e, 0x43, 0x6c, 0x6f, 0x63, 0x6b, 0x55, 0x73, 0x65, 0x72, 0x44, 0x65, 0x76, 0x69, 0x63, + 0x65, 0x42, 0x61, 0x74, 0x63, 0x68, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0xc0, 0x01, 0x0a, + 0x14, 0x43, 0x6c, 0x6f, 0x63, 0x6b, 0x55, 0x73, 0x65, 0x72, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, + 0x42, 0x61, 0x74, 0x63, 0x68, 0x12, 0x16, 0x0a, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x1a, 0x0a, + 0x08, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, + 0x08, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x4a, 0x6f, 0x62, + 0x4e, 0x75, 0x6d, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x4a, 0x6f, 0x62, 0x4e, 0x75, + 0x6d, 0x12, 0x1c, 0x0a, 0x09, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x4e, 0x75, 0x6d, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x4e, 0x75, 0x6d, 0x12, + 0x1e, 0x0a, 0x0a, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0a, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, + 0x1e, 0x0a, 0x0a, 0x77, 0x6f, 0x72, 0x6b, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x06, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0a, 0x77, 0x6f, 0x72, 0x6b, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, + 0x98, 0x04, 0x0a, 0x0c, 0x43, 0x6c, 0x6f, 0x63, 0x6b, 0x4c, 0x6f, 0x67, 0x49, 0x6e, 0x66, 0x6f, + 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x69, 0x64, + 0x12, 0x0e, 0x0a, 0x02, 0x73, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x73, 0x6e, + 0x12, 0x16, 0x0a, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x72, 0x65, 0x63, 0x6f, + 0x67, 0x54, 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x72, 0x65, 0x63, + 0x6f, 0x67, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x72, 0x65, 0x63, 0x6f, 0x67, 0x54, + 0x69, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x72, 0x65, 0x63, 0x6f, 0x67, + 0x54, 0x69, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x67, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x18, 0x06, + 0x20, 0x01, 0x28, 0x02, 0x52, 0x06, 0x67, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x12, 0x14, 0x0a, 0x05, + 0x70, 0x68, 0x6f, 0x74, 0x6f, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x70, 0x68, 0x6f, + 0x74, 0x6f, 0x12, 0x1e, 0x0a, 0x0a, 0x70, 0x61, 0x73, 0x73, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, + 0x18, 0x08, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0a, 0x70, 0x61, 0x73, 0x73, 0x53, 0x74, 0x61, 0x74, + 0x75, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x75, 0x73, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x09, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x75, 0x73, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1a, + 0x0a, 0x08, 0x75, 0x73, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x02, + 0x52, 0x08, 0x75, 0x73, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x63, 0x6f, + 0x6e, 0x66, 0x69, 0x64, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, + 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x64, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x22, 0x0a, 0x0c, 0x72, 0x65, + 0x66, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x02, + 0x52, 0x0c, 0x72, 0x65, 0x66, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x12, 0x1e, + 0x0a, 0x0a, 0x63, 0x61, 0x72, 0x64, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x0d, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0a, 0x63, 0x61, 0x72, 0x64, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x1a, + 0x0a, 0x08, 0x70, 0x61, 0x73, 0x73, 0x57, 0x6f, 0x72, 0x64, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x08, 0x70, 0x61, 0x73, 0x73, 0x57, 0x6f, 0x72, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x71, 0x72, + 0x43, 0x6f, 0x64, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x71, 0x72, 0x43, 0x6f, + 0x64, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x74, 0x65, 0x6c, 0x18, 0x10, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x03, 0x74, 0x65, 0x6c, 0x12, 0x20, 0x0a, 0x0b, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x56, 0x69, + 0x73, 0x69, 0x74, 0x18, 0x11, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x72, 0x65, 0x61, 0x73, 0x6f, + 0x6e, 0x56, 0x69, 0x73, 0x69, 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, + 0x65, 0x72, 0x54, 0x65, 0x6c, 0x18, 0x12, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x72, 0x65, 0x63, + 0x65, 0x69, 0x76, 0x65, 0x72, 0x54, 0x65, 0x6c, 0x12, 0x20, 0x0a, 0x0b, 0x6e, 0x75, 0x6d, 0x4f, + 0x66, 0x50, 0x65, 0x6f, 0x70, 0x6c, 0x65, 0x18, 0x13, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, 0x6e, + 0x75, 0x6d, 0x4f, 0x66, 0x50, 0x65, 0x6f, 0x70, 0x6c, 0x65, 0x22, 0xdb, 0x01, 0x0a, 0x0b, 0x43, + 0x6c, 0x6f, 0x63, 0x6b, 0x4c, 0x6f, 0x67, 0x52, 0x65, 0x71, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, + 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x04, 0x70, 0x61, 0x67, 0x65, 0x12, 0x1a, + 0x0a, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, + 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x75, 0x73, + 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x75, 0x73, + 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x72, 0x65, 0x63, 0x6f, 0x67, 0x54, + 0x79, 0x70, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x72, 0x65, 0x63, 0x6f, 0x67, + 0x54, 0x79, 0x70, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x4e, 0x75, + 0x6d, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x4e, + 0x75, 0x6d, 0x12, 0x1c, 0x0a, 0x09, 0x72, 0x65, 0x63, 0x6f, 0x67, 0x44, 0x61, 0x74, 0x65, 0x18, + 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x72, 0x65, 0x63, 0x6f, 0x67, 0x44, 0x61, 0x74, 0x65, + 0x12, 0x16, 0x0a, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x04, + 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x22, 0x57, 0x0a, 0x14, 0x43, 0x6c, 0x6f, 0x63, + 0x6b, 0x4c, 0x6f, 0x67, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x29, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x15, + 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x43, 0x6c, 0x6f, 0x63, 0x6b, 0x4c, 0x6f, + 0x67, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x12, 0x14, 0x0a, 0x05, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x32, 0xe4, 0x13, 0x0a, 0x07, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x34, 0x0a, + 0x05, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x12, 0x15, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x2e, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x12, 0x2e, + 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x49, 0x6e, 0x66, + 0x6f, 0x22, 0x00, 0x12, 0x42, 0x0a, 0x0c, 0x52, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x54, 0x6f, + 0x6b, 0x65, 0x6e, 0x12, 0x1c, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x52, 0x65, + 0x66, 0x72, 0x65, 0x73, 0x68, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x12, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x54, 0x6f, 0x6b, 0x65, + 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x22, 0x00, 0x12, 0x3f, 0x0a, 0x06, 0x4c, 0x6f, 0x67, 0x6f, 0x75, + 0x74, 0x12, 0x1a, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x44, 0x65, 0x63, 0x72, + 0x79, 0x70, 0x74, 0x4a, 0x77, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x17, 0x2e, + 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x3c, 0x0a, 0x07, 0x4f, 0x66, 0x66, 0x4c, + 0x69, 0x6e, 0x65, 0x12, 0x16, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x43, 0x6f, + 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x17, 0x2e, 0x61, 0x63, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x4d, 0x0a, 0x09, 0x4f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, + 0x4c, 0x6f, 0x67, 0x12, 0x22, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x4c, 0x6f, + 0x67, 0x69, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x73, 0x42, 0x79, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1a, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x2e, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x4c, 0x6f, 0x67, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x43, 0x0a, 0x0d, 0x4f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x4c, + 0x6f, 0x67, 0x42, 0x79, 0x49, 0x64, 0x12, 0x1d, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x2e, 0x4f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x4c, 0x6f, 0x67, 0x42, 0x79, 0x49, 0x64, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x11, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, + 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x4c, 0x6f, 0x67, 0x22, 0x00, 0x12, 0x3f, 0x0a, 0x08, 0x43, 0x68, + 0x65, 0x63, 0x6b, 0x50, 0x77, 0x64, 0x12, 0x18, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x2e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x50, 0x77, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x17, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x44, 0x0a, 0x07, 0x53, + 0x65, 0x6e, 0x64, 0x4d, 0x73, 0x67, 0x12, 0x17, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x2e, 0x53, 0x65, 0x6e, 0x64, 0x4d, 0x73, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x1e, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x53, 0x65, 0x6e, 0x64, 0x4d, 0x73, + 0x67, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, + 0x00, 0x12, 0x50, 0x0a, 0x0d, 0x53, 0x65, 0x6e, 0x64, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x4d, + 0x73, 0x67, 0x12, 0x1d, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x53, 0x65, 0x6e, + 0x64, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x4d, 0x73, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x1e, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x53, 0x65, 0x6e, 0x64, + 0x4d, 0x73, 0x67, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x22, 0x00, 0x12, 0x52, 0x0a, 0x0f, 0x53, 0x65, 0x6e, 0x64, 0x45, 0x78, 0x43, 0x75, 0x73, + 0x74, 0x6f, 0x6d, 0x4d, 0x73, 0x67, 0x12, 0x1d, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x2e, 0x53, 0x65, 0x6e, 0x64, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x4d, 0x73, 0x67, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, + 0x53, 0x65, 0x6e, 0x64, 0x4d, 0x73, 0x67, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x4c, 0x0a, 0x0f, 0x53, 0x65, 0x6e, 0x64, 0x4d, + 0x73, 0x67, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x12, 0x17, 0x2e, 0x61, 0x63, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x53, 0x65, 0x6e, 0x64, 0x4d, 0x73, 0x67, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x53, 0x65, + 0x6e, 0x64, 0x4d, 0x73, 0x67, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x46, 0x0a, 0x08, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x4d, 0x73, + 0x67, 0x12, 0x18, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x43, 0x68, 0x65, 0x63, + 0x6b, 0x4d, 0x73, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x61, 0x63, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x53, 0x65, 0x6e, 0x64, 0x4d, 0x73, 0x67, 0x53, 0x74, 0x61, + 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x56, 0x0a, + 0x10, 0x53, 0x65, 0x6e, 0x64, 0x4e, 0x65, 0x77, 0x54, 0x65, 0x6c, 0x4e, 0x75, 0x6d, 0x4d, 0x73, + 0x67, 0x12, 0x20, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x53, 0x65, 0x6e, 0x64, + 0x4e, 0x65, 0x77, 0x54, 0x65, 0x6c, 0x4e, 0x75, 0x6d, 0x4d, 0x73, 0x67, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x53, 0x65, + 0x6e, 0x64, 0x4d, 0x73, 0x67, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x52, 0x0a, 0x0c, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, + 0x65, 0x6c, 0x4e, 0x75, 0x6d, 0x12, 0x20, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, + 0x53, 0x65, 0x6e, 0x64, 0x4e, 0x65, 0x77, 0x54, 0x65, 0x6c, 0x4e, 0x75, 0x6d, 0x4d, 0x73, 0x67, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x2e, 0x53, 0x65, 0x6e, 0x64, 0x4d, 0x73, 0x67, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x4a, 0x0a, 0x0e, 0x41, 0x75, 0x74, + 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1e, 0x2e, 0x61, 0x63, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x41, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x61, 0x63, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x53, 0x74, 0x61, + 0x74, 0x75, 0x73, 0x22, 0x00, 0x12, 0x47, 0x0a, 0x0a, 0x44, 0x65, 0x63, 0x72, 0x79, 0x70, 0x74, + 0x4a, 0x77, 0x74, 0x12, 0x1a, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x44, 0x65, + 0x63, 0x72, 0x79, 0x70, 0x74, 0x4a, 0x77, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x1b, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x44, 0x65, 0x63, 0x72, 0x79, 0x70, + 0x74, 0x4a, 0x77, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x39, + 0x0a, 0x04, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x14, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x2e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x19, 0x2e, 0x61, + 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x47, 0x0a, 0x0d, 0x4a, 0x6f, 0x62, + 0x4e, 0x75, 0x6d, 0x47, 0x65, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1d, 0x2e, 0x61, 0x63, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x4a, 0x6f, 0x62, 0x4e, 0x75, 0x6d, 0x47, 0x65, 0x74, 0x49, 0x6e, + 0x66, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x15, 0x2e, 0x61, 0x63, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x2e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x22, 0x00, 0x12, 0x35, 0x0a, 0x04, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x14, 0x2e, 0x61, 0x63, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x15, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x39, 0x0a, 0x08, 0x52, 0x61, 0x6e, + 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x14, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, + 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x15, 0x2e, 0x61, 0x63, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x22, 0x00, 0x12, 0x3f, 0x0a, 0x09, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x79, 0x49, 0x44, + 0x73, 0x12, 0x19, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x4c, 0x69, 0x73, 0x74, + 0x42, 0x79, 0x49, 0x44, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x15, 0x2e, 0x61, + 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x3b, 0x0a, 0x06, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x12, + 0x16, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x17, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x22, 0x00, 0x12, 0x3b, 0x0a, 0x06, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0x16, 0x2e, 0x61, + 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x17, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x55, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, + 0x41, 0x0a, 0x0a, 0x55, 0x73, 0x65, 0x72, 0x73, 0x42, 0x79, 0x54, 0x65, 0x6c, 0x12, 0x1a, 0x2e, + 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x73, 0x42, 0x79, 0x54, + 0x65, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x15, 0x2e, 0x61, 0x63, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x22, 0x00, 0x12, 0x3f, 0x0a, 0x09, 0x55, 0x73, 0x65, 0x72, 0x42, 0x79, 0x54, 0x65, 0x6c, 0x12, + 0x19, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x42, 0x79, + 0x54, 0x65, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x15, 0x2e, 0x61, 0x63, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x22, 0x00, 0x12, 0x48, 0x0a, 0x0b, 0x4f, 0x6e, 0x6c, 0x79, 0x53, 0x65, 0x6e, 0x64, 0x4d, + 0x73, 0x67, 0x12, 0x17, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x53, 0x65, 0x6e, + 0x64, 0x4d, 0x73, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x61, 0x63, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x53, 0x65, 0x6e, 0x64, 0x4d, 0x73, 0x67, 0x53, 0x74, 0x61, + 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x4a, 0x0a, + 0x0c, 0x4f, 0x6e, 0x6c, 0x79, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x4d, 0x73, 0x67, 0x12, 0x18, 0x2e, + 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x4d, 0x73, 0x67, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x2e, 0x53, 0x65, 0x6e, 0x64, 0x4d, 0x73, 0x67, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x5d, 0x0a, 0x15, 0x4d, 0x61, 0x69, + 0x6c, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x42, 0x79, 0x4e, 0x69, 0x63, 0x6b, 0x4e, 0x61, + 0x6d, 0x65, 0x12, 0x25, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x4d, 0x61, 0x69, + 0x6c, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x42, 0x79, 0x4e, 0x69, 0x63, 0x6b, 0x4e, 0x61, + 0x6d, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1b, 0x2e, 0x61, 0x63, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x2e, 0x4d, 0x61, 0x69, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x39, 0x0a, 0x06, 0x4c, 0x69, 0x73, 0x74, + 0x56, 0x32, 0x12, 0x16, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x4c, 0x69, 0x73, + 0x74, 0x56, 0x32, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x15, 0x2e, 0x61, 0x63, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x22, 0x00, 0x12, 0x80, 0x01, 0x0a, 0x1d, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x65, 0x72, + 0x73, 0x6f, 0x6e, 0x6e, 0x65, 0x6c, 0x57, 0x69, 0x74, 0x68, 0x54, 0x68, 0x65, 0x53, 0x61, 0x6d, + 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x2d, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, + 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x6e, 0x65, 0x6c, 0x57, 0x69, + 0x74, 0x68, 0x54, 0x68, 0x65, 0x53, 0x61, 0x6d, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2e, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x51, + 0x75, 0x65, 0x72, 0x79, 0x50, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x6e, 0x65, 0x6c, 0x57, 0x69, 0x74, + 0x68, 0x54, 0x68, 0x65, 0x53, 0x61, 0x6d, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x47, 0x0a, 0x0d, 0x55, 0x73, 0x65, 0x72, 0x73, 0x42, + 0x79, 0x4a, 0x6f, 0x62, 0x4e, 0x75, 0x6d, 0x12, 0x1d, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x73, 0x42, 0x79, 0x4a, 0x6f, 0x62, 0x4e, 0x75, 0x6d, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x15, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, + 0x41, 0x0a, 0x08, 0x52, 0x65, 0x61, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x18, 0x2e, 0x61, 0x63, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x61, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x19, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, + 0x52, 0x65, 0x61, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x22, 0x00, 0x12, 0x3f, 0x0a, 0x08, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x12, 0x16, + 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x19, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x2e, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x22, 0x00, 0x12, 0x41, 0x0a, 0x08, 0x55, 0x73, 0x65, 0x72, 0x4c, 0x69, 0x73, 0x74, 0x12, + 0x18, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x4c, 0x69, + 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x19, 0x2e, 0x61, 0x63, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x50, 0x0a, 0x0d, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, + 0x65, 0x61, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1d, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x2e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, 0x65, 0x61, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x2e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, 0x65, 0x61, 0x6c, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x42, 0x0c, 0x5a, 0x0a, 0x2e, 0x2f, 0x3b, 0x61, + 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_api_account_account_proto_rawDescOnce sync.Once + file_api_account_account_proto_rawDescData = file_api_account_account_proto_rawDesc +) + +func file_api_account_account_proto_rawDescGZIP() []byte { + file_api_account_account_proto_rawDescOnce.Do(func() { + file_api_account_account_proto_rawDescData = protoimpl.X.CompressGZIP(file_api_account_account_proto_rawDescData) + }) + return file_api_account_account_proto_rawDescData +} + +var file_api_account_account_proto_msgTypes = make([]protoimpl.MessageInfo, 91) +var file_api_account_account_proto_goTypes = []interface{}{ + (*CheckRealNameResponse)(nil), // 0: account.CheckRealNameResponse + (*CheckRealNameRequest)(nil), // 1: account.CheckRealNameRequest + (*UserListResponse)(nil), // 2: account.UserListResponse + (*UserListInfo)(nil), // 3: account.UserListInfo + (*UserListRequest)(nil), // 4: account.UserListRequest + (*UserInfoResponse)(nil), // 5: account.UserInfoResponse + (*RealNameResponse)(nil), // 6: account.RealNameResponse + (*RealNameRequest)(nil), // 7: account.RealNameRequest + (*RegisterResponse)(nil), // 8: account.RegisterResponse + (*UsersByJobNumRequest)(nil), // 9: account.UsersByJobNumRequest + (*QueryPersonnelWithTheSameNameRequest)(nil), // 10: account.QueryPersonnelWithTheSameNameRequest + (*QueryPersonnelWithTheSameNameResponse)(nil), // 11: account.QueryPersonnelWithTheSameNameResponse + (*ListV2Request)(nil), // 12: account.ListV2Request + (*SendClockInWechatRequest)(nil), // 13: account.SendClockInWechatRequest + (*MailAccountByNickNameRequest)(nil), // 14: account.MailAccountByNickNameRequest + (*CreateMaiAccountRequest)(nil), // 15: account.CreateMaiAccountRequest + (*MaiAccountResponse)(nil), // 16: account.MaiAccountResponse + (*FddCreateUserRequest)(nil), // 17: account.FddCreateUserRequest + (*WxBoxUserInfoRequest)(nil), // 18: account.WxBoxUserInfoRequest + (*WxGetOpenIdByCodeRequest)(nil), // 19: account.WxGetOpenIdByCodeRequest + (*WxGetOpenIdByCodeResponse)(nil), // 20: account.WxGetOpenIdByCodeResponse + (*WxBoxTelNumByCodeResponse)(nil), // 21: account.WxBoxTelNumByCodeResponse + (*WxBoxUserInfo)(nil), // 22: account.WxBoxUserInfo + (*FddInfo)(nil), // 23: account.FddInfo + (*UserInfo)(nil), // 24: account.UserInfo + (*CommonRequest)(nil), // 25: account.CommonRequest + (*WxAppRequest)(nil), // 26: account.WxAppRequest + (*WxAppResponse)(nil), // 27: account.WxAppResponse + (*WxUserUpdateRequest)(nil), // 28: account.WxUserUpdateRequest + (*WxUserOrCreateRequest)(nil), // 29: account.WxUserOrCreateRequest + (*WxUserResponse)(nil), // 30: account.WxUserResponse + (*LoginLogsResponse)(nil), // 31: account.LoginLogsResponse + (*LoginLog)(nil), // 32: account.LoginLog + (*OnlineLogByIdRequest)(nil), // 33: account.OnlineLogByIdRequest + (*LoginInfosByUserIdRequest)(nil), // 34: account.LoginInfosByUserIdRequest + (*SendNewTelNumMsgRequest)(nil), // 35: account.SendNewTelNumMsgRequest + (*UserByTelRequest)(nil), // 36: account.UserByTelRequest + (*CommonResponse)(nil), // 37: account.CommonResponse + (*UsersByTelRequest)(nil), // 38: account.UsersByTelRequest + (*ListByIDsRequest)(nil), // 39: account.ListByIDsRequest + (*SendMsgRequest)(nil), // 40: account.SendMsgRequest + (*SendCustomMsgRequest)(nil), // 41: account.SendCustomMsgRequest + (*CheckMsgRequest)(nil), // 42: account.CheckMsgRequest + (*SendMsgStatusResponse)(nil), // 43: account.SendMsgStatusResponse + (*RemoveRequest)(nil), // 44: account.RemoveRequest + (*WriteOffRequest)(nil), // 45: account.WriteOffRequest + (*WriteOffListRequest)(nil), // 46: account.WriteOffListRequest + (*WriteOffApproveRequest)(nil), // 47: account.WriteOffApproveRequest + (*WriteOffListResponse)(nil), // 48: account.WriteOffListResponse + (*RemoveResponse)(nil), // 49: account.RemoveResponse + (*UpdateRequest)(nil), // 50: account.UpdateRequest + (*Operator)(nil), // 51: account.Operator + (*TrainVideo)(nil), // 52: account.trainVideo + (*UpdateResponse)(nil), // 53: account.UpdateResponse + (*PrivacyInfoRequest)(nil), // 54: account.PrivacyInfoRequest + (*ListRequest)(nil), // 55: account.ListRequest + (*ListResponse)(nil), // 56: account.ListResponse + (*InfoRequest)(nil), // 57: account.InfoRequest + (*InfoResponse)(nil), // 58: account.InfoResponse + (*DecryptJwtResponse)(nil), // 59: account.DecryptJwtResponse + (*DecryptJwtRequest)(nil), // 60: account.DecryptJwtRequest + (*CheckPwdRequest)(nil), // 61: account.CheckPwdRequest + (*AuthenticationRequest)(nil), // 62: account.AuthenticationRequest + (*RequestStatus)(nil), // 63: account.RequestStatus + (*RegistRequest)(nil), // 64: account.RegistRequest + (*LoginRequest)(nil), // 65: account.LoginRequest + (*TokenInfo)(nil), // 66: account.TokenInfo + (*Extend)(nil), // 67: account.Extend + (*Department)(nil), // 68: account.Department + (*AccountInfo)(nil), // 69: account.AccountInfo + (*UserInfoV2)(nil), // 70: account.UserInfoV2 + (*RefreshTokenRequest)(nil), // 71: account.RefreshTokenRequest + (*PositionUser)(nil), // 72: account.PositionUser + (*JobNumGetInfoRequest)(nil), // 73: account.JobNumGetInfoRequest + (*CreateClockDeviceRequest)(nil), // 74: account.CreateClockDeviceRequest + (*UpdateClockDeviceRequest)(nil), // 75: account.UpdateClockDeviceRequest + (*ClockDeviceResponse)(nil), // 76: account.ClockDeviceResponse + (*RemoveClockDeviceRequest)(nil), // 77: account.RemoveClockDeviceRequest + (*ClockDeviceListRequest)(nil), // 78: account.ClockDeviceListRequest + (*ClockDeviceListResponse)(nil), // 79: account.ClockDeviceListResponse + (*ClockUser)(nil), // 80: account.ClockUser + (*ClockDeviceInfo)(nil), // 81: account.ClockDeviceInfo + (*ClockDeviceInfoResponse)(nil), // 82: account.ClockDeviceInfoResponse + (*ClockUserRel)(nil), // 83: account.ClockUserRel + (*ClockDeviceInfoRequest)(nil), // 84: account.ClockDeviceInfoRequest + (*ClockBatchBindRequest)(nil), // 85: account.ClockBatchBindRequest + (*ClockBatchListResponse)(nil), // 86: account.ClockBatchListResponse + (*ClockUserDeviceBatch)(nil), // 87: account.ClockUserDeviceBatch + (*ClockLogInfo)(nil), // 88: account.ClockLogInfo + (*ClockLogReq)(nil), // 89: account.ClockLogReq + (*ClockLogListResponse)(nil), // 90: account.ClockLogListResponse +} +var file_api_account_account_proto_depIdxs = []int32{ + 3, // 0: account.UserListResponse.userList:type_name -> account.UserListInfo + 24, // 1: account.WxBoxUserInfo.user:type_name -> account.UserInfo + 23, // 2: account.WxBoxUserInfo.fdd:type_name -> account.FddInfo + 32, // 3: account.LoginLogsResponse.Data:type_name -> account.LoginLog + 45, // 4: account.WriteOffListResponse.writeOffList:type_name -> account.WriteOffRequest + 67, // 5: account.UpdateRequest.Extend:type_name -> account.Extend + 52, // 6: account.UpdateRequest.TrainVideos:type_name -> account.trainVideo + 51, // 7: account.UpdateRequest.operator:type_name -> account.Operator + 69, // 8: account.ListResponse.Data:type_name -> account.AccountInfo + 69, // 9: account.InfoResponse.Info:type_name -> account.AccountInfo + 69, // 10: account.TokenInfo.AccountInfo:type_name -> account.AccountInfo + 67, // 11: account.AccountInfo.Extend:type_name -> account.Extend + 68, // 12: account.AccountInfo.Departments:type_name -> account.Department + 72, // 13: account.AccountInfo.Positions:type_name -> account.PositionUser + 80, // 14: account.AccountInfo.clocks:type_name -> account.ClockUser + 52, // 15: account.AccountInfo.TrainVideos:type_name -> account.trainVideo + 51, // 16: account.AccountInfo.operator:type_name -> account.Operator + 67, // 17: account.UserInfoV2.Extend:type_name -> account.Extend + 51, // 18: account.UserInfoV2.operator:type_name -> account.Operator + 81, // 19: account.ClockDeviceListResponse.data:type_name -> account.ClockDeviceInfo + 81, // 20: account.ClockUser.device:type_name -> account.ClockDeviceInfo + 83, // 21: account.ClockDeviceInfo.data:type_name -> account.ClockUserRel + 83, // 22: account.ClockDeviceInfoResponse.data:type_name -> account.ClockUserRel + 87, // 23: account.ClockBatchListResponse.data:type_name -> account.ClockUserDeviceBatch + 88, // 24: account.ClockLogListResponse.data:type_name -> account.ClockLogInfo + 65, // 25: account.Account.Login:input_type -> account.LoginRequest + 71, // 26: account.Account.RefreshToken:input_type -> account.RefreshTokenRequest + 60, // 27: account.Account.Logout:input_type -> account.DecryptJwtRequest + 25, // 28: account.Account.OffLine:input_type -> account.CommonRequest + 34, // 29: account.Account.OnlineLog:input_type -> account.LoginInfosByUserIdRequest + 33, // 30: account.Account.OnlineLogById:input_type -> account.OnlineLogByIdRequest + 61, // 31: account.Account.CheckPwd:input_type -> account.CheckPwdRequest + 40, // 32: account.Account.SendMsg:input_type -> account.SendMsgRequest + 41, // 33: account.Account.SendCustomMsg:input_type -> account.SendCustomMsgRequest + 41, // 34: account.Account.SendExCustomMsg:input_type -> account.SendCustomMsgRequest + 40, // 35: account.Account.SendMsgRegister:input_type -> account.SendMsgRequest + 42, // 36: account.Account.CheckMsg:input_type -> account.CheckMsgRequest + 35, // 37: account.Account.SendNewTelNumMsg:input_type -> account.SendNewTelNumMsgRequest + 35, // 38: account.Account.UpdateTelNum:input_type -> account.SendNewTelNumMsgRequest + 62, // 39: account.Account.Authentication:input_type -> account.AuthenticationRequest + 60, // 40: account.Account.DecryptJwt:input_type -> account.DecryptJwtRequest + 57, // 41: account.Account.Info:input_type -> account.InfoRequest + 73, // 42: account.Account.JobNumGetInfo:input_type -> account.JobNumGetInfoRequest + 55, // 43: account.Account.List:input_type -> account.ListRequest + 55, // 44: account.Account.RandList:input_type -> account.ListRequest + 39, // 45: account.Account.ListByIDs:input_type -> account.ListByIDsRequest + 44, // 46: account.Account.Remove:input_type -> account.RemoveRequest + 50, // 47: account.Account.Update:input_type -> account.UpdateRequest + 38, // 48: account.Account.UsersByTel:input_type -> account.UsersByTelRequest + 36, // 49: account.Account.UserByTel:input_type -> account.UserByTelRequest + 40, // 50: account.Account.OnlySendMsg:input_type -> account.SendMsgRequest + 42, // 51: account.Account.OnlyCheckMsg:input_type -> account.CheckMsgRequest + 14, // 52: account.Account.MailAccountByNickName:input_type -> account.MailAccountByNickNameRequest + 12, // 53: account.Account.ListV2:input_type -> account.ListV2Request + 10, // 54: account.Account.QueryPersonnelWithTheSameName:input_type -> account.QueryPersonnelWithTheSameNameRequest + 9, // 55: account.Account.UsersByJobNum:input_type -> account.UsersByJobNumRequest + 7, // 56: account.Account.RealName:input_type -> account.RealNameRequest + 64, // 57: account.Account.Register:input_type -> account.RegistRequest + 4, // 58: account.Account.UserList:input_type -> account.UserListRequest + 1, // 59: account.Account.CheckRealName:input_type -> account.CheckRealNameRequest + 66, // 60: account.Account.Login:output_type -> account.TokenInfo + 66, // 61: account.Account.RefreshToken:output_type -> account.TokenInfo + 37, // 62: account.Account.Logout:output_type -> account.CommonResponse + 37, // 63: account.Account.OffLine:output_type -> account.CommonResponse + 31, // 64: account.Account.OnlineLog:output_type -> account.LoginLogsResponse + 32, // 65: account.Account.OnlineLogById:output_type -> account.LoginLog + 53, // 66: account.Account.CheckPwd:output_type -> account.UpdateResponse + 43, // 67: account.Account.SendMsg:output_type -> account.SendMsgStatusResponse + 43, // 68: account.Account.SendCustomMsg:output_type -> account.SendMsgStatusResponse + 43, // 69: account.Account.SendExCustomMsg:output_type -> account.SendMsgStatusResponse + 43, // 70: account.Account.SendMsgRegister:output_type -> account.SendMsgStatusResponse + 43, // 71: account.Account.CheckMsg:output_type -> account.SendMsgStatusResponse + 43, // 72: account.Account.SendNewTelNumMsg:output_type -> account.SendMsgStatusResponse + 43, // 73: account.Account.UpdateTelNum:output_type -> account.SendMsgStatusResponse + 63, // 74: account.Account.Authentication:output_type -> account.RequestStatus + 59, // 75: account.Account.DecryptJwt:output_type -> account.DecryptJwtResponse + 5, // 76: account.Account.Info:output_type -> account.UserInfoResponse + 58, // 77: account.Account.JobNumGetInfo:output_type -> account.InfoResponse + 56, // 78: account.Account.List:output_type -> account.ListResponse + 56, // 79: account.Account.RandList:output_type -> account.ListResponse + 56, // 80: account.Account.ListByIDs:output_type -> account.ListResponse + 49, // 81: account.Account.Remove:output_type -> account.RemoveResponse + 53, // 82: account.Account.Update:output_type -> account.UpdateResponse + 56, // 83: account.Account.UsersByTel:output_type -> account.ListResponse + 58, // 84: account.Account.UserByTel:output_type -> account.InfoResponse + 43, // 85: account.Account.OnlySendMsg:output_type -> account.SendMsgStatusResponse + 43, // 86: account.Account.OnlyCheckMsg:output_type -> account.SendMsgStatusResponse + 16, // 87: account.Account.MailAccountByNickName:output_type -> account.MaiAccountResponse + 56, // 88: account.Account.ListV2:output_type -> account.ListResponse + 11, // 89: account.Account.QueryPersonnelWithTheSameName:output_type -> account.QueryPersonnelWithTheSameNameResponse + 56, // 90: account.Account.UsersByJobNum:output_type -> account.ListResponse + 6, // 91: account.Account.RealName:output_type -> account.RealNameResponse + 8, // 92: account.Account.Register:output_type -> account.RegisterResponse + 2, // 93: account.Account.UserList:output_type -> account.UserListResponse + 0, // 94: account.Account.CheckRealName:output_type -> account.CheckRealNameResponse + 60, // [60:95] is the sub-list for method output_type + 25, // [25:60] is the sub-list for method input_type + 25, // [25:25] is the sub-list for extension type_name + 25, // [25:25] is the sub-list for extension extendee + 0, // [0:25] is the sub-list for field type_name +} + +func init() { file_api_account_account_proto_init() } +func file_api_account_account_proto_init() { + if File_api_account_account_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_api_account_account_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CheckRealNameResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_account_account_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CheckRealNameRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_account_account_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UserListResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_account_account_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UserListInfo); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_account_account_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UserListRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_account_account_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UserInfoResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_account_account_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RealNameResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_account_account_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RealNameRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_account_account_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RegisterResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_account_account_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UsersByJobNumRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_account_account_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*QueryPersonnelWithTheSameNameRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_account_account_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*QueryPersonnelWithTheSameNameResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_account_account_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListV2Request); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_account_account_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SendClockInWechatRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_account_account_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MailAccountByNickNameRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_account_account_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CreateMaiAccountRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_account_account_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MaiAccountResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_account_account_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*FddCreateUserRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_account_account_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*WxBoxUserInfoRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_account_account_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*WxGetOpenIdByCodeRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_account_account_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*WxGetOpenIdByCodeResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_account_account_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*WxBoxTelNumByCodeResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_account_account_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*WxBoxUserInfo); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_account_account_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*FddInfo); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_account_account_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UserInfo); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_account_account_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CommonRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_account_account_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*WxAppRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_account_account_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*WxAppResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_account_account_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*WxUserUpdateRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_account_account_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*WxUserOrCreateRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_account_account_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*WxUserResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_account_account_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*LoginLogsResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_account_account_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*LoginLog); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_account_account_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*OnlineLogByIdRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_account_account_proto_msgTypes[34].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*LoginInfosByUserIdRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_account_account_proto_msgTypes[35].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SendNewTelNumMsgRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_account_account_proto_msgTypes[36].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UserByTelRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_account_account_proto_msgTypes[37].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CommonResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_account_account_proto_msgTypes[38].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UsersByTelRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_account_account_proto_msgTypes[39].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListByIDsRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_account_account_proto_msgTypes[40].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SendMsgRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_account_account_proto_msgTypes[41].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SendCustomMsgRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_account_account_proto_msgTypes[42].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CheckMsgRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_account_account_proto_msgTypes[43].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SendMsgStatusResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_account_account_proto_msgTypes[44].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RemoveRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_account_account_proto_msgTypes[45].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*WriteOffRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_account_account_proto_msgTypes[46].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*WriteOffListRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_account_account_proto_msgTypes[47].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*WriteOffApproveRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_account_account_proto_msgTypes[48].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*WriteOffListResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_account_account_proto_msgTypes[49].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RemoveResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_account_account_proto_msgTypes[50].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UpdateRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_account_account_proto_msgTypes[51].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Operator); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_account_account_proto_msgTypes[52].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*TrainVideo); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_account_account_proto_msgTypes[53].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UpdateResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_account_account_proto_msgTypes[54].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PrivacyInfoRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_account_account_proto_msgTypes[55].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_account_account_proto_msgTypes[56].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_account_account_proto_msgTypes[57].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*InfoRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_account_account_proto_msgTypes[58].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*InfoResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_account_account_proto_msgTypes[59].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DecryptJwtResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_account_account_proto_msgTypes[60].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DecryptJwtRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_account_account_proto_msgTypes[61].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CheckPwdRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_account_account_proto_msgTypes[62].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AuthenticationRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_account_account_proto_msgTypes[63].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RequestStatus); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_account_account_proto_msgTypes[64].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RegistRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_account_account_proto_msgTypes[65].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*LoginRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_account_account_proto_msgTypes[66].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*TokenInfo); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_account_account_proto_msgTypes[67].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Extend); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_account_account_proto_msgTypes[68].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Department); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_account_account_proto_msgTypes[69].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AccountInfo); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_account_account_proto_msgTypes[70].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UserInfoV2); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_account_account_proto_msgTypes[71].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RefreshTokenRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_account_account_proto_msgTypes[72].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PositionUser); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_account_account_proto_msgTypes[73].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*JobNumGetInfoRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_account_account_proto_msgTypes[74].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CreateClockDeviceRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_account_account_proto_msgTypes[75].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UpdateClockDeviceRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_account_account_proto_msgTypes[76].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ClockDeviceResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_account_account_proto_msgTypes[77].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RemoveClockDeviceRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_account_account_proto_msgTypes[78].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ClockDeviceListRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_account_account_proto_msgTypes[79].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ClockDeviceListResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_account_account_proto_msgTypes[80].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ClockUser); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_account_account_proto_msgTypes[81].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ClockDeviceInfo); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_account_account_proto_msgTypes[82].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ClockDeviceInfoResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_account_account_proto_msgTypes[83].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ClockUserRel); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_account_account_proto_msgTypes[84].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ClockDeviceInfoRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_account_account_proto_msgTypes[85].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ClockBatchBindRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_account_account_proto_msgTypes[86].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ClockBatchListResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_account_account_proto_msgTypes[87].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ClockUserDeviceBatch); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_account_account_proto_msgTypes[88].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ClockLogInfo); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_account_account_proto_msgTypes[89].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ClockLogReq); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_api_account_account_proto_msgTypes[90].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ClockLogListResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_api_account_account_proto_rawDesc, + NumEnums: 0, + NumMessages: 91, + NumExtensions: 0, + NumServices: 1, + }, + GoTypes: file_api_account_account_proto_goTypes, + DependencyIndexes: file_api_account_account_proto_depIdxs, + MessageInfos: file_api_account_account_proto_msgTypes, + }.Build() + File_api_account_account_proto = out.File + file_api_account_account_proto_rawDesc = nil + file_api_account_account_proto_goTypes = nil + file_api_account_account_proto_depIdxs = nil +} diff --git a/api/account/account.proto b/api/account/account.proto new file mode 100644 index 0000000..6a6af3c --- /dev/null +++ b/api/account/account.proto @@ -0,0 +1,778 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +syntax = "proto3"; +package account; +import "github.com/mwitkow/go-proto-validators@v0.3.2/validator.proto"; + +option go_package = "./;account"; + +service Account { + rpc Login (LoginRequest) returns (TokenInfo) {} + rpc RefreshToken (RefreshTokenRequest) returns (TokenInfo) {} //刷新token + rpc Logout (DecryptJwtRequest) returns (CommonResponse) {} + rpc OffLine (CommonRequest) returns (CommonResponse) {} + rpc OnlineLog (LoginInfosByUserIdRequest) returns (LoginLogsResponse) {}//根据用户id获取登录的信息 + rpc OnlineLogById (OnlineLogByIdRequest) returns (LoginLog) {}//根据用户id获取登录的信息 + rpc CheckPwd (CheckPwdRequest) returns (UpdateResponse) {}//检测密码是否正确 +// rpc RegisterOrExist (RegistRequest) returns (RequestStatus) {} + rpc SendMsg (SendMsgRequest) returns (SendMsgStatusResponse) {} //登陆发送验证码 + rpc SendCustomMsg (SendCustomMsgRequest) returns (SendMsgStatusResponse) {}//定制化发送内容 + rpc SendExCustomMsg (SendCustomMsgRequest) returns (SendMsgStatusResponse) {}//定制化发送内容 + rpc SendMsgRegister (SendMsgRequest) returns (SendMsgStatusResponse) {}//注册发送 + rpc CheckMsg (CheckMsgRequest) returns (SendMsgStatusResponse) {} + rpc SendNewTelNumMsg (SendNewTelNumMsgRequest) returns (SendMsgStatusResponse) {}//发送新账号验证码,不携带新号码 + rpc UpdateTelNum (SendNewTelNumMsgRequest) returns (SendMsgStatusResponse) {}//更新新手机号,校验新号码验证码 + rpc Authentication (AuthenticationRequest) returns (RequestStatus) {} + rpc DecryptJwt (DecryptJwtRequest) returns (DecryptJwtResponse) {}//最好放在调用方 + rpc Info (InfoRequest) returns (UserInfoResponse) {} + rpc JobNumGetInfo (JobNumGetInfoRequest) returns (InfoResponse) {} + rpc List (ListRequest) returns (ListResponse) {} + rpc RandList (ListRequest) returns (ListResponse) {} + rpc ListByIDs (ListByIDsRequest) returns (ListResponse) {} + rpc Remove (RemoveRequest) returns (RemoveResponse) {} + rpc Update (UpdateRequest) returns (UpdateResponse) {} + rpc UsersByTel (UsersByTelRequest) returns (ListResponse) {} + rpc UserByTel (UserByTelRequest) returns (InfoResponse) {} + rpc OnlySendMsg (SendMsgRequest) returns (SendMsgStatusResponse) {} //仅发验证码 + rpc OnlyCheckMsg (CheckMsgRequest) returns (SendMsgStatusResponse) {}//仅校验之前发送的验证码 + rpc MailAccountByNickName(MailAccountByNickNameRequest) returns(MaiAccountResponse){} //根据昵称姓名获取昵称的邮箱和拼音名称 + rpc ListV2 (ListV2Request) returns (ListResponse) {}// 新版列表 查询 + rpc QueryPersonnelWithTheSameName (QueryPersonnelWithTheSameNameRequest) returns (QueryPersonnelWithTheSameNameResponse) {}// 查询同名的员工 + rpc UsersByJobNum (UsersByJobNumRequest) returns (ListResponse) {} + rpc RealName (RealNameRequest) returns (RealNameResponse) {}//实名认证 + rpc Register (RegistRequest) returns (RegisterResponse) {}//注册 + rpc UserList (UserListRequest) returns (UserListResponse) {}//用户列表 + rpc CheckRealName (CheckRealNameRequest) returns (CheckRealNameResponse) {}//审核实名 +} +message CheckRealNameResponse{ + uint64 id =1; + string status =2; +} +message CheckRealNameRequest{ + uint64 id = 1; + bool pass = 2; + string notPassRemarks = 3; +} +message UserListResponse{ + uint64 count = 1; + uint64 page = 2; + uint64 pageSize = 3; + repeated UserListInfo userList = 4; +} +message UserListInfo{ + uint64 id = 1; + int32 status = 2; + string name = 3; + int32 sex = 4; + string nationality = 5; + int32 documentType =6; + string certificatePicture = 7; + string validity = 8; + string placeOfResidence = 9; + string groupPhoto = 10; + string attachment = 11; + string registrationTime = 12; + string auditTime = 13; + string subNum = 14; + string notPassRemarks = 15; + string telNum = 16; +} +message UserListRequest{ + string domain = 1; + string subNum = 2; + int32 realNameOrNot = 3; + string name = 4; + int32 sex = 5; + int32 documentType = 6; + int32 auditStatus = 7; + uint64 page = 8; + uint64 pageSize = 9; +} +message UserInfoResponse{ + uint64 id = 1; + int32 status = 2; + string name = 3; + int32 sex = 4; + string nationality = 5; + int32 documentType =6; + string certificatePicture = 7; + string validity = 8; + string placeOfResidence = 9; + string groupPhoto = 10; + string attachment = 11; + string subNum = 12; + string notPassRemarks = 13; +} +message RealNameResponse{ + uint64 id = 1; + string status = 2; +} +message RealNameRequest{ + uint64 id = 1; + string name = 2; + int32 sex = 3; + string nationality = 4; + int32 documentType = 5; + string certificatePicture = 6; + string validity = 7; + string placeOfResidence = 8; + string groupPhoto = 9; + string attachment = 10; +} +message RegisterResponse{ + uint64 ID = 1; + uint64 status = 2; + string token = 3; +} +message UsersByJobNumRequest{ + string domain = 1 ; + repeated string jobNum =2 ; +} +message QueryPersonnelWithTheSameNameRequest{ + repeated string names = 1 ; + string domain = 2 ; + string status = 3 ; +} +message QueryPersonnelWithTheSameNameResponse{ + repeated string names = 1 ; + uint64 count = 2 ; +} +message ListV2Request { + string domain = 1 [json_name = "domain",(validator.field) = {string_not_empty: true,human_error: "70001"} ]; + uint64 pageSize = 2 ; + uint64 page = 3 ; + string key = 4 ; + string nickName = 5; + string telNum = 6 ; + string status = 7 ; + string positionName = 8 ; + string jobNum = 9 ; + string mailAccount = 10 ; + string startEnterDate = 11 ; + string endEnterDate = 12 ; + uint32 positionId = 13 ; + uint32 departmentId = 14 ; + string departmentName =15 ; + repeated string departmentNames =16 ; + repeated uint32 positionIds =17 ; + repeated uint32 departmentIds =18 ; +} + +message SendClockInWechatRequest { + string domain = 1; + string telNum =2; + string operatedAt =3; + string clockType =4; + uint32 userId =5; + string ghId =6; + string address =7; + uint64 logId = 8; +} +message MailAccountByNickNameRequest { + string Domain = 1 [json_name = "domain",(validator.field) = {string_not_empty: true,human_error: "70001"}]; + string NickName = 2 [json_name = "nickName",(validator.field) = {length_lt: 20,string_not_empty: true,human_error: "70005"}]; + uint32 ID = 3 ; +} + +message CreateMaiAccountRequest { + uint32 ID = 1 ; + string nickName = 2; + string domain = 3 ; +} + +message MaiAccountResponse { + string englishName = 1 ; + string mailAccount = 2; +} + +message FddCreateUserRequest { + string openid = 1 ; + uint32 wxUserId = 2; + //string UserId = 3; + string customerId = 4; + bool isVerify = 5; + string transactionNo = 6; +} + +message WxBoxUserInfoRequest { + string openid = 2 ; + string ghId = 3; +} + +message WxGetOpenIdByCodeRequest { + string code = 1 ; + string state = 2 ; + string ghId = 3; +} + +message WxGetOpenIdByCodeResponse { + string openId = 1 ; +} + +message WxBoxTelNumByCodeResponse { + string telNum = 1 ; +} + +message WxBoxUserInfo { + string openId = 1 ; + string ghId = 2 ; + bool isNew = 3 ; + UserInfo user = 4 ; + uint32 wxUserId = 5 ; + FddInfo fdd = 6 ; +} + +message FddInfo { + uint64 ID = 1 ; + string customerId = 2 ; + bool isVerify = 3 ; + string transactionNo = 4; +} + +message UserInfo { + uint64 ID = 1 ; + string nickName = 3 ; + string telNum = 5 ; + string avatar = 7 ; + string createAt = 8 ; + uint64 realNameID = 9 ; + string realName = 10; + string iDNum = 11; + string domain = 12; + string realIDImgA = 17; + string realIDImgB = 18; + string realNameIDName = 19; + string video = 20; +} + +message CommonRequest { + uint64 ID = 1 [json_name = "ID"]; +} + +message WxAppRequest { + string GhId = 1 [json_name = "ID"]; +} + +message WxAppResponse { + string AppID = 1 [json_name = "appID"]; + string AppSecret = 2 [json_name = "appSecret"]; +} + +message WxUserUpdateRequest { + uint32 wxID = 1 [json_name = "wxId" ,(validator.field) = {string_not_empty: true,human_error: "缺少参数wxID"} ]; + uint32 userID = 2 [json_name = "userID"]; +} + +message WxUserOrCreateRequest { + string OpenID = 1 [json_name = "openID" ,(validator.field) = {string_not_empty: true,human_error: "缺少openid"} ]; + string GhID = 2 [json_name = "ghID" ,(validator.field) = {string_not_empty: true,human_error: "缺少参数ghid"} ]; +} + +message WxUserResponse { + string OpenID = 1 [json_name = "openID"]; + uint32 UserID = 2 [json_name = "userID"]; + string GhID = 3 [json_name = "ghID"]; + string RoleAuth = 4 [json_name = "roleAuth"]; + uint32 ID = 5 [json_name = "ID"]; +} + + +message LoginLogsResponse { + repeated LoginLog Data = 1 [json_name = "data"]; +} + +message LoginLog { + string Domain = 1 [json_name = "domain"]; + uint64 ID = 2 [json_name = "ID"]; + uint64 UserId = 3 [json_name = "userId"]; + string Ip = 4 [json_name = "ip"]; + string Token = 5 [json_name = "token"]; + uint64 Status = 6 [json_name = "status"]; + string ExpireDate = 7 [json_name = "expireDate"]; + string LastDate = 8 [json_name = "lastDate"]; + string LogoutDate = 9 [json_name = "logoutDate"]; + string CreatedAt = 10 [json_name = "createdAt"]; + string Address = 11 [json_name = "address"]; +} + +message OnlineLogByIdRequest { + string Domain = 1 [json_name = "domain"]; + uint64 ID = 2 [json_name = "ID"]; +} + +message LoginInfosByUserIdRequest { + string Domain = 1 [json_name = "domain"]; + uint64 UserId = 2 [json_name = "userId"]; +} + +message SendNewTelNumMsgRequest { + string Domain = 1 [json_name = "domain",(validator.field) = {string_not_empty: true,human_error: "70001"} ]; + uint64 ID = 2 [json_name = "ID",(validator.field) = {string_not_empty: true,human_error: "缺少参数"} ]; + string NewTelNum = 3 [json_name = "newTelNum"]; + string Code = 4 [json_name = "code"]; + string Project = 5 [json_name = "project"]; + uint32 signNo = 6 ; +} + +message UserByTelRequest { + string Domain = 1 [json_name = "domain",(validator.field) = {string_not_empty: true,human_error: "70001"} ]; + string Tel =2 [json_name = "tel"]; +} + +message CommonResponse { +} + +message UsersByTelRequest { + string Domain = 1 [json_name = "domain",(validator.field) = {string_not_empty: true,human_error: "70001"} ]; + repeated string Tels =2 [json_name = "tels"]; +} + +message ListByIDsRequest { + string Domain = 1 [json_name = "domain",(validator.field) = {string_not_empty: true,human_error: "70001"} ]; + repeated uint64 IDs = 2 [json_name = "IDs"]; + uint64 OrderType = 3 [json_name = "OrderType"]; + uint64 Page = 4 [json_name = "page"]; + uint64 PageSize = 5 [json_name = "pageSize"]; + string NickName = 6 [json_name = "nickName"]; + repeated string InvitationCode = 7 [json_name = "invitationCode"]; + +} + +message SendMsgRequest { + string Domain = 1 [json_name = "domain",(validator.field) = {string_not_empty: true,human_error: "70001"} ]; + string TelNum = 2 [json_name = "telNum",(validator.field) = {regex: "^1\\d{10}$",human_error: "70002"}]; + string Project = 3 [json_name = "project"]; + uint32 signNo = 4; + uint32 mId = 5; + string scope = 6;//标记模块 +} + +message SendCustomMsgRequest { + string Domain = 1 [json_name = "domain",(validator.field) = {string_not_empty: true,human_error: "70001"} ]; + string TelNum = 2 [json_name = "telNum",(validator.field) = {regex: "^1\\d{10}$",human_error: "70002"}]; + string Project = 3 [json_name = "project"]; + string Url = 4 [json_name = "Url"]; + uint64 ID = 5 [json_name = "ID"]; + uint64 MId = 6 [json_name = "mId"]; + uint64 Location = 7 [json_name = "location"]; + uint32 SigNo = 8 [json_name = "sigNo"]; +} + +message CheckMsgRequest { + string Domain = 1 [json_name = "domain",(validator.field) = {string_not_empty: true,human_error: "70001"} ]; + string TelNum = 2 [json_name = "telNum",(validator.field) = {regex: "^1\\d{10}$",human_error: "70002"}]; + string Code = 3 [json_name = "code",(validator.field) = {string_not_empty: true,human_error: "70003"} ]; + string scope = 4;//标记模块 +} + +message SendMsgStatusResponse { +} + +message RemoveRequest { + string Domain = 1 [json_name = "domain",(validator.field) = {string_not_empty: true,human_error: "70001"} ]; + uint64 ID = 2 [json_name = "ID",(validator.field) = {int_gt: 0,human_error: "70004"} ]; + string code = 3; +} +message WriteOffRequest{ + uint64 id = 1; + string domain = 2; + uint64 userId = 3; + string tel = 4; + string jonNum = 5; + string userName = 6; + string enterDate = 7; + string positionName =8; + uint64 positionId = 9; + string siteName = 10; + uint64 siteId =11; + string authUrl =12; + string type =13; + uint32 status =14; + string submitDate=15; +} +message WriteOffListRequest{ + uint64 page = 1; + uint64 pageSize =2; + string domain = 3; + string userName =4; + uint64 userId = 5; + uint64 siteId =6; + string type =7; + uint32 status =8; +} +message WriteOffApproveRequest{ + uint64 id = 1; + uint32 status = 2; +} +message WriteOffListResponse{ + int64 total = 1; + repeated WriteOffRequest writeOffList = 2; +} +message RemoveResponse { +} + +message UpdateRequest { + uint64 ID = 1 [json_name = "ID"]; //ID + string Domain = 2 [json_name = "domain",(validator.field) = {string_not_empty: true,human_error: "70001"} ]; + string NickName = 3 [json_name = "nickName"]; + string Password = 4 [json_name = "password"]; //密码 + string Avatar = 5 [json_name = "avatar"]; //头像 + string Status = 7 [json_name = "status"]; + string TelNum = 8 [json_name = "telNum"]; + string EnterDate = 14 [json_name = "enterDate"]; + Extend Extend = 17 [json_name = "extend"]; + string Title = 18 [json_name = "title"]; + string JobNum = 19 [json_name = "jobNum"]; + string BirthDate = 20 [json_name = "birthDate"]; + uint64 Sex = 21 [json_name = "sex"]; + string IdNum = 22 [json_name = "idNum"]; + string RealName = 23 [json_name = "realName"]; + string InvitationCode = 24 [json_name = "invitationCode"]; + string LeftDate = 25 [json_name = "leftDate"]; + string Remark = 26 [json_name = "remark"]; + string RecentImg = 27 [json_name = "recentImg"]; + string ICNum = 28 [json_name = "icNum"]; + string Train = 29 [json_name = "train"]; + string Certificate = 30 [json_name = "certificate"]; + repeated trainVideo TrainVideos = 31 [json_name = "trainVideos"]; + Operator operator = 32; + string SecurityCode = 33 [json_name = "securityCode"]; +} + +message Operator { + uint32 ID = 1; + string Name = 2; +} + +message trainVideo { + string trainUUID = 1 [json_name = "trainUUID"]; + string trainDesc = 2 [json_name = "trainDesc"]; + string video = 3 [json_name = "video"]; + string SecurityCode = 31 [json_name = "securityCode"]; +} + +message UpdateResponse { +} + +message PrivacyInfoRequest { + uint64 ID = 1 [json_name = "ID"]; //ID + string Domain = 2 [json_name = "domain",(validator.field) = {string_not_empty: true,human_error: "70001"} ]; + string SecurityCode = 3 [json_name = "securityCode"]; +} + +message ListRequest { + string Domain = 1 [json_name = "domain",(validator.field) = {string_not_empty: true,human_error: "70001"} ]; + uint64 PageSize = 2 [json_name = "pageSize"]; + uint64 Page = 3 [json_name = "page"]; + string key = 4 [json_name = "key"]; + string status = 5 ; + string telNum = 6; + string startEnterDate = 7; + string endEnterDate = 8; +} + +message ListResponse { + string Status = 1 [json_name = "status"]; + uint64 Count = 2 [json_name = "count"]; + repeated AccountInfo Data = 3 [json_name = "data"]; + uint64 AllCount = 4 [json_name = "allCount"]; +} + +message InfoRequest { + string Domain = 1 [json_name = "domain",(validator.field) = {string_not_empty: true,human_error: "70001"} ]; + uint64 ID = 2 [json_name = "id"]; + string scene = 3 ;//场景值 base-默认仅仅user数据 +} + +message InfoResponse { + string Status = 1 [json_name = "status"]; + AccountInfo Info = 2 [json_name = "accountInfo"]; + bool IsExist = 3 [json_name = "isExist"]; +} + +message DecryptJwtResponse { + string Domain = 1 [json_name = "status"]; + uint64 ID = 2 [json_name = "id"]; + string Account = 3 [json_name = "account"]; + string NickName = 4 [json_name = "nickName"]; + bool IsOffline = 5 [json_name = "isOffline"]; +} + +message DecryptJwtRequest { + string token = 1 [json_name = "token"]; + string Domain = 2 [json_name = "Domain"]; +} + +message CheckPwdRequest { + string Token = 1 [json_name = "token"]; + string Password = 2 [json_name = "password"]; +} + +message AuthenticationRequest { + string Name = 1 [json_name = "name"]; + string IDNum = 2 [json_name = "idNum",(validator.field) = {length_eq: 18,human_error: "70006"}]; + string Token = 3 [json_name = "token"]; +} + +message RequestStatus { + string Status = 1 [json_name = "status"]; + uint64 ID = 2 [json_name = "ID"]; + bool isExist = 3; +} + +message RegistRequest { + string domain = 1; + string telNum = 2; + string code = 3; + string address = 4; + string telAreaCode = 5; +} + +message LoginRequest { + string Domain = 1 [json_name = "domain",(validator.field) = {string_not_empty: true,human_error: "70001"} ]; + string TelNum = 2 [json_name = "telNum",(validator.field) = {regex: "^1\\d{10}$",human_error: "70002"}]; + string Code = 3 [json_name = "code"]; + string Password = 4 [json_name = "password"]; + string Ip = 5 [json_name = "ip"]; + bool passCheckIp = 6 ; +} + +message TokenInfo { + AccountInfo AccountInfo = 1 [json_name = "accountInfo"]; + string Token = 2 [json_name = "token"]; + string RefreshToken = 4 [json_name = "refresh"]; + bool IsSampleAddress = 3 [json_name = "isSampleAddress"]; + string nowAddress = 5 [json_name = "nowAddress"]; +} + +message Extend { + string JumpTo = 1 [json_name = "jumpTo"]; + string Lang = 2 [json_name = "lang"]; + bool CanScan = 3 [json_name = "canScan"]; + bool ResolutionRatio = 4 [json_name = "resolutionRatio"]; +} + +message Department { + uint64 ID = 1 [json_name = "ID"]; + string Name = 2 [json_name = "name"]; +} + +// The response message containing the greetings +message AccountInfo { + uint64 ID = 1 [json_name = "id"]; + string Account = 2 [json_name = "account"]; + string NickName = 3 [json_name = "nickName"]; + int64 Type = 4 [json_name = "type"]; + string TelNum = 5 [json_name = "telNum"]; + int32 Status = 6 [json_name = "status"]; + string Avatar = 7 [json_name = "avatar"]; + string CreateAt = 8 [json_name = "createAt"]; + uint64 RealNameID = 9 [json_name = "realNameID"]; + string RealName = 10 [json_name = "realName"]; + string IDNum = 11 [json_name = "iDNum"]; + string MnemonicWords = 12 [json_name = "mnemonicWords"]; + uint64 IsNeedChange = 13 [json_name = "isNeedChange"]; + string EnterDate = 14 [json_name = "enterDate"]; + float WorkYear = 15 [json_name = "workYear"]; + string Domain = 16 [json_name = "domain"]; + Extend Extend = 17 [json_name = "extend"]; + string JobNum = 18 [json_name = "jobNum"]; + string BirthDate = 19 [json_name = "birth_date"]; + uint64 Age = 20 [json_name = "age"]; + uint64 Sex = 21 [json_name = "sex"]; + string Title = 22 [json_name = "title"]; + repeated Department Departments = 23 [json_name = "departments"]; + string Ip = 24 [json_name = "ip"]; + string LoginDate = 25 [json_name = "loginDate"]; + string InvitationCode = 26 [json_name = "invitationCode"]; + uint64 NowLogId = 27 [json_name = "nowLogId"]; + bool CanScan = 28 [json_name = "canScan"]; + string LeftDate = 29 [json_name = "leftDate"]; + repeated PositionUser Positions = 30 [json_name = "positions"]; + string Remark = 31 [json_name = "remark"]; + string recentImg =32; + repeated ClockUser clocks = 33; + string mailAccount = 34; + string ICNum = 35 [json_name = "icNum"]; + string englishName = 36; + string Train = 37 [json_name = "train"]; + string Certificate = 38 [json_name = "certificate"]; + repeated trainVideo TrainVideos = 39 [json_name = "trainVideos"]; + Operator operator = 40; + string updatedAt = 41; + string SecurityCode = 42 [json_name = "securityCode"]; + string BlockAddr = 43 [json_name = "blockAddr"]; +} + +message UserInfoV2 { + uint64 ID = 1 ; + string Account = 2 ; + string NickName = 3 ; + string TelNum = 4 ; + string Status = 5 ; + string Avatar = 6 ; + string CreateAt = 7 ; + string RealName = 8; + string IDNum = 9; + string EnterDate = 10; + Extend Extend = 11; + string JobNum = 12; + string recentImg = 13; + string mailAccount = 14; + Operator operator = 15; + string updatedAt = 16; +} + +message RefreshTokenRequest { + string refreshToken = 1 ; + string domain = 2; + string ip = 3 ; +} + +message PositionUser { + uint64 PositionID = 1 [json_name = "positionID"]; + string PositionName = 2 [json_name = "positionName"]; + uint64 DepartmentId = 3 [json_name = "departmentId"]; + string DepartmentCode = 4 [json_name = "departmentCode"]; + string DepartmentName = 5 [json_name = "departmentName"]; + uint64 UserId = 6 [json_name = "userId"]; + string UserName = 7 [json_name = "userName"]; +} +message JobNumGetInfoRequest{ + string jobNum = 1; + string domain = 2; +} +message CreateClockDeviceRequest{ + string deviceNum =1; + string deviceName =2; + string deviceSite = 3; +} +message UpdateClockDeviceRequest{ + uint64 id = 1; + string deviceNum =2; + string deviceName =3; + string deviceSite = 4; +} +message ClockDeviceResponse{ + uint64 id = 1; +} +message RemoveClockDeviceRequest{ + uint64 id = 1; +} +message ClockDeviceListRequest{ + uint64 id =1; + string deviceSite = 2; + string deviceNum = 3; + string deviceName = 4; + uint64 page = 5 ; + uint64 pageSize = 6 ; + repeated uint64 ids = 7; +} +message ClockDeviceListResponse{ + uint64 count =1; + repeated ClockDeviceInfo data = 2; +} +message ClockUser{ + uint64 id =1; + string createdAt =2; + string updatedAt =3; + string deletedAt =4; + uint64 deviceID =5; + uint64 userId =6; + uint64 status =7; + ClockDeviceInfo device = 8; +} +message ClockDeviceInfo { + uint64 id = 1 ; + string createAt = 2 ; + string updateAt = 3 ; + string deviceSite = 4; + string deviceNum = 5; + string deviceName = 6; + uint64 userNum = 7; + repeated ClockUserRel data = 8 ; +} + +message ClockDeviceInfoResponse{ + uint64 count = 1; + repeated ClockUserRel data = 2 ; +} +message ClockUserRel { + uint64 id = 1 ; + string createAt = 2 ; + string updateAt = 3; + string nickName = 4 ; + string jobNum = 5 ; + string icNum = 6; +} +message ClockDeviceInfoRequest{ + uint64 id = 1; + uint64 page = 2 ; + uint64 pageSize = 3 ; +} +message ClockBatchBindRequest{ + uint64 id = 1; + repeated uint64 userId = 2; + repeated uint64 deviceId =3; +} +message ClockBatchListResponse{ + repeated ClockUserDeviceBatch data = 1; +} +message ClockUserDeviceBatch{ + uint64 userId = 1; + uint64 deviceId = 2; + string JobNum = 3; + string deviceNum = 4; + string deviceName = 5; + string workStatus = 6; +} +message ClockLogInfo{ + uint64 id = 1; + string sn = 2; + string userId =3; + string recogType =4; + string recogTime =5; + float gender =6; + string photo =7; + float passStatus =8; + string userName =9; + float userType =10; + string confidence =11; + float reflectivity =12; + string cardNumber =13; + string passWord =14; + string qrCode =15; + string tel = 16; + string reasonVisit = 17; + string receiverTel = 18; + uint64 numOfPeople = 19; +} +message ClockLogReq{ + uint64 id = 1; + uint64 page = 2; + uint64 pageSize = 3; + string userName = 4; + string recogType = 5; + string deviceNum = 6; + string recogDate = 7; + uint64 userId = 8; +} +message ClockLogListResponse{ + repeated ClockLogInfo data =1; + uint64 count = 2; +} \ No newline at end of file diff --git a/api/account/account.validator.pb.go b/api/account/account.validator.pb.go new file mode 100644 index 0000000..783dde6 --- /dev/null +++ b/api/account/account.validator.pb.go @@ -0,0 +1,535 @@ +// Code generated by protoc-gen-gogo. DO NOT EDIT. +// source: api/account/account.proto + +package account + +import ( + fmt "fmt" + math "math" + proto "github.com/golang/protobuf/proto" + _ "github.com/mwitkow/go-proto-validators" + regexp "regexp" + github_com_mwitkow_go_proto_validators "github.com/mwitkow/go-proto-validators" +) + +// Reference imports to suppress errors if they are not otherwise used. +var _ = proto.Marshal +var _ = fmt.Errorf +var _ = math.Inf + +func (this *CheckRealNameResponse) Validate() error { + return nil +} +func (this *CheckRealNameRequest) Validate() error { + return nil +} +func (this *UserListResponse) Validate() error { + for _, item := range this.UserList { + if item != nil { + if err := github_com_mwitkow_go_proto_validators.CallValidatorIfExists(item); err != nil { + return github_com_mwitkow_go_proto_validators.FieldError("UserList", err) + } + } + } + return nil +} +func (this *UserListInfo) Validate() error { + return nil +} +func (this *UserListRequest) Validate() error { + return nil +} +func (this *UserInfoResponse) Validate() error { + return nil +} +func (this *RealNameResponse) Validate() error { + return nil +} +func (this *RealNameRequest) Validate() error { + return nil +} +func (this *RegisterResponse) Validate() error { + return nil +} +func (this *UsersByJobNumRequest) Validate() error { + return nil +} +func (this *QueryPersonnelWithTheSameNameRequest) Validate() error { + return nil +} +func (this *QueryPersonnelWithTheSameNameResponse) Validate() error { + return nil +} +func (this *ListV2Request) Validate() error { + if this.Domain == "" { + return github_com_mwitkow_go_proto_validators.FieldError("Domain", fmt.Errorf(`70001`)) + } + return nil +} +func (this *SendClockInWechatRequest) Validate() error { + return nil +} +func (this *MailAccountByNickNameRequest) Validate() error { + if this.Domain == "" { + return github_com_mwitkow_go_proto_validators.FieldError("Domain", fmt.Errorf(`70001`)) + } + if this.NickName == "" { + return github_com_mwitkow_go_proto_validators.FieldError("NickName", fmt.Errorf(`70005`)) + } + if !(len(this.NickName) < 20) { + return github_com_mwitkow_go_proto_validators.FieldError("NickName", fmt.Errorf(`70005`)) + } + return nil +} +func (this *CreateMaiAccountRequest) Validate() error { + return nil +} +func (this *MaiAccountResponse) Validate() error { + return nil +} +func (this *FddCreateUserRequest) Validate() error { + return nil +} +func (this *WxBoxUserInfoRequest) Validate() error { + return nil +} +func (this *WxGetOpenIdByCodeRequest) Validate() error { + return nil +} +func (this *WxGetOpenIdByCodeResponse) Validate() error { + return nil +} +func (this *WxBoxTelNumByCodeResponse) Validate() error { + return nil +} +func (this *WxBoxUserInfo) Validate() error { + if this.User != nil { + if err := github_com_mwitkow_go_proto_validators.CallValidatorIfExists(this.User); err != nil { + return github_com_mwitkow_go_proto_validators.FieldError("User", err) + } + } + if this.Fdd != nil { + if err := github_com_mwitkow_go_proto_validators.CallValidatorIfExists(this.Fdd); err != nil { + return github_com_mwitkow_go_proto_validators.FieldError("Fdd", err) + } + } + return nil +} +func (this *FddInfo) Validate() error { + return nil +} +func (this *UserInfo) Validate() error { + return nil +} +func (this *CommonRequest) Validate() error { + return nil +} +func (this *WxAppRequest) Validate() error { + return nil +} +func (this *WxAppResponse) Validate() error { + return nil +} +func (this *WxUserUpdateRequest) Validate() error { + return nil +} +func (this *WxUserOrCreateRequest) Validate() error { + if this.OpenID == "" { + return github_com_mwitkow_go_proto_validators.FieldError("OpenID", fmt.Errorf(`缺少openid`)) + } + if this.GhID == "" { + return github_com_mwitkow_go_proto_validators.FieldError("GhID", fmt.Errorf(`缺少参数ghid`)) + } + return nil +} +func (this *WxUserResponse) Validate() error { + return nil +} +func (this *LoginLogsResponse) Validate() error { + for _, item := range this.Data { + if item != nil { + if err := github_com_mwitkow_go_proto_validators.CallValidatorIfExists(item); err != nil { + return github_com_mwitkow_go_proto_validators.FieldError("Data", err) + } + } + } + return nil +} +func (this *LoginLog) Validate() error { + return nil +} +func (this *OnlineLogByIdRequest) Validate() error { + return nil +} +func (this *LoginInfosByUserIdRequest) Validate() error { + return nil +} +func (this *SendNewTelNumMsgRequest) Validate() error { + if this.Domain == "" { + return github_com_mwitkow_go_proto_validators.FieldError("Domain", fmt.Errorf(`70001`)) + } + return nil +} +func (this *UserByTelRequest) Validate() error { + if this.Domain == "" { + return github_com_mwitkow_go_proto_validators.FieldError("Domain", fmt.Errorf(`70001`)) + } + return nil +} +func (this *CommonResponse) Validate() error { + return nil +} +func (this *UsersByTelRequest) Validate() error { + if this.Domain == "" { + return github_com_mwitkow_go_proto_validators.FieldError("Domain", fmt.Errorf(`70001`)) + } + return nil +} +func (this *ListByIDsRequest) Validate() error { + if this.Domain == "" { + return github_com_mwitkow_go_proto_validators.FieldError("Domain", fmt.Errorf(`70001`)) + } + return nil +} + +var _regex_SendMsgRequest_TelNum = regexp.MustCompile(`^1\d{10}$`) + +func (this *SendMsgRequest) Validate() error { + if this.Domain == "" { + return github_com_mwitkow_go_proto_validators.FieldError("Domain", fmt.Errorf(`70001`)) + } + if !_regex_SendMsgRequest_TelNum.MatchString(this.TelNum) { + return github_com_mwitkow_go_proto_validators.FieldError("TelNum", fmt.Errorf(`70002`)) + } + return nil +} + +var _regex_SendCustomMsgRequest_TelNum = regexp.MustCompile(`^1\d{10}$`) + +func (this *SendCustomMsgRequest) Validate() error { + if this.Domain == "" { + return github_com_mwitkow_go_proto_validators.FieldError("Domain", fmt.Errorf(`70001`)) + } + if !_regex_SendCustomMsgRequest_TelNum.MatchString(this.TelNum) { + return github_com_mwitkow_go_proto_validators.FieldError("TelNum", fmt.Errorf(`70002`)) + } + return nil +} + +var _regex_CheckMsgRequest_TelNum = regexp.MustCompile(`^1\d{10}$`) + +func (this *CheckMsgRequest) Validate() error { + if this.Domain == "" { + return github_com_mwitkow_go_proto_validators.FieldError("Domain", fmt.Errorf(`70001`)) + } + if !_regex_CheckMsgRequest_TelNum.MatchString(this.TelNum) { + return github_com_mwitkow_go_proto_validators.FieldError("TelNum", fmt.Errorf(`70002`)) + } + if this.Code == "" { + return github_com_mwitkow_go_proto_validators.FieldError("Code", fmt.Errorf(`70003`)) + } + return nil +} +func (this *SendMsgStatusResponse) Validate() error { + return nil +} +func (this *RemoveRequest) Validate() error { + if this.Domain == "" { + return github_com_mwitkow_go_proto_validators.FieldError("Domain", fmt.Errorf(`70001`)) + } + if !(this.ID > 0) { + return github_com_mwitkow_go_proto_validators.FieldError("ID", fmt.Errorf(`70004`)) + } + return nil +} +func (this *WriteOffRequest) Validate() error { + return nil +} +func (this *WriteOffListRequest) Validate() error { + return nil +} +func (this *WriteOffApproveRequest) Validate() error { + return nil +} +func (this *WriteOffListResponse) Validate() error { + for _, item := range this.WriteOffList { + if item != nil { + if err := github_com_mwitkow_go_proto_validators.CallValidatorIfExists(item); err != nil { + return github_com_mwitkow_go_proto_validators.FieldError("WriteOffList", err) + } + } + } + return nil +} +func (this *RemoveResponse) Validate() error { + return nil +} +func (this *UpdateRequest) Validate() error { + if this.Domain == "" { + return github_com_mwitkow_go_proto_validators.FieldError("Domain", fmt.Errorf(`70001`)) + } + if this.Extend != nil { + if err := github_com_mwitkow_go_proto_validators.CallValidatorIfExists(this.Extend); err != nil { + return github_com_mwitkow_go_proto_validators.FieldError("Extend", err) + } + } + for _, item := range this.TrainVideos { + if item != nil { + if err := github_com_mwitkow_go_proto_validators.CallValidatorIfExists(item); err != nil { + return github_com_mwitkow_go_proto_validators.FieldError("TrainVideos", err) + } + } + } + if this.Operator != nil { + if err := github_com_mwitkow_go_proto_validators.CallValidatorIfExists(this.Operator); err != nil { + return github_com_mwitkow_go_proto_validators.FieldError("Operator", err) + } + } + return nil +} +func (this *Operator) Validate() error { + return nil +} +func (this *TrainVideo) Validate() error { + return nil +} +func (this *UpdateResponse) Validate() error { + return nil +} +func (this *PrivacyInfoRequest) Validate() error { + if this.Domain == "" { + return github_com_mwitkow_go_proto_validators.FieldError("Domain", fmt.Errorf(`70001`)) + } + return nil +} +func (this *ListRequest) Validate() error { + if this.Domain == "" { + return github_com_mwitkow_go_proto_validators.FieldError("Domain", fmt.Errorf(`70001`)) + } + return nil +} +func (this *ListResponse) Validate() error { + for _, item := range this.Data { + if item != nil { + if err := github_com_mwitkow_go_proto_validators.CallValidatorIfExists(item); err != nil { + return github_com_mwitkow_go_proto_validators.FieldError("Data", err) + } + } + } + return nil +} +func (this *InfoRequest) Validate() error { + if this.Domain == "" { + return github_com_mwitkow_go_proto_validators.FieldError("Domain", fmt.Errorf(`70001`)) + } + return nil +} +func (this *InfoResponse) Validate() error { + if this.Info != nil { + if err := github_com_mwitkow_go_proto_validators.CallValidatorIfExists(this.Info); err != nil { + return github_com_mwitkow_go_proto_validators.FieldError("Info", err) + } + } + return nil +} +func (this *DecryptJwtResponse) Validate() error { + return nil +} +func (this *DecryptJwtRequest) Validate() error { + return nil +} +func (this *CheckPwdRequest) Validate() error { + return nil +} +func (this *AuthenticationRequest) Validate() error { + if !(len(this.IDNum) == 18) { + return github_com_mwitkow_go_proto_validators.FieldError("IDNum", fmt.Errorf(`70006`)) + } + return nil +} +func (this *RequestStatus) Validate() error { + return nil +} +func (this *RegistRequest) Validate() error { + return nil +} + +var _regex_LoginRequest_TelNum = regexp.MustCompile(`^1\d{10}$`) + +func (this *LoginRequest) Validate() error { + if this.Domain == "" { + return github_com_mwitkow_go_proto_validators.FieldError("Domain", fmt.Errorf(`70001`)) + } + if !_regex_LoginRequest_TelNum.MatchString(this.TelNum) { + return github_com_mwitkow_go_proto_validators.FieldError("TelNum", fmt.Errorf(`70002`)) + } + return nil +} +func (this *TokenInfo) Validate() error { + if this.AccountInfo != nil { + if err := github_com_mwitkow_go_proto_validators.CallValidatorIfExists(this.AccountInfo); err != nil { + return github_com_mwitkow_go_proto_validators.FieldError("AccountInfo", err) + } + } + return nil +} +func (this *Extend) Validate() error { + return nil +} +func (this *Department) Validate() error { + return nil +} +func (this *AccountInfo) Validate() error { + if this.Extend != nil { + if err := github_com_mwitkow_go_proto_validators.CallValidatorIfExists(this.Extend); err != nil { + return github_com_mwitkow_go_proto_validators.FieldError("Extend", err) + } + } + for _, item := range this.Departments { + if item != nil { + if err := github_com_mwitkow_go_proto_validators.CallValidatorIfExists(item); err != nil { + return github_com_mwitkow_go_proto_validators.FieldError("Departments", err) + } + } + } + for _, item := range this.Positions { + if item != nil { + if err := github_com_mwitkow_go_proto_validators.CallValidatorIfExists(item); err != nil { + return github_com_mwitkow_go_proto_validators.FieldError("Positions", err) + } + } + } + for _, item := range this.Clocks { + if item != nil { + if err := github_com_mwitkow_go_proto_validators.CallValidatorIfExists(item); err != nil { + return github_com_mwitkow_go_proto_validators.FieldError("Clocks", err) + } + } + } + for _, item := range this.TrainVideos { + if item != nil { + if err := github_com_mwitkow_go_proto_validators.CallValidatorIfExists(item); err != nil { + return github_com_mwitkow_go_proto_validators.FieldError("TrainVideos", err) + } + } + } + if this.Operator != nil { + if err := github_com_mwitkow_go_proto_validators.CallValidatorIfExists(this.Operator); err != nil { + return github_com_mwitkow_go_proto_validators.FieldError("Operator", err) + } + } + return nil +} +func (this *UserInfoV2) Validate() error { + if this.Extend != nil { + if err := github_com_mwitkow_go_proto_validators.CallValidatorIfExists(this.Extend); err != nil { + return github_com_mwitkow_go_proto_validators.FieldError("Extend", err) + } + } + if this.Operator != nil { + if err := github_com_mwitkow_go_proto_validators.CallValidatorIfExists(this.Operator); err != nil { + return github_com_mwitkow_go_proto_validators.FieldError("Operator", err) + } + } + return nil +} +func (this *RefreshTokenRequest) Validate() error { + return nil +} +func (this *PositionUser) Validate() error { + return nil +} +func (this *JobNumGetInfoRequest) Validate() error { + return nil +} +func (this *CreateClockDeviceRequest) Validate() error { + return nil +} +func (this *UpdateClockDeviceRequest) Validate() error { + return nil +} +func (this *ClockDeviceResponse) Validate() error { + return nil +} +func (this *RemoveClockDeviceRequest) Validate() error { + return nil +} +func (this *ClockDeviceListRequest) Validate() error { + return nil +} +func (this *ClockDeviceListResponse) Validate() error { + for _, item := range this.Data { + if item != nil { + if err := github_com_mwitkow_go_proto_validators.CallValidatorIfExists(item); err != nil { + return github_com_mwitkow_go_proto_validators.FieldError("Data", err) + } + } + } + return nil +} +func (this *ClockUser) Validate() error { + if this.Device != nil { + if err := github_com_mwitkow_go_proto_validators.CallValidatorIfExists(this.Device); err != nil { + return github_com_mwitkow_go_proto_validators.FieldError("Device", err) + } + } + return nil +} +func (this *ClockDeviceInfo) Validate() error { + for _, item := range this.Data { + if item != nil { + if err := github_com_mwitkow_go_proto_validators.CallValidatorIfExists(item); err != nil { + return github_com_mwitkow_go_proto_validators.FieldError("Data", err) + } + } + } + return nil +} +func (this *ClockDeviceInfoResponse) Validate() error { + for _, item := range this.Data { + if item != nil { + if err := github_com_mwitkow_go_proto_validators.CallValidatorIfExists(item); err != nil { + return github_com_mwitkow_go_proto_validators.FieldError("Data", err) + } + } + } + return nil +} +func (this *ClockUserRel) Validate() error { + return nil +} +func (this *ClockDeviceInfoRequest) Validate() error { + return nil +} +func (this *ClockBatchBindRequest) Validate() error { + return nil +} +func (this *ClockBatchListResponse) Validate() error { + for _, item := range this.Data { + if item != nil { + if err := github_com_mwitkow_go_proto_validators.CallValidatorIfExists(item); err != nil { + return github_com_mwitkow_go_proto_validators.FieldError("Data", err) + } + } + } + return nil +} +func (this *ClockUserDeviceBatch) Validate() error { + return nil +} +func (this *ClockLogInfo) Validate() error { + return nil +} +func (this *ClockLogReq) Validate() error { + return nil +} +func (this *ClockLogListResponse) Validate() error { + for _, item := range this.Data { + if item != nil { + if err := github_com_mwitkow_go_proto_validators.CallValidatorIfExists(item); err != nil { + return github_com_mwitkow_go_proto_validators.FieldError("Data", err) + } + } + } + return nil +} diff --git a/api/account/account_triple.pb.go b/api/account/account_triple.pb.go new file mode 100644 index 0000000..c1e2b78 --- /dev/null +++ b/api/account/account_triple.pb.go @@ -0,0 +1,1679 @@ +// Code generated by protoc-gen-go-triple. DO NOT EDIT. +// versions: +// - protoc-gen-go-triple v1.0.8 +// - protoc v4.24.0--rc1 +// source: api/account/account.proto + +package account + +import ( + context "context" + protocol "dubbo.apache.org/dubbo-go/v3/protocol" + dubbo3 "dubbo.apache.org/dubbo-go/v3/protocol/dubbo3" + invocation "dubbo.apache.org/dubbo-go/v3/protocol/invocation" + grpc_go "github.com/dubbogo/grpc-go" + codes "github.com/dubbogo/grpc-go/codes" + metadata "github.com/dubbogo/grpc-go/metadata" + status "github.com/dubbogo/grpc-go/status" + common "github.com/dubbogo/triple/pkg/common" + constant "github.com/dubbogo/triple/pkg/common/constant" + triple "github.com/dubbogo/triple/pkg/triple" +) + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the grpc package it is being compiled against. +const _ = grpc_go.SupportPackageIsVersion7 + +// AccountClient is the client API for Account service. +// +// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream. +type AccountClient interface { + Login(ctx context.Context, in *LoginRequest, opts ...grpc_go.CallOption) (*TokenInfo, common.ErrorWithAttachment) + RefreshToken(ctx context.Context, in *RefreshTokenRequest, opts ...grpc_go.CallOption) (*TokenInfo, common.ErrorWithAttachment) + Logout(ctx context.Context, in *DecryptJwtRequest, opts ...grpc_go.CallOption) (*CommonResponse, common.ErrorWithAttachment) + OffLine(ctx context.Context, in *CommonRequest, opts ...grpc_go.CallOption) (*CommonResponse, common.ErrorWithAttachment) + OnlineLog(ctx context.Context, in *LoginInfosByUserIdRequest, opts ...grpc_go.CallOption) (*LoginLogsResponse, common.ErrorWithAttachment) + OnlineLogById(ctx context.Context, in *OnlineLogByIdRequest, opts ...grpc_go.CallOption) (*LoginLog, common.ErrorWithAttachment) + CheckPwd(ctx context.Context, in *CheckPwdRequest, opts ...grpc_go.CallOption) (*UpdateResponse, common.ErrorWithAttachment) + // rpc RegisterOrExist (RegistRequest) returns (RequestStatus) {} + SendMsg(ctx context.Context, in *SendMsgRequest, opts ...grpc_go.CallOption) (*SendMsgStatusResponse, common.ErrorWithAttachment) + SendCustomMsg(ctx context.Context, in *SendCustomMsgRequest, opts ...grpc_go.CallOption) (*SendMsgStatusResponse, common.ErrorWithAttachment) + SendExCustomMsg(ctx context.Context, in *SendCustomMsgRequest, opts ...grpc_go.CallOption) (*SendMsgStatusResponse, common.ErrorWithAttachment) + SendMsgRegister(ctx context.Context, in *SendMsgRequest, opts ...grpc_go.CallOption) (*SendMsgStatusResponse, common.ErrorWithAttachment) + CheckMsg(ctx context.Context, in *CheckMsgRequest, opts ...grpc_go.CallOption) (*SendMsgStatusResponse, common.ErrorWithAttachment) + SendNewTelNumMsg(ctx context.Context, in *SendNewTelNumMsgRequest, opts ...grpc_go.CallOption) (*SendMsgStatusResponse, common.ErrorWithAttachment) + UpdateTelNum(ctx context.Context, in *SendNewTelNumMsgRequest, opts ...grpc_go.CallOption) (*SendMsgStatusResponse, common.ErrorWithAttachment) + Authentication(ctx context.Context, in *AuthenticationRequest, opts ...grpc_go.CallOption) (*RequestStatus, common.ErrorWithAttachment) + DecryptJwt(ctx context.Context, in *DecryptJwtRequest, opts ...grpc_go.CallOption) (*DecryptJwtResponse, common.ErrorWithAttachment) + Info(ctx context.Context, in *InfoRequest, opts ...grpc_go.CallOption) (*UserInfoResponse, common.ErrorWithAttachment) + JobNumGetInfo(ctx context.Context, in *JobNumGetInfoRequest, opts ...grpc_go.CallOption) (*InfoResponse, common.ErrorWithAttachment) + List(ctx context.Context, in *ListRequest, opts ...grpc_go.CallOption) (*ListResponse, common.ErrorWithAttachment) + RandList(ctx context.Context, in *ListRequest, opts ...grpc_go.CallOption) (*ListResponse, common.ErrorWithAttachment) + ListByIDs(ctx context.Context, in *ListByIDsRequest, opts ...grpc_go.CallOption) (*ListResponse, common.ErrorWithAttachment) + Remove(ctx context.Context, in *RemoveRequest, opts ...grpc_go.CallOption) (*RemoveResponse, common.ErrorWithAttachment) + Update(ctx context.Context, in *UpdateRequest, opts ...grpc_go.CallOption) (*UpdateResponse, common.ErrorWithAttachment) + UsersByTel(ctx context.Context, in *UsersByTelRequest, opts ...grpc_go.CallOption) (*ListResponse, common.ErrorWithAttachment) + UserByTel(ctx context.Context, in *UserByTelRequest, opts ...grpc_go.CallOption) (*InfoResponse, common.ErrorWithAttachment) + OnlySendMsg(ctx context.Context, in *SendMsgRequest, opts ...grpc_go.CallOption) (*SendMsgStatusResponse, common.ErrorWithAttachment) + OnlyCheckMsg(ctx context.Context, in *CheckMsgRequest, opts ...grpc_go.CallOption) (*SendMsgStatusResponse, common.ErrorWithAttachment) + MailAccountByNickName(ctx context.Context, in *MailAccountByNickNameRequest, opts ...grpc_go.CallOption) (*MaiAccountResponse, common.ErrorWithAttachment) + ListV2(ctx context.Context, in *ListV2Request, opts ...grpc_go.CallOption) (*ListResponse, common.ErrorWithAttachment) + QueryPersonnelWithTheSameName(ctx context.Context, in *QueryPersonnelWithTheSameNameRequest, opts ...grpc_go.CallOption) (*QueryPersonnelWithTheSameNameResponse, common.ErrorWithAttachment) + UsersByJobNum(ctx context.Context, in *UsersByJobNumRequest, opts ...grpc_go.CallOption) (*ListResponse, common.ErrorWithAttachment) + RealName(ctx context.Context, in *RealNameRequest, opts ...grpc_go.CallOption) (*RealNameResponse, common.ErrorWithAttachment) + Register(ctx context.Context, in *RegistRequest, opts ...grpc_go.CallOption) (*RegisterResponse, common.ErrorWithAttachment) + UserList(ctx context.Context, in *UserListRequest, opts ...grpc_go.CallOption) (*UserListResponse, common.ErrorWithAttachment) + CheckRealName(ctx context.Context, in *CheckRealNameRequest, opts ...grpc_go.CallOption) (*CheckRealNameResponse, common.ErrorWithAttachment) +} + +type accountClient struct { + cc *triple.TripleConn +} + +type AccountClientImpl struct { + Login func(ctx context.Context, in *LoginRequest) (*TokenInfo, error) + RefreshToken func(ctx context.Context, in *RefreshTokenRequest) (*TokenInfo, error) + Logout func(ctx context.Context, in *DecryptJwtRequest) (*CommonResponse, error) + OffLine func(ctx context.Context, in *CommonRequest) (*CommonResponse, error) + OnlineLog func(ctx context.Context, in *LoginInfosByUserIdRequest) (*LoginLogsResponse, error) + OnlineLogById func(ctx context.Context, in *OnlineLogByIdRequest) (*LoginLog, error) + CheckPwd func(ctx context.Context, in *CheckPwdRequest) (*UpdateResponse, error) + SendMsg func(ctx context.Context, in *SendMsgRequest) (*SendMsgStatusResponse, error) + SendCustomMsg func(ctx context.Context, in *SendCustomMsgRequest) (*SendMsgStatusResponse, error) + SendExCustomMsg func(ctx context.Context, in *SendCustomMsgRequest) (*SendMsgStatusResponse, error) + SendMsgRegister func(ctx context.Context, in *SendMsgRequest) (*SendMsgStatusResponse, error) + CheckMsg func(ctx context.Context, in *CheckMsgRequest) (*SendMsgStatusResponse, error) + SendNewTelNumMsg func(ctx context.Context, in *SendNewTelNumMsgRequest) (*SendMsgStatusResponse, error) + UpdateTelNum func(ctx context.Context, in *SendNewTelNumMsgRequest) (*SendMsgStatusResponse, error) + Authentication func(ctx context.Context, in *AuthenticationRequest) (*RequestStatus, error) + DecryptJwt func(ctx context.Context, in *DecryptJwtRequest) (*DecryptJwtResponse, error) + Info func(ctx context.Context, in *InfoRequest) (*UserInfoResponse, error) + JobNumGetInfo func(ctx context.Context, in *JobNumGetInfoRequest) (*InfoResponse, error) + List func(ctx context.Context, in *ListRequest) (*ListResponse, error) + RandList func(ctx context.Context, in *ListRequest) (*ListResponse, error) + ListByIDs func(ctx context.Context, in *ListByIDsRequest) (*ListResponse, error) + Remove func(ctx context.Context, in *RemoveRequest) (*RemoveResponse, error) + Update func(ctx context.Context, in *UpdateRequest) (*UpdateResponse, error) + UsersByTel func(ctx context.Context, in *UsersByTelRequest) (*ListResponse, error) + UserByTel func(ctx context.Context, in *UserByTelRequest) (*InfoResponse, error) + OnlySendMsg func(ctx context.Context, in *SendMsgRequest) (*SendMsgStatusResponse, error) + OnlyCheckMsg func(ctx context.Context, in *CheckMsgRequest) (*SendMsgStatusResponse, error) + MailAccountByNickName func(ctx context.Context, in *MailAccountByNickNameRequest) (*MaiAccountResponse, error) + ListV2 func(ctx context.Context, in *ListV2Request) (*ListResponse, error) + QueryPersonnelWithTheSameName func(ctx context.Context, in *QueryPersonnelWithTheSameNameRequest) (*QueryPersonnelWithTheSameNameResponse, error) + UsersByJobNum func(ctx context.Context, in *UsersByJobNumRequest) (*ListResponse, error) + RealName func(ctx context.Context, in *RealNameRequest) (*RealNameResponse, error) + Register func(ctx context.Context, in *RegistRequest) (*RegisterResponse, error) + UserList func(ctx context.Context, in *UserListRequest) (*UserListResponse, error) + CheckRealName func(ctx context.Context, in *CheckRealNameRequest) (*CheckRealNameResponse, error) +} + +func (c *AccountClientImpl) GetDubboStub(cc *triple.TripleConn) AccountClient { + return NewAccountClient(cc) +} + +func (c *AccountClientImpl) XXX_InterfaceName() string { + return "account.Account" +} + +func NewAccountClient(cc *triple.TripleConn) AccountClient { + return &accountClient{cc} +} + +func (c *accountClient) Login(ctx context.Context, in *LoginRequest, opts ...grpc_go.CallOption) (*TokenInfo, common.ErrorWithAttachment) { + out := new(TokenInfo) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/Login", in, out) +} + +func (c *accountClient) RefreshToken(ctx context.Context, in *RefreshTokenRequest, opts ...grpc_go.CallOption) (*TokenInfo, common.ErrorWithAttachment) { + out := new(TokenInfo) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/RefreshToken", in, out) +} + +func (c *accountClient) Logout(ctx context.Context, in *DecryptJwtRequest, opts ...grpc_go.CallOption) (*CommonResponse, common.ErrorWithAttachment) { + out := new(CommonResponse) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/Logout", in, out) +} + +func (c *accountClient) OffLine(ctx context.Context, in *CommonRequest, opts ...grpc_go.CallOption) (*CommonResponse, common.ErrorWithAttachment) { + out := new(CommonResponse) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/OffLine", in, out) +} + +func (c *accountClient) OnlineLog(ctx context.Context, in *LoginInfosByUserIdRequest, opts ...grpc_go.CallOption) (*LoginLogsResponse, common.ErrorWithAttachment) { + out := new(LoginLogsResponse) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/OnlineLog", in, out) +} + +func (c *accountClient) OnlineLogById(ctx context.Context, in *OnlineLogByIdRequest, opts ...grpc_go.CallOption) (*LoginLog, common.ErrorWithAttachment) { + out := new(LoginLog) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/OnlineLogById", in, out) +} + +func (c *accountClient) CheckPwd(ctx context.Context, in *CheckPwdRequest, opts ...grpc_go.CallOption) (*UpdateResponse, common.ErrorWithAttachment) { + out := new(UpdateResponse) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/CheckPwd", in, out) +} + +func (c *accountClient) SendMsg(ctx context.Context, in *SendMsgRequest, opts ...grpc_go.CallOption) (*SendMsgStatusResponse, common.ErrorWithAttachment) { + out := new(SendMsgStatusResponse) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/SendMsg", in, out) +} + +func (c *accountClient) SendCustomMsg(ctx context.Context, in *SendCustomMsgRequest, opts ...grpc_go.CallOption) (*SendMsgStatusResponse, common.ErrorWithAttachment) { + out := new(SendMsgStatusResponse) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/SendCustomMsg", in, out) +} + +func (c *accountClient) SendExCustomMsg(ctx context.Context, in *SendCustomMsgRequest, opts ...grpc_go.CallOption) (*SendMsgStatusResponse, common.ErrorWithAttachment) { + out := new(SendMsgStatusResponse) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/SendExCustomMsg", in, out) +} + +func (c *accountClient) SendMsgRegister(ctx context.Context, in *SendMsgRequest, opts ...grpc_go.CallOption) (*SendMsgStatusResponse, common.ErrorWithAttachment) { + out := new(SendMsgStatusResponse) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/SendMsgRegister", in, out) +} + +func (c *accountClient) CheckMsg(ctx context.Context, in *CheckMsgRequest, opts ...grpc_go.CallOption) (*SendMsgStatusResponse, common.ErrorWithAttachment) { + out := new(SendMsgStatusResponse) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/CheckMsg", in, out) +} + +func (c *accountClient) SendNewTelNumMsg(ctx context.Context, in *SendNewTelNumMsgRequest, opts ...grpc_go.CallOption) (*SendMsgStatusResponse, common.ErrorWithAttachment) { + out := new(SendMsgStatusResponse) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/SendNewTelNumMsg", in, out) +} + +func (c *accountClient) UpdateTelNum(ctx context.Context, in *SendNewTelNumMsgRequest, opts ...grpc_go.CallOption) (*SendMsgStatusResponse, common.ErrorWithAttachment) { + out := new(SendMsgStatusResponse) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/UpdateTelNum", in, out) +} + +func (c *accountClient) Authentication(ctx context.Context, in *AuthenticationRequest, opts ...grpc_go.CallOption) (*RequestStatus, common.ErrorWithAttachment) { + out := new(RequestStatus) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/Authentication", in, out) +} + +func (c *accountClient) DecryptJwt(ctx context.Context, in *DecryptJwtRequest, opts ...grpc_go.CallOption) (*DecryptJwtResponse, common.ErrorWithAttachment) { + out := new(DecryptJwtResponse) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/DecryptJwt", in, out) +} + +func (c *accountClient) Info(ctx context.Context, in *InfoRequest, opts ...grpc_go.CallOption) (*UserInfoResponse, common.ErrorWithAttachment) { + out := new(UserInfoResponse) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/Info", in, out) +} + +func (c *accountClient) JobNumGetInfo(ctx context.Context, in *JobNumGetInfoRequest, opts ...grpc_go.CallOption) (*InfoResponse, common.ErrorWithAttachment) { + out := new(InfoResponse) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/JobNumGetInfo", in, out) +} + +func (c *accountClient) List(ctx context.Context, in *ListRequest, opts ...grpc_go.CallOption) (*ListResponse, common.ErrorWithAttachment) { + out := new(ListResponse) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/List", in, out) +} + +func (c *accountClient) RandList(ctx context.Context, in *ListRequest, opts ...grpc_go.CallOption) (*ListResponse, common.ErrorWithAttachment) { + out := new(ListResponse) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/RandList", in, out) +} + +func (c *accountClient) ListByIDs(ctx context.Context, in *ListByIDsRequest, opts ...grpc_go.CallOption) (*ListResponse, common.ErrorWithAttachment) { + out := new(ListResponse) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/ListByIDs", in, out) +} + +func (c *accountClient) Remove(ctx context.Context, in *RemoveRequest, opts ...grpc_go.CallOption) (*RemoveResponse, common.ErrorWithAttachment) { + out := new(RemoveResponse) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/Remove", in, out) +} + +func (c *accountClient) Update(ctx context.Context, in *UpdateRequest, opts ...grpc_go.CallOption) (*UpdateResponse, common.ErrorWithAttachment) { + out := new(UpdateResponse) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/Update", in, out) +} + +func (c *accountClient) UsersByTel(ctx context.Context, in *UsersByTelRequest, opts ...grpc_go.CallOption) (*ListResponse, common.ErrorWithAttachment) { + out := new(ListResponse) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/UsersByTel", in, out) +} + +func (c *accountClient) UserByTel(ctx context.Context, in *UserByTelRequest, opts ...grpc_go.CallOption) (*InfoResponse, common.ErrorWithAttachment) { + out := new(InfoResponse) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/UserByTel", in, out) +} + +func (c *accountClient) OnlySendMsg(ctx context.Context, in *SendMsgRequest, opts ...grpc_go.CallOption) (*SendMsgStatusResponse, common.ErrorWithAttachment) { + out := new(SendMsgStatusResponse) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/OnlySendMsg", in, out) +} + +func (c *accountClient) OnlyCheckMsg(ctx context.Context, in *CheckMsgRequest, opts ...grpc_go.CallOption) (*SendMsgStatusResponse, common.ErrorWithAttachment) { + out := new(SendMsgStatusResponse) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/OnlyCheckMsg", in, out) +} + +func (c *accountClient) MailAccountByNickName(ctx context.Context, in *MailAccountByNickNameRequest, opts ...grpc_go.CallOption) (*MaiAccountResponse, common.ErrorWithAttachment) { + out := new(MaiAccountResponse) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/MailAccountByNickName", in, out) +} + +func (c *accountClient) ListV2(ctx context.Context, in *ListV2Request, opts ...grpc_go.CallOption) (*ListResponse, common.ErrorWithAttachment) { + out := new(ListResponse) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/ListV2", in, out) +} + +func (c *accountClient) QueryPersonnelWithTheSameName(ctx context.Context, in *QueryPersonnelWithTheSameNameRequest, opts ...grpc_go.CallOption) (*QueryPersonnelWithTheSameNameResponse, common.ErrorWithAttachment) { + out := new(QueryPersonnelWithTheSameNameResponse) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/QueryPersonnelWithTheSameName", in, out) +} + +func (c *accountClient) UsersByJobNum(ctx context.Context, in *UsersByJobNumRequest, opts ...grpc_go.CallOption) (*ListResponse, common.ErrorWithAttachment) { + out := new(ListResponse) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/UsersByJobNum", in, out) +} + +func (c *accountClient) RealName(ctx context.Context, in *RealNameRequest, opts ...grpc_go.CallOption) (*RealNameResponse, common.ErrorWithAttachment) { + out := new(RealNameResponse) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/RealName", in, out) +} + +func (c *accountClient) Register(ctx context.Context, in *RegistRequest, opts ...grpc_go.CallOption) (*RegisterResponse, common.ErrorWithAttachment) { + out := new(RegisterResponse) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/Register", in, out) +} + +func (c *accountClient) UserList(ctx context.Context, in *UserListRequest, opts ...grpc_go.CallOption) (*UserListResponse, common.ErrorWithAttachment) { + out := new(UserListResponse) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/UserList", in, out) +} + +func (c *accountClient) CheckRealName(ctx context.Context, in *CheckRealNameRequest, opts ...grpc_go.CallOption) (*CheckRealNameResponse, common.ErrorWithAttachment) { + out := new(CheckRealNameResponse) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/CheckRealName", in, out) +} + +// AccountServer is the server API for Account service. +// All implementations must embed UnimplementedAccountServer +// for forward compatibility +type AccountServer interface { + Login(context.Context, *LoginRequest) (*TokenInfo, error) + RefreshToken(context.Context, *RefreshTokenRequest) (*TokenInfo, error) + Logout(context.Context, *DecryptJwtRequest) (*CommonResponse, error) + OffLine(context.Context, *CommonRequest) (*CommonResponse, error) + OnlineLog(context.Context, *LoginInfosByUserIdRequest) (*LoginLogsResponse, error) + OnlineLogById(context.Context, *OnlineLogByIdRequest) (*LoginLog, error) + CheckPwd(context.Context, *CheckPwdRequest) (*UpdateResponse, error) + // rpc RegisterOrExist (RegistRequest) returns (RequestStatus) {} + SendMsg(context.Context, *SendMsgRequest) (*SendMsgStatusResponse, error) + SendCustomMsg(context.Context, *SendCustomMsgRequest) (*SendMsgStatusResponse, error) + SendExCustomMsg(context.Context, *SendCustomMsgRequest) (*SendMsgStatusResponse, error) + SendMsgRegister(context.Context, *SendMsgRequest) (*SendMsgStatusResponse, error) + CheckMsg(context.Context, *CheckMsgRequest) (*SendMsgStatusResponse, error) + SendNewTelNumMsg(context.Context, *SendNewTelNumMsgRequest) (*SendMsgStatusResponse, error) + UpdateTelNum(context.Context, *SendNewTelNumMsgRequest) (*SendMsgStatusResponse, error) + Authentication(context.Context, *AuthenticationRequest) (*RequestStatus, error) + DecryptJwt(context.Context, *DecryptJwtRequest) (*DecryptJwtResponse, error) + Info(context.Context, *InfoRequest) (*UserInfoResponse, error) + JobNumGetInfo(context.Context, *JobNumGetInfoRequest) (*InfoResponse, error) + List(context.Context, *ListRequest) (*ListResponse, error) + RandList(context.Context, *ListRequest) (*ListResponse, error) + ListByIDs(context.Context, *ListByIDsRequest) (*ListResponse, error) + Remove(context.Context, *RemoveRequest) (*RemoveResponse, error) + Update(context.Context, *UpdateRequest) (*UpdateResponse, error) + UsersByTel(context.Context, *UsersByTelRequest) (*ListResponse, error) + UserByTel(context.Context, *UserByTelRequest) (*InfoResponse, error) + OnlySendMsg(context.Context, *SendMsgRequest) (*SendMsgStatusResponse, error) + OnlyCheckMsg(context.Context, *CheckMsgRequest) (*SendMsgStatusResponse, error) + MailAccountByNickName(context.Context, *MailAccountByNickNameRequest) (*MaiAccountResponse, error) + ListV2(context.Context, *ListV2Request) (*ListResponse, error) + QueryPersonnelWithTheSameName(context.Context, *QueryPersonnelWithTheSameNameRequest) (*QueryPersonnelWithTheSameNameResponse, error) + UsersByJobNum(context.Context, *UsersByJobNumRequest) (*ListResponse, error) + RealName(context.Context, *RealNameRequest) (*RealNameResponse, error) + Register(context.Context, *RegistRequest) (*RegisterResponse, error) + UserList(context.Context, *UserListRequest) (*UserListResponse, error) + CheckRealName(context.Context, *CheckRealNameRequest) (*CheckRealNameResponse, error) + mustEmbedUnimplementedAccountServer() +} + +// UnimplementedAccountServer must be embedded to have forward compatible implementations. +type UnimplementedAccountServer struct { + proxyImpl protocol.Invoker +} + +func (UnimplementedAccountServer) Login(context.Context, *LoginRequest) (*TokenInfo, error) { + return nil, status.Errorf(codes.Unimplemented, "method Login not implemented") +} +func (UnimplementedAccountServer) RefreshToken(context.Context, *RefreshTokenRequest) (*TokenInfo, error) { + return nil, status.Errorf(codes.Unimplemented, "method RefreshToken not implemented") +} +func (UnimplementedAccountServer) Logout(context.Context, *DecryptJwtRequest) (*CommonResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method Logout not implemented") +} +func (UnimplementedAccountServer) OffLine(context.Context, *CommonRequest) (*CommonResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method OffLine not implemented") +} +func (UnimplementedAccountServer) OnlineLog(context.Context, *LoginInfosByUserIdRequest) (*LoginLogsResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method OnlineLog not implemented") +} +func (UnimplementedAccountServer) OnlineLogById(context.Context, *OnlineLogByIdRequest) (*LoginLog, error) { + return nil, status.Errorf(codes.Unimplemented, "method OnlineLogById not implemented") +} +func (UnimplementedAccountServer) CheckPwd(context.Context, *CheckPwdRequest) (*UpdateResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method CheckPwd not implemented") +} +func (UnimplementedAccountServer) SendMsg(context.Context, *SendMsgRequest) (*SendMsgStatusResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method SendMsg not implemented") +} +func (UnimplementedAccountServer) SendCustomMsg(context.Context, *SendCustomMsgRequest) (*SendMsgStatusResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method SendCustomMsg not implemented") +} +func (UnimplementedAccountServer) SendExCustomMsg(context.Context, *SendCustomMsgRequest) (*SendMsgStatusResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method SendExCustomMsg not implemented") +} +func (UnimplementedAccountServer) SendMsgRegister(context.Context, *SendMsgRequest) (*SendMsgStatusResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method SendMsgRegister not implemented") +} +func (UnimplementedAccountServer) CheckMsg(context.Context, *CheckMsgRequest) (*SendMsgStatusResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method CheckMsg not implemented") +} +func (UnimplementedAccountServer) SendNewTelNumMsg(context.Context, *SendNewTelNumMsgRequest) (*SendMsgStatusResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method SendNewTelNumMsg not implemented") +} +func (UnimplementedAccountServer) UpdateTelNum(context.Context, *SendNewTelNumMsgRequest) (*SendMsgStatusResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method UpdateTelNum not implemented") +} +func (UnimplementedAccountServer) Authentication(context.Context, *AuthenticationRequest) (*RequestStatus, error) { + return nil, status.Errorf(codes.Unimplemented, "method Authentication not implemented") +} +func (UnimplementedAccountServer) DecryptJwt(context.Context, *DecryptJwtRequest) (*DecryptJwtResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method DecryptJwt not implemented") +} +func (UnimplementedAccountServer) Info(context.Context, *InfoRequest) (*UserInfoResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method Info not implemented") +} +func (UnimplementedAccountServer) JobNumGetInfo(context.Context, *JobNumGetInfoRequest) (*InfoResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method JobNumGetInfo not implemented") +} +func (UnimplementedAccountServer) List(context.Context, *ListRequest) (*ListResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method List not implemented") +} +func (UnimplementedAccountServer) RandList(context.Context, *ListRequest) (*ListResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method RandList not implemented") +} +func (UnimplementedAccountServer) ListByIDs(context.Context, *ListByIDsRequest) (*ListResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method ListByIDs not implemented") +} +func (UnimplementedAccountServer) Remove(context.Context, *RemoveRequest) (*RemoveResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method Remove not implemented") +} +func (UnimplementedAccountServer) Update(context.Context, *UpdateRequest) (*UpdateResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method Update not implemented") +} +func (UnimplementedAccountServer) UsersByTel(context.Context, *UsersByTelRequest) (*ListResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method UsersByTel not implemented") +} +func (UnimplementedAccountServer) UserByTel(context.Context, *UserByTelRequest) (*InfoResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method UserByTel not implemented") +} +func (UnimplementedAccountServer) OnlySendMsg(context.Context, *SendMsgRequest) (*SendMsgStatusResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method OnlySendMsg not implemented") +} +func (UnimplementedAccountServer) OnlyCheckMsg(context.Context, *CheckMsgRequest) (*SendMsgStatusResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method OnlyCheckMsg not implemented") +} +func (UnimplementedAccountServer) MailAccountByNickName(context.Context, *MailAccountByNickNameRequest) (*MaiAccountResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method MailAccountByNickName not implemented") +} +func (UnimplementedAccountServer) ListV2(context.Context, *ListV2Request) (*ListResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method ListV2 not implemented") +} +func (UnimplementedAccountServer) QueryPersonnelWithTheSameName(context.Context, *QueryPersonnelWithTheSameNameRequest) (*QueryPersonnelWithTheSameNameResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method QueryPersonnelWithTheSameName not implemented") +} +func (UnimplementedAccountServer) UsersByJobNum(context.Context, *UsersByJobNumRequest) (*ListResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method UsersByJobNum not implemented") +} +func (UnimplementedAccountServer) RealName(context.Context, *RealNameRequest) (*RealNameResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method RealName not implemented") +} +func (UnimplementedAccountServer) Register(context.Context, *RegistRequest) (*RegisterResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method Register not implemented") +} +func (UnimplementedAccountServer) UserList(context.Context, *UserListRequest) (*UserListResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method UserList not implemented") +} +func (UnimplementedAccountServer) CheckRealName(context.Context, *CheckRealNameRequest) (*CheckRealNameResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method CheckRealName not implemented") +} +func (s *UnimplementedAccountServer) XXX_SetProxyImpl(impl protocol.Invoker) { + s.proxyImpl = impl +} + +func (s *UnimplementedAccountServer) XXX_GetProxyImpl() protocol.Invoker { + return s.proxyImpl +} + +func (s *UnimplementedAccountServer) XXX_ServiceDesc() *grpc_go.ServiceDesc { + return &Account_ServiceDesc +} +func (s *UnimplementedAccountServer) XXX_InterfaceName() string { + return "account.Account" +} + +func (UnimplementedAccountServer) mustEmbedUnimplementedAccountServer() {} + +// UnsafeAccountServer may be embedded to opt out of forward compatibility for this service. +// Use of this interface is not recommended, as added methods to AccountServer will +// result in compilation errors. +type UnsafeAccountServer interface { + mustEmbedUnimplementedAccountServer() +} + +func RegisterAccountServer(s grpc_go.ServiceRegistrar, srv AccountServer) { + s.RegisterService(&Account_ServiceDesc, srv) +} + +func _Account_Login_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(LoginRequest) + if err := dec(in); err != nil { + return nil, err + } + base := srv.(dubbo3.Dubbo3GrpcService) + args := []interface{}{} + args = append(args, in) + md, _ := metadata.FromIncomingContext(ctx) + invAttachment := make(map[string]interface{}, len(md)) + for k, v := range md { + invAttachment[k] = v + } + invo := invocation.NewRPCInvocation("Login", args, invAttachment) + if interceptor == nil { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + info := &grpc_go.UnaryServerInfo{ + Server: srv, + FullMethod: ctx.Value("XXX_TRIPLE_GO_INTERFACE_NAME").(string), + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + return interceptor(ctx, in, info, handler) +} + +func _Account_RefreshToken_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(RefreshTokenRequest) + if err := dec(in); err != nil { + return nil, err + } + base := srv.(dubbo3.Dubbo3GrpcService) + args := []interface{}{} + args = append(args, in) + md, _ := metadata.FromIncomingContext(ctx) + invAttachment := make(map[string]interface{}, len(md)) + for k, v := range md { + invAttachment[k] = v + } + invo := invocation.NewRPCInvocation("RefreshToken", args, invAttachment) + if interceptor == nil { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + info := &grpc_go.UnaryServerInfo{ + Server: srv, + FullMethod: ctx.Value("XXX_TRIPLE_GO_INTERFACE_NAME").(string), + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + return interceptor(ctx, in, info, handler) +} + +func _Account_Logout_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(DecryptJwtRequest) + if err := dec(in); err != nil { + return nil, err + } + base := srv.(dubbo3.Dubbo3GrpcService) + args := []interface{}{} + args = append(args, in) + md, _ := metadata.FromIncomingContext(ctx) + invAttachment := make(map[string]interface{}, len(md)) + for k, v := range md { + invAttachment[k] = v + } + invo := invocation.NewRPCInvocation("Logout", args, invAttachment) + if interceptor == nil { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + info := &grpc_go.UnaryServerInfo{ + Server: srv, + FullMethod: ctx.Value("XXX_TRIPLE_GO_INTERFACE_NAME").(string), + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + return interceptor(ctx, in, info, handler) +} + +func _Account_OffLine_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(CommonRequest) + if err := dec(in); err != nil { + return nil, err + } + base := srv.(dubbo3.Dubbo3GrpcService) + args := []interface{}{} + args = append(args, in) + md, _ := metadata.FromIncomingContext(ctx) + invAttachment := make(map[string]interface{}, len(md)) + for k, v := range md { + invAttachment[k] = v + } + invo := invocation.NewRPCInvocation("OffLine", args, invAttachment) + if interceptor == nil { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + info := &grpc_go.UnaryServerInfo{ + Server: srv, + FullMethod: ctx.Value("XXX_TRIPLE_GO_INTERFACE_NAME").(string), + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + return interceptor(ctx, in, info, handler) +} + +func _Account_OnlineLog_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(LoginInfosByUserIdRequest) + if err := dec(in); err != nil { + return nil, err + } + base := srv.(dubbo3.Dubbo3GrpcService) + args := []interface{}{} + args = append(args, in) + md, _ := metadata.FromIncomingContext(ctx) + invAttachment := make(map[string]interface{}, len(md)) + for k, v := range md { + invAttachment[k] = v + } + invo := invocation.NewRPCInvocation("OnlineLog", args, invAttachment) + if interceptor == nil { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + info := &grpc_go.UnaryServerInfo{ + Server: srv, + FullMethod: ctx.Value("XXX_TRIPLE_GO_INTERFACE_NAME").(string), + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + return interceptor(ctx, in, info, handler) +} + +func _Account_OnlineLogById_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(OnlineLogByIdRequest) + if err := dec(in); err != nil { + return nil, err + } + base := srv.(dubbo3.Dubbo3GrpcService) + args := []interface{}{} + args = append(args, in) + md, _ := metadata.FromIncomingContext(ctx) + invAttachment := make(map[string]interface{}, len(md)) + for k, v := range md { + invAttachment[k] = v + } + invo := invocation.NewRPCInvocation("OnlineLogById", args, invAttachment) + if interceptor == nil { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + info := &grpc_go.UnaryServerInfo{ + Server: srv, + FullMethod: ctx.Value("XXX_TRIPLE_GO_INTERFACE_NAME").(string), + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + return interceptor(ctx, in, info, handler) +} + +func _Account_CheckPwd_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(CheckPwdRequest) + if err := dec(in); err != nil { + return nil, err + } + base := srv.(dubbo3.Dubbo3GrpcService) + args := []interface{}{} + args = append(args, in) + md, _ := metadata.FromIncomingContext(ctx) + invAttachment := make(map[string]interface{}, len(md)) + for k, v := range md { + invAttachment[k] = v + } + invo := invocation.NewRPCInvocation("CheckPwd", args, invAttachment) + if interceptor == nil { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + info := &grpc_go.UnaryServerInfo{ + Server: srv, + FullMethod: ctx.Value("XXX_TRIPLE_GO_INTERFACE_NAME").(string), + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + return interceptor(ctx, in, info, handler) +} + +func _Account_SendMsg_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(SendMsgRequest) + if err := dec(in); err != nil { + return nil, err + } + base := srv.(dubbo3.Dubbo3GrpcService) + args := []interface{}{} + args = append(args, in) + md, _ := metadata.FromIncomingContext(ctx) + invAttachment := make(map[string]interface{}, len(md)) + for k, v := range md { + invAttachment[k] = v + } + invo := invocation.NewRPCInvocation("SendMsg", args, invAttachment) + if interceptor == nil { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + info := &grpc_go.UnaryServerInfo{ + Server: srv, + FullMethod: ctx.Value("XXX_TRIPLE_GO_INTERFACE_NAME").(string), + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + return interceptor(ctx, in, info, handler) +} + +func _Account_SendCustomMsg_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(SendCustomMsgRequest) + if err := dec(in); err != nil { + return nil, err + } + base := srv.(dubbo3.Dubbo3GrpcService) + args := []interface{}{} + args = append(args, in) + md, _ := metadata.FromIncomingContext(ctx) + invAttachment := make(map[string]interface{}, len(md)) + for k, v := range md { + invAttachment[k] = v + } + invo := invocation.NewRPCInvocation("SendCustomMsg", args, invAttachment) + if interceptor == nil { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + info := &grpc_go.UnaryServerInfo{ + Server: srv, + FullMethod: ctx.Value("XXX_TRIPLE_GO_INTERFACE_NAME").(string), + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + return interceptor(ctx, in, info, handler) +} + +func _Account_SendExCustomMsg_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(SendCustomMsgRequest) + if err := dec(in); err != nil { + return nil, err + } + base := srv.(dubbo3.Dubbo3GrpcService) + args := []interface{}{} + args = append(args, in) + md, _ := metadata.FromIncomingContext(ctx) + invAttachment := make(map[string]interface{}, len(md)) + for k, v := range md { + invAttachment[k] = v + } + invo := invocation.NewRPCInvocation("SendExCustomMsg", args, invAttachment) + if interceptor == nil { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + info := &grpc_go.UnaryServerInfo{ + Server: srv, + FullMethod: ctx.Value("XXX_TRIPLE_GO_INTERFACE_NAME").(string), + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + return interceptor(ctx, in, info, handler) +} + +func _Account_SendMsgRegister_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(SendMsgRequest) + if err := dec(in); err != nil { + return nil, err + } + base := srv.(dubbo3.Dubbo3GrpcService) + args := []interface{}{} + args = append(args, in) + md, _ := metadata.FromIncomingContext(ctx) + invAttachment := make(map[string]interface{}, len(md)) + for k, v := range md { + invAttachment[k] = v + } + invo := invocation.NewRPCInvocation("SendMsgRegister", args, invAttachment) + if interceptor == nil { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + info := &grpc_go.UnaryServerInfo{ + Server: srv, + FullMethod: ctx.Value("XXX_TRIPLE_GO_INTERFACE_NAME").(string), + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + return interceptor(ctx, in, info, handler) +} + +func _Account_CheckMsg_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(CheckMsgRequest) + if err := dec(in); err != nil { + return nil, err + } + base := srv.(dubbo3.Dubbo3GrpcService) + args := []interface{}{} + args = append(args, in) + md, _ := metadata.FromIncomingContext(ctx) + invAttachment := make(map[string]interface{}, len(md)) + for k, v := range md { + invAttachment[k] = v + } + invo := invocation.NewRPCInvocation("CheckMsg", args, invAttachment) + if interceptor == nil { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + info := &grpc_go.UnaryServerInfo{ + Server: srv, + FullMethod: ctx.Value("XXX_TRIPLE_GO_INTERFACE_NAME").(string), + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + return interceptor(ctx, in, info, handler) +} + +func _Account_SendNewTelNumMsg_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(SendNewTelNumMsgRequest) + if err := dec(in); err != nil { + return nil, err + } + base := srv.(dubbo3.Dubbo3GrpcService) + args := []interface{}{} + args = append(args, in) + md, _ := metadata.FromIncomingContext(ctx) + invAttachment := make(map[string]interface{}, len(md)) + for k, v := range md { + invAttachment[k] = v + } + invo := invocation.NewRPCInvocation("SendNewTelNumMsg", args, invAttachment) + if interceptor == nil { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + info := &grpc_go.UnaryServerInfo{ + Server: srv, + FullMethod: ctx.Value("XXX_TRIPLE_GO_INTERFACE_NAME").(string), + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + return interceptor(ctx, in, info, handler) +} + +func _Account_UpdateTelNum_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(SendNewTelNumMsgRequest) + if err := dec(in); err != nil { + return nil, err + } + base := srv.(dubbo3.Dubbo3GrpcService) + args := []interface{}{} + args = append(args, in) + md, _ := metadata.FromIncomingContext(ctx) + invAttachment := make(map[string]interface{}, len(md)) + for k, v := range md { + invAttachment[k] = v + } + invo := invocation.NewRPCInvocation("UpdateTelNum", args, invAttachment) + if interceptor == nil { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + info := &grpc_go.UnaryServerInfo{ + Server: srv, + FullMethod: ctx.Value("XXX_TRIPLE_GO_INTERFACE_NAME").(string), + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + return interceptor(ctx, in, info, handler) +} + +func _Account_Authentication_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(AuthenticationRequest) + if err := dec(in); err != nil { + return nil, err + } + base := srv.(dubbo3.Dubbo3GrpcService) + args := []interface{}{} + args = append(args, in) + md, _ := metadata.FromIncomingContext(ctx) + invAttachment := make(map[string]interface{}, len(md)) + for k, v := range md { + invAttachment[k] = v + } + invo := invocation.NewRPCInvocation("Authentication", args, invAttachment) + if interceptor == nil { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + info := &grpc_go.UnaryServerInfo{ + Server: srv, + FullMethod: ctx.Value("XXX_TRIPLE_GO_INTERFACE_NAME").(string), + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + return interceptor(ctx, in, info, handler) +} + +func _Account_DecryptJwt_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(DecryptJwtRequest) + if err := dec(in); err != nil { + return nil, err + } + base := srv.(dubbo3.Dubbo3GrpcService) + args := []interface{}{} + args = append(args, in) + md, _ := metadata.FromIncomingContext(ctx) + invAttachment := make(map[string]interface{}, len(md)) + for k, v := range md { + invAttachment[k] = v + } + invo := invocation.NewRPCInvocation("DecryptJwt", args, invAttachment) + if interceptor == nil { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + info := &grpc_go.UnaryServerInfo{ + Server: srv, + FullMethod: ctx.Value("XXX_TRIPLE_GO_INTERFACE_NAME").(string), + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + return interceptor(ctx, in, info, handler) +} + +func _Account_Info_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(InfoRequest) + if err := dec(in); err != nil { + return nil, err + } + base := srv.(dubbo3.Dubbo3GrpcService) + args := []interface{}{} + args = append(args, in) + md, _ := metadata.FromIncomingContext(ctx) + invAttachment := make(map[string]interface{}, len(md)) + for k, v := range md { + invAttachment[k] = v + } + invo := invocation.NewRPCInvocation("Info", args, invAttachment) + if interceptor == nil { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + info := &grpc_go.UnaryServerInfo{ + Server: srv, + FullMethod: ctx.Value("XXX_TRIPLE_GO_INTERFACE_NAME").(string), + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + return interceptor(ctx, in, info, handler) +} + +func _Account_JobNumGetInfo_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(JobNumGetInfoRequest) + if err := dec(in); err != nil { + return nil, err + } + base := srv.(dubbo3.Dubbo3GrpcService) + args := []interface{}{} + args = append(args, in) + md, _ := metadata.FromIncomingContext(ctx) + invAttachment := make(map[string]interface{}, len(md)) + for k, v := range md { + invAttachment[k] = v + } + invo := invocation.NewRPCInvocation("JobNumGetInfo", args, invAttachment) + if interceptor == nil { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + info := &grpc_go.UnaryServerInfo{ + Server: srv, + FullMethod: ctx.Value("XXX_TRIPLE_GO_INTERFACE_NAME").(string), + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + return interceptor(ctx, in, info, handler) +} + +func _Account_List_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(ListRequest) + if err := dec(in); err != nil { + return nil, err + } + base := srv.(dubbo3.Dubbo3GrpcService) + args := []interface{}{} + args = append(args, in) + md, _ := metadata.FromIncomingContext(ctx) + invAttachment := make(map[string]interface{}, len(md)) + for k, v := range md { + invAttachment[k] = v + } + invo := invocation.NewRPCInvocation("List", args, invAttachment) + if interceptor == nil { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + info := &grpc_go.UnaryServerInfo{ + Server: srv, + FullMethod: ctx.Value("XXX_TRIPLE_GO_INTERFACE_NAME").(string), + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + return interceptor(ctx, in, info, handler) +} + +func _Account_RandList_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(ListRequest) + if err := dec(in); err != nil { + return nil, err + } + base := srv.(dubbo3.Dubbo3GrpcService) + args := []interface{}{} + args = append(args, in) + md, _ := metadata.FromIncomingContext(ctx) + invAttachment := make(map[string]interface{}, len(md)) + for k, v := range md { + invAttachment[k] = v + } + invo := invocation.NewRPCInvocation("RandList", args, invAttachment) + if interceptor == nil { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + info := &grpc_go.UnaryServerInfo{ + Server: srv, + FullMethod: ctx.Value("XXX_TRIPLE_GO_INTERFACE_NAME").(string), + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + return interceptor(ctx, in, info, handler) +} + +func _Account_ListByIDs_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(ListByIDsRequest) + if err := dec(in); err != nil { + return nil, err + } + base := srv.(dubbo3.Dubbo3GrpcService) + args := []interface{}{} + args = append(args, in) + md, _ := metadata.FromIncomingContext(ctx) + invAttachment := make(map[string]interface{}, len(md)) + for k, v := range md { + invAttachment[k] = v + } + invo := invocation.NewRPCInvocation("ListByIDs", args, invAttachment) + if interceptor == nil { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + info := &grpc_go.UnaryServerInfo{ + Server: srv, + FullMethod: ctx.Value("XXX_TRIPLE_GO_INTERFACE_NAME").(string), + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + return interceptor(ctx, in, info, handler) +} + +func _Account_Remove_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(RemoveRequest) + if err := dec(in); err != nil { + return nil, err + } + base := srv.(dubbo3.Dubbo3GrpcService) + args := []interface{}{} + args = append(args, in) + md, _ := metadata.FromIncomingContext(ctx) + invAttachment := make(map[string]interface{}, len(md)) + for k, v := range md { + invAttachment[k] = v + } + invo := invocation.NewRPCInvocation("Remove", args, invAttachment) + if interceptor == nil { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + info := &grpc_go.UnaryServerInfo{ + Server: srv, + FullMethod: ctx.Value("XXX_TRIPLE_GO_INTERFACE_NAME").(string), + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + return interceptor(ctx, in, info, handler) +} + +func _Account_Update_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(UpdateRequest) + if err := dec(in); err != nil { + return nil, err + } + base := srv.(dubbo3.Dubbo3GrpcService) + args := []interface{}{} + args = append(args, in) + md, _ := metadata.FromIncomingContext(ctx) + invAttachment := make(map[string]interface{}, len(md)) + for k, v := range md { + invAttachment[k] = v + } + invo := invocation.NewRPCInvocation("Update", args, invAttachment) + if interceptor == nil { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + info := &grpc_go.UnaryServerInfo{ + Server: srv, + FullMethod: ctx.Value("XXX_TRIPLE_GO_INTERFACE_NAME").(string), + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + return interceptor(ctx, in, info, handler) +} + +func _Account_UsersByTel_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(UsersByTelRequest) + if err := dec(in); err != nil { + return nil, err + } + base := srv.(dubbo3.Dubbo3GrpcService) + args := []interface{}{} + args = append(args, in) + md, _ := metadata.FromIncomingContext(ctx) + invAttachment := make(map[string]interface{}, len(md)) + for k, v := range md { + invAttachment[k] = v + } + invo := invocation.NewRPCInvocation("UsersByTel", args, invAttachment) + if interceptor == nil { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + info := &grpc_go.UnaryServerInfo{ + Server: srv, + FullMethod: ctx.Value("XXX_TRIPLE_GO_INTERFACE_NAME").(string), + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + return interceptor(ctx, in, info, handler) +} + +func _Account_UserByTel_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(UserByTelRequest) + if err := dec(in); err != nil { + return nil, err + } + base := srv.(dubbo3.Dubbo3GrpcService) + args := []interface{}{} + args = append(args, in) + md, _ := metadata.FromIncomingContext(ctx) + invAttachment := make(map[string]interface{}, len(md)) + for k, v := range md { + invAttachment[k] = v + } + invo := invocation.NewRPCInvocation("UserByTel", args, invAttachment) + if interceptor == nil { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + info := &grpc_go.UnaryServerInfo{ + Server: srv, + FullMethod: ctx.Value("XXX_TRIPLE_GO_INTERFACE_NAME").(string), + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + return interceptor(ctx, in, info, handler) +} + +func _Account_OnlySendMsg_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(SendMsgRequest) + if err := dec(in); err != nil { + return nil, err + } + base := srv.(dubbo3.Dubbo3GrpcService) + args := []interface{}{} + args = append(args, in) + md, _ := metadata.FromIncomingContext(ctx) + invAttachment := make(map[string]interface{}, len(md)) + for k, v := range md { + invAttachment[k] = v + } + invo := invocation.NewRPCInvocation("OnlySendMsg", args, invAttachment) + if interceptor == nil { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + info := &grpc_go.UnaryServerInfo{ + Server: srv, + FullMethod: ctx.Value("XXX_TRIPLE_GO_INTERFACE_NAME").(string), + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + return interceptor(ctx, in, info, handler) +} + +func _Account_OnlyCheckMsg_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(CheckMsgRequest) + if err := dec(in); err != nil { + return nil, err + } + base := srv.(dubbo3.Dubbo3GrpcService) + args := []interface{}{} + args = append(args, in) + md, _ := metadata.FromIncomingContext(ctx) + invAttachment := make(map[string]interface{}, len(md)) + for k, v := range md { + invAttachment[k] = v + } + invo := invocation.NewRPCInvocation("OnlyCheckMsg", args, invAttachment) + if interceptor == nil { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + info := &grpc_go.UnaryServerInfo{ + Server: srv, + FullMethod: ctx.Value("XXX_TRIPLE_GO_INTERFACE_NAME").(string), + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + return interceptor(ctx, in, info, handler) +} + +func _Account_MailAccountByNickName_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(MailAccountByNickNameRequest) + if err := dec(in); err != nil { + return nil, err + } + base := srv.(dubbo3.Dubbo3GrpcService) + args := []interface{}{} + args = append(args, in) + md, _ := metadata.FromIncomingContext(ctx) + invAttachment := make(map[string]interface{}, len(md)) + for k, v := range md { + invAttachment[k] = v + } + invo := invocation.NewRPCInvocation("MailAccountByNickName", args, invAttachment) + if interceptor == nil { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + info := &grpc_go.UnaryServerInfo{ + Server: srv, + FullMethod: ctx.Value("XXX_TRIPLE_GO_INTERFACE_NAME").(string), + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + return interceptor(ctx, in, info, handler) +} + +func _Account_ListV2_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(ListV2Request) + if err := dec(in); err != nil { + return nil, err + } + base := srv.(dubbo3.Dubbo3GrpcService) + args := []interface{}{} + args = append(args, in) + md, _ := metadata.FromIncomingContext(ctx) + invAttachment := make(map[string]interface{}, len(md)) + for k, v := range md { + invAttachment[k] = v + } + invo := invocation.NewRPCInvocation("ListV2", args, invAttachment) + if interceptor == nil { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + info := &grpc_go.UnaryServerInfo{ + Server: srv, + FullMethod: ctx.Value("XXX_TRIPLE_GO_INTERFACE_NAME").(string), + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + return interceptor(ctx, in, info, handler) +} + +func _Account_QueryPersonnelWithTheSameName_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(QueryPersonnelWithTheSameNameRequest) + if err := dec(in); err != nil { + return nil, err + } + base := srv.(dubbo3.Dubbo3GrpcService) + args := []interface{}{} + args = append(args, in) + md, _ := metadata.FromIncomingContext(ctx) + invAttachment := make(map[string]interface{}, len(md)) + for k, v := range md { + invAttachment[k] = v + } + invo := invocation.NewRPCInvocation("QueryPersonnelWithTheSameName", args, invAttachment) + if interceptor == nil { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + info := &grpc_go.UnaryServerInfo{ + Server: srv, + FullMethod: ctx.Value("XXX_TRIPLE_GO_INTERFACE_NAME").(string), + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + return interceptor(ctx, in, info, handler) +} + +func _Account_UsersByJobNum_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(UsersByJobNumRequest) + if err := dec(in); err != nil { + return nil, err + } + base := srv.(dubbo3.Dubbo3GrpcService) + args := []interface{}{} + args = append(args, in) + md, _ := metadata.FromIncomingContext(ctx) + invAttachment := make(map[string]interface{}, len(md)) + for k, v := range md { + invAttachment[k] = v + } + invo := invocation.NewRPCInvocation("UsersByJobNum", args, invAttachment) + if interceptor == nil { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + info := &grpc_go.UnaryServerInfo{ + Server: srv, + FullMethod: ctx.Value("XXX_TRIPLE_GO_INTERFACE_NAME").(string), + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + return interceptor(ctx, in, info, handler) +} + +func _Account_RealName_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(RealNameRequest) + if err := dec(in); err != nil { + return nil, err + } + base := srv.(dubbo3.Dubbo3GrpcService) + args := []interface{}{} + args = append(args, in) + md, _ := metadata.FromIncomingContext(ctx) + invAttachment := make(map[string]interface{}, len(md)) + for k, v := range md { + invAttachment[k] = v + } + invo := invocation.NewRPCInvocation("RealName", args, invAttachment) + if interceptor == nil { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + info := &grpc_go.UnaryServerInfo{ + Server: srv, + FullMethod: ctx.Value("XXX_TRIPLE_GO_INTERFACE_NAME").(string), + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + return interceptor(ctx, in, info, handler) +} + +func _Account_Register_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(RegistRequest) + if err := dec(in); err != nil { + return nil, err + } + base := srv.(dubbo3.Dubbo3GrpcService) + args := []interface{}{} + args = append(args, in) + md, _ := metadata.FromIncomingContext(ctx) + invAttachment := make(map[string]interface{}, len(md)) + for k, v := range md { + invAttachment[k] = v + } + invo := invocation.NewRPCInvocation("Register", args, invAttachment) + if interceptor == nil { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + info := &grpc_go.UnaryServerInfo{ + Server: srv, + FullMethod: ctx.Value("XXX_TRIPLE_GO_INTERFACE_NAME").(string), + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + return interceptor(ctx, in, info, handler) +} + +func _Account_UserList_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(UserListRequest) + if err := dec(in); err != nil { + return nil, err + } + base := srv.(dubbo3.Dubbo3GrpcService) + args := []interface{}{} + args = append(args, in) + md, _ := metadata.FromIncomingContext(ctx) + invAttachment := make(map[string]interface{}, len(md)) + for k, v := range md { + invAttachment[k] = v + } + invo := invocation.NewRPCInvocation("UserList", args, invAttachment) + if interceptor == nil { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + info := &grpc_go.UnaryServerInfo{ + Server: srv, + FullMethod: ctx.Value("XXX_TRIPLE_GO_INTERFACE_NAME").(string), + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + return interceptor(ctx, in, info, handler) +} + +func _Account_CheckRealName_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(CheckRealNameRequest) + if err := dec(in); err != nil { + return nil, err + } + base := srv.(dubbo3.Dubbo3GrpcService) + args := []interface{}{} + args = append(args, in) + md, _ := metadata.FromIncomingContext(ctx) + invAttachment := make(map[string]interface{}, len(md)) + for k, v := range md { + invAttachment[k] = v + } + invo := invocation.NewRPCInvocation("CheckRealName", args, invAttachment) + if interceptor == nil { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + info := &grpc_go.UnaryServerInfo{ + Server: srv, + FullMethod: ctx.Value("XXX_TRIPLE_GO_INTERFACE_NAME").(string), + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + return interceptor(ctx, in, info, handler) +} + +// Account_ServiceDesc is the grpc_go.ServiceDesc for Account service. +// It's only intended for direct use with grpc_go.RegisterService, +// and not to be introspected or modified (even as a copy) +var Account_ServiceDesc = grpc_go.ServiceDesc{ + ServiceName: "account.Account", + HandlerType: (*AccountServer)(nil), + Methods: []grpc_go.MethodDesc{ + { + MethodName: "Login", + Handler: _Account_Login_Handler, + }, + { + MethodName: "RefreshToken", + Handler: _Account_RefreshToken_Handler, + }, + { + MethodName: "Logout", + Handler: _Account_Logout_Handler, + }, + { + MethodName: "OffLine", + Handler: _Account_OffLine_Handler, + }, + { + MethodName: "OnlineLog", + Handler: _Account_OnlineLog_Handler, + }, + { + MethodName: "OnlineLogById", + Handler: _Account_OnlineLogById_Handler, + }, + { + MethodName: "CheckPwd", + Handler: _Account_CheckPwd_Handler, + }, + { + MethodName: "SendMsg", + Handler: _Account_SendMsg_Handler, + }, + { + MethodName: "SendCustomMsg", + Handler: _Account_SendCustomMsg_Handler, + }, + { + MethodName: "SendExCustomMsg", + Handler: _Account_SendExCustomMsg_Handler, + }, + { + MethodName: "SendMsgRegister", + Handler: _Account_SendMsgRegister_Handler, + }, + { + MethodName: "CheckMsg", + Handler: _Account_CheckMsg_Handler, + }, + { + MethodName: "SendNewTelNumMsg", + Handler: _Account_SendNewTelNumMsg_Handler, + }, + { + MethodName: "UpdateTelNum", + Handler: _Account_UpdateTelNum_Handler, + }, + { + MethodName: "Authentication", + Handler: _Account_Authentication_Handler, + }, + { + MethodName: "DecryptJwt", + Handler: _Account_DecryptJwt_Handler, + }, + { + MethodName: "Info", + Handler: _Account_Info_Handler, + }, + { + MethodName: "JobNumGetInfo", + Handler: _Account_JobNumGetInfo_Handler, + }, + { + MethodName: "List", + Handler: _Account_List_Handler, + }, + { + MethodName: "RandList", + Handler: _Account_RandList_Handler, + }, + { + MethodName: "ListByIDs", + Handler: _Account_ListByIDs_Handler, + }, + { + MethodName: "Remove", + Handler: _Account_Remove_Handler, + }, + { + MethodName: "Update", + Handler: _Account_Update_Handler, + }, + { + MethodName: "UsersByTel", + Handler: _Account_UsersByTel_Handler, + }, + { + MethodName: "UserByTel", + Handler: _Account_UserByTel_Handler, + }, + { + MethodName: "OnlySendMsg", + Handler: _Account_OnlySendMsg_Handler, + }, + { + MethodName: "OnlyCheckMsg", + Handler: _Account_OnlyCheckMsg_Handler, + }, + { + MethodName: "MailAccountByNickName", + Handler: _Account_MailAccountByNickName_Handler, + }, + { + MethodName: "ListV2", + Handler: _Account_ListV2_Handler, + }, + { + MethodName: "QueryPersonnelWithTheSameName", + Handler: _Account_QueryPersonnelWithTheSameName_Handler, + }, + { + MethodName: "UsersByJobNum", + Handler: _Account_UsersByJobNum_Handler, + }, + { + MethodName: "RealName", + Handler: _Account_RealName_Handler, + }, + { + MethodName: "Register", + Handler: _Account_Register_Handler, + }, + { + MethodName: "UserList", + Handler: _Account_UserList_Handler, + }, + { + MethodName: "CheckRealName", + Handler: _Account_CheckRealName_Handler, + }, + }, + Streams: []grpc_go.StreamDesc{}, + Metadata: "api/account/account.proto", +} diff --git a/cmd/app.go b/cmd/app.go index 8658c3b..7fb87a1 100644 --- a/cmd/app.go +++ b/cmd/app.go @@ -19,6 +19,10 @@ package main import ( "fmt" + "fonchain-fiee/cmd/config" + "fonchain-fiee/pkg/cache" + "fonchain-fiee/pkg/common/gpt" + "fonchain-fiee/pkg/router" ) func main() { diff --git a/cmd/config/config.go b/cmd/config/config.go index b04b416..12533b3 100644 --- a/cmd/config/config.go +++ b/cmd/config/config.go @@ -3,13 +3,15 @@ package config import ( "errors" "fmt" + "fonchain-fiee/pkg/common" "github.com/BurntSushi/toml" + "gopkg.in/ini.v1" "os" ) /********start-配置信息*********/ -//Baiduco 百度上链 +// Baiduco 百度上链 type Mysql struct { Db string DbHost string @@ -90,3 +92,17 @@ func LoadEnvFromFileInfo(data string) (*Config, error) { return AppConfig, nil } +func GetOptions() { + iniConf, err := common.GetConf() + if err != nil { + panic("iniConf error") + } + file, err := ini.Load(iniConf) + if err != nil { + fmt.Println("服务器配置文件读取错误,请检查文件路径:", err) + } + LoadServer(file) +} +func LoadServer(file *ini.File) { + +} diff --git a/go.mod b/go.mod index 247258d..8a6f752 100644 --- a/go.mod +++ b/go.mod @@ -1,6 +1,8 @@ module fonchain-fiee -go 1.20 +go 1.21.0 + +toolchain go1.22rc1 require ( dubbo.apache.org/dubbo-go/v3 v3.1.1 diff --git a/go.sum b/go.sum index 719007c..fd0ccbd 100644 --- a/go.sum +++ b/go.sum @@ -1506,6 +1506,7 @@ golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJ golang.org/x/sync v0.0.0-20220929204114-8fcdb60fdcc0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.10.0 h1:3NQrjDixjgGwUOCaF8w2+VYHv0Ve/vGYSbdkTa98gmQ= +golang.org/x/sync v0.10.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= golang.org/x/sys v0.0.0-20180823144017-11551d06cbcc/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= diff --git a/pkg/common/jwt/jwt.go b/pkg/common/jwt/jwt.go new file mode 100644 index 0000000..4f8fb9d --- /dev/null +++ b/pkg/common/jwt/jwt.go @@ -0,0 +1,114 @@ +package jwt + +import ( + "github.com/fonchain_enterprise/blockchain-main/pkg/common/m" + "github.com/fonchain_enterprise/blockchain-main/pkg/service/wxOpnid" + "math/rand" + "time" + + "github.com/dgrijalva/jwt-go" +) + +type Claims struct { + ID uint `json:"id"` + Account string `json:"account"` + Domain string `json:"domain"` + NickName string `json:"nickName"` + Phone string `json:"phone"` + jwt.StandardClaims +} + +type RefreshClaims struct { + ID uint `json:"id"` + RId int `json:"rid"` + jwt.StandardClaims +} + +func GenerateTotalToken(id uint, account string, domain string, nickName string, hour int, phone string, jwtSecret []byte) (string, string, error) { + token, err := GenerateToken(id, account, domain, nickName, hour, phone, jwtSecret) + if err != nil { + return "", "", err + } + refreshToken, err := GenerateRefreshToken(id, domain, m.RefreshTokenTime, jwtSecret) + if err != nil { + return "", "", err + } + + return token, refreshToken, err +} + +// GenerateToken 签发用户Token +func GenerateToken(id uint, account string, domain string, nickName string, hour int, phone string, jwtSecret []byte) (string, error) { + nowTime := time.Now() + expireTime := nowTime.Add(time.Duration(hour) * time.Hour) + claims := Claims{ + ID: id, + Account: account, + Domain: domain, + NickName: nickName, + Phone: phone, + StandardClaims: jwt.StandardClaims{ + ExpiresAt: expireTime.Unix(), + Issuer: domain, + }, + } + tokenClaims := jwt.NewWithClaims(jwt.SigningMethodHS256, claims) + token, err := tokenClaims.SignedString(jwtSecret) + return token, err +} + +// ParseToken 验证用户token +func ParseToken(token string, jwtSecret []byte) (*Claims, error) { + tokenClaims, err := jwt.ParseWithClaims(token, &Claims{}, func(token *jwt.Token) (interface{}, error) { + return jwtSecret, nil + }) + if tokenClaims != nil { + if claims, ok := tokenClaims.Claims.(*Claims); ok && tokenClaims.Valid { + return claims, nil + } + } + return nil, err +} + +// GenerateRefreshToken 签发用户Token +func GenerateRefreshToken(id uint, domain string, hour int, jwtSecret []byte) (string, error) { + nowTime := time.Now() + expireTime := nowTime.Add(time.Duration(hour) * time.Hour) + claims := RefreshClaims{ + ID: id, + RId: rand.Intn(999), + StandardClaims: jwt.StandardClaims{ + ExpiresAt: expireTime.Unix(), + Issuer: domain, + }, + } + tokenClaims := jwt.NewWithClaims(jwt.SigningMethodHS256, claims) + token, err := tokenClaims.SignedString(jwtSecret) + return token, err +} + +// ParseRefreshToken 验证用户token +func ParseRefreshToken(token string, jwtSecret []byte) (*RefreshClaims, error) { + tokenClaims, err := jwt.ParseWithClaims(token, &RefreshClaims{}, func(token *jwt.Token) (interface{}, error) { + return jwtSecret, nil + }) + if tokenClaims != nil { + if claims, ok := tokenClaims.Claims.(*RefreshClaims); ok && tokenClaims.Valid { + return claims, nil + } + } + return nil, err +} + +// ParseOpenidToken 验证wx用户 +func ParseOpenidToken(token string) (*wxOpnid.Claims, error) { + tokenClaims, err := jwt.ParseWithClaims(token, &Claims{}, func(token *jwt.Token) (interface{}, error) { + return m.JWTSecret, nil + }) + if tokenClaims != nil { + if claims, ok := tokenClaims.Claims.(*wxOpnid.Claims); ok && tokenClaims.Valid { + return claims, nil + } + } + return nil, err +} diff --git a/pkg/common/jwt/jwt_test.go b/pkg/common/jwt/jwt_test.go new file mode 100644 index 0000000..3708078 --- /dev/null +++ b/pkg/common/jwt/jwt_test.go @@ -0,0 +1,52 @@ +package jwt + +import ( + "fmt" + "github.com/fonchain_enterprise/blockchain-main/pkg/common/m" + "math/rand" + "testing" + "time" +) + +func TestParseToken(t *testing.T) { + // 获取当前时间戳,精确到纳秒 + nanoTimestamp := time.Now().UnixNano() + // 将纳秒时间戳转换为毫秒 + milliTimestamp := nanoTimestamp / 1e6 + // 生成一个随机数,可以根据需要调整随机数的位数 + rand.NewSource(time.Now().UnixNano()) + randomNumber := rand.Intn(999) + // 格式化订单编号(确保格式化后的位数固定) + orderID := fmt.Sprintf("%d%03d", milliTimestamp, randomNumber) + fmt.Println(orderID) + str := "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6MjMzLCJhY2NvdW50IjoiVU1jektDWDVTRHpnZm43eDZkNTFLMTYxaThZNlhjdWVNIiwiZG9tYWluIjoiYXJ0aXN0aW5mbyIsIm5pY2tOYW1lIjoiMTM5NjIzMTA3NjUiLCJwaG9uZSI6IjEzOTYyMzEwNzY1IiwiZXhwIjoxNjg0NzYyMjY2LCJpc3MiOiJtYWxsIn0.8zG3OA9uRJnzxYorQ2_cK6FhQuMlsi7WF8zkIic1ggM" + str = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6NzAsImFjY291bnQiOiIiLCJkb21haW4iOiJmb250cmVlIiwibmlja05hbWUiOiLogL_pmLMiLCJwaG9uZSI6IjE4MjA1MDUyNjI3IiwiZXhwIjoxNzAxOTMwNjY5LCJpc3MiOiJtYWxsIn0.l9Swlap-e0VWXQK3vtFUVC0nx6gYjUuCGDLezoEni6Q" + + claims, err := ParseToken(str, m.JWTSecret) + fmt.Println(err) + fmt.Println(claims) +} + +func TestParseToken2(t *testing.T) { + ss, _ := GenerateToken(70, "", "fontree", "耿阳"+ + "", m.TokenTime, "18205052627", m.JWTSecret) + //fmt.Println(ss, err) + + claims, err := ParseToken(ss, m.JWTSecret) + fmt.Println(claims, err) + fmt.Println("1------------") + +} + +func TestRefreshToken(t *testing.T) { + str1, err := GenerateRefreshToken(70, "fontree", 20, m.JWTSecret) + fmt.Println(str1, err) + + //str := "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6MjMzLCJhY2NvdW50IjoiVU1jektDWDVTRHpnZm43eDZkNTFLMTYxaThZNlhjdWVNIiwiZG9tYWluIjoiYXJ0aXN0aW5mbyIsIm5pY2tOYW1lIjoiMTM5NjIzMTA3NjUiLCJwaG9uZSI6IjEzOTYyMzEwNzY1IiwiZXhwIjoxNjg0NzYyMjY2LCJpc3MiOiJtYWxsIn0.8zG3OA9uRJnzxYorQ2_cK6FhQuMlsi7WF8zkIic1ggM" + //claims, err := ParseRefreshToken(str1, m.JWTSecret) + + claims, err := ParseToken(str1, m.JWTSecret) + fmt.Println(err) + fmt.Println(claims) + +} diff --git a/pkg/common/m/msg.go b/pkg/common/m/msg.go new file mode 100644 index 0000000..c94e3fa --- /dev/null +++ b/pkg/common/m/msg.go @@ -0,0 +1,74 @@ +package m + +var JWTSecret = []byte("asdfqwer1234") + +const ( + SERVER_CONFIG = "../conf/conf.ini" + LOG_CONFIG = "../conf/log.yaml" + Domain = "blockchain" +) + +const ( + TokenTime = 24 + StatusInDoor = 1 + RefreshTokenTime = 720 +) + +const ( + DateNormalYMDFormat = "2006-01-02" +) + +const ( + SUCCESS = "success" + FAILED = "failed" +) + +const ( + ERRORCONFIG = "配置文件读取错误,请检查文件路径:" + ERRORAUTH = "没有权限" +) + +const ( + //丰链编号为20开头 + FC = iota + 200 + FONCHAIN //丰链商城 +) + +const ( + LineStatusRun = 1 + LineStatusStop = 2 + CircuitStatusOpen = 1 + CircuitStatusClose = 2 +) + +// 订单状态参数 +const ( + ORDER_STATUS_NEED_PUBLIC = iota + 1 //待发布 + ORDER_STATUS_NEED_CONFIRM //待确认 + ORDER_STATUS_APPEAL //申诉状态 + ORDER_STATUS_CONFIRMED //已确认 +) + +const ( + Order_Doing = iota + 1 //待总监确认 待发布 + Order_Need_Seller_Sure //待销售确认 + Order_Status_Que //申诉订单 + Order_Done //完成 + Order_Need_Cashier_Sure //待出纳确认 + Order_Need_Control_Sure //待内控确认 + Order_Need_Finance_Sure //待财务确认 +) + +const ( + REPORT_STATUS_NEED_PUBLIC = iota + 1 //待发布 + REPORT_PUBLISH //已发布 + REPORT_NEED_CASHIER_SURE //待出纳补充 + REPORT_NEED_BOSS_SURE //带最后总价确认 + REPORT_CASHIER_FINAL_OPTION //待出纳确认 重置 +) + +const ( + TYPE_WEEK = iota + 1 //周 + TYPE_MOUNTH //月 + TYPE_QUARTER //日期 +) diff --git a/pkg/common/tools.go b/pkg/common/tools.go new file mode 100644 index 0000000..4dca7e0 --- /dev/null +++ b/pkg/common/tools.go @@ -0,0 +1,64 @@ +package common + +import ( + "dubbo.apache.org/dubbo-go/v3/common/constant" + "fmt" + "fonchain-fiee/pkg/e" + "os" +) + +type Result struct { + IP string `json:"ip"` + Location Location `json:"location"` + AdInfo AdInfo `json:"ad_info"` +} + +type Location struct { + Lat float64 `json:"lat"` + Lng float64 `json:"lng"` +} + +type AdInfo struct { + Nation string `json:"nation"` + Province string `json:"province"` + City string `json:"city"` + District string `json:"district"` + AdcodE int `json:"adcode"` +} + +type IpResult struct { + Status int `json:"status"` + Message string `json:"message"` + RequestID string `json:"request_id"` + Result Result `json:"result"` +} + +type IPDict struct { + fileData []byte //文件数据 + offset uint32 //当前下标定位 + firstOffset uint32 //第一条IP记录的偏移地址 + lastOffset uint32 //最后一条IP记录的偏移地址 + totalIPNum uint32 //IP记录的总条数(不包含版本信息记录) +} + +type IPLocation struct { + IP string `json:"ip"` + BeginIP string `json:"begin_ip"` + EndIP string `json:"end_ip"` + Country string `json:"country"` + Area string `json:"area"` +} + +func GetConf() (iniConf string, err error) { + if os.Getenv(e.MODE_ENV) != "" { + if err = os.Setenv(constant.ConfigFileEnvKey, fmt.Sprintf("./conf/%s/%s", os.Getenv(e.MODE_ENV), e.SERVER_DUBBOGO_CONFIG)); err != nil { + return + } + } + if os.Getenv(e.MODE_ENV) == "" { + iniConf = fmt.Sprintf("../conf/%s", e.SERVER_CONFIG) + } else { + iniConf = fmt.Sprintf("./conf/%s/%s", os.Getenv(e.MODE_ENV), e.SERVER_CONFIG) + } + return +} diff --git a/pkg/config/config.go b/pkg/config/config.go new file mode 100644 index 0000000..7c67310 --- /dev/null +++ b/pkg/config/config.go @@ -0,0 +1,256 @@ +package config + +import ( + "fmt" + "fonchain-fiee/pkg/common" + "github.com/spf13/viper" + "gopkg.in/ini.v1" + "os" + "strconv" +) + +var ( + AppMode string + HttpPort string + Key string + Cert string + IsHttps bool + RunHttps bool + Domain string + OssDomain string + ServerDM string + Env string + DriverUrl string + AppointUrl string + MaterialHost string + //TODO + //BosAk string + //BosSk string + //BosBucketName string + //BosBaseDir string + //BosUrl string + //BosHttp string + //BosDomain string + //TODO + ProjectMapDir string + JaegerHost string + JaegerOpen bool + Cron bool + DingAccessToken string + DingUrl string + HolidayID string + HolidaySecret string + HolidaySingleUrl string + HolidayMultiUrl string + + ErpAk string + ErpSk string + + // rabbitmq + RabbitmqUser string + RabbitmqPassword string + RabbitmqHost string + RabbitmqPort int + RabbitmqVhost string + RabbitmqVhostArtwork string + + RedisDB int + RedisAddr string + RedisPw string + + //shop配置 + ShopHost string + //ShopDetail string + + // 地图 + MapAppCode string + + //百度地图的ak + BaiduMapAK string + + // es + ElasticHost string + SendIndexesUrl string + ChatGptHost string + + ApiHost string + + Level string + Filename string + MaxSize string + MaxAge string + MaxBackups string + + YearGiftCheckHost string + IsOut bool + OutUrl string + Aliyun struct { + AccessKeyId string + AccessKeySecret string + } + SendTime int + XMChannelId string + OPChannelId string + OPNotifyLevel int + Route string + + PdfHost string + + DefaultSignNo uint64 + + // 审批 es index + ApprovalIndex string +) + +var ConfigData = new(AppConfig) + +type AppConfig struct { + Oss struct { + AccessKeyId string + AccessKeySecret string + Endpoint string + BucketName string + BaseDir string + CdnHost string + } + Rabbitmq struct { + User string + Password string + Host string + Port int + Vhost string + VhostArtwork string + VhostCopyright string + } +} + +func GetOptions() { + iniConf, err := common.GetConf() + if err != nil { + panic("iniConf error") + } + file, err := ini.Load(iniConf) + if err != nil { + fmt.Println("服务器配置文件读取错误,请检查文件路径:", err) + } + _ = os.MkdirAll("runtime", os.ModePerm) + LoadServer(file) + _ = Viper(iniConf) +} + +func LoadServer(file *ini.File) { + AppMode = file.Section("service").Key("AppMode").String() + IsHttps, _ = file.Section("service").Key("IsHTTPS").Bool() + RunHttps, _ = file.Section("service").Key("RunHTTPS").Bool() + Key = file.Section("service").Key("Key").String() + Cert = file.Section("service").Key("Cert").String() + HttpPort = file.Section("service").Key("HttpPort").String() + Domain = file.Section("service").Key("Domain").String() + OssDomain = file.Section("service").Key("OssDomain").String() + ServerDM = file.Section("service").Key("ServerDM").String() + DriverUrl = file.Section("service").Key("DriverUrl").String() + Env = file.Section("service").Key("Env").String() + JaegerHost = file.Section("service").Key("JaegerHost").String() + JaegerOpen, _ = file.Section("service").Key("JaegerOpen").Bool() + Cron, _ = file.Section("service").Key("Cron").Bool() + YearGiftCheckHost = file.Section("service").Key("YearGiftCheckHost").String() + IsOut, _ = file.Section("service").Key("IsOut").Bool() + OutUrl = file.Section("service").Key("OutUrl").String() + + ProjectMapDir = file.Section("file").Key("ProjectMapDir").String() + + AppointUrl = file.Section("service").Key("AppointUrl").String() + MaterialHost = file.Section("service").Key("MaterialHost").String() + + //TODO + //BosAk = file.Section("bos").Key("Ak").String() + //BosSk = file.Section("bos").Key("Sk").String() + //BosBucketName = file.Section("bos").Key("BucketName").String() + //BosBaseDir = file.Section("bos").Key("BosBaseDir").String() + + //BosUrl = file.Section("bos").Key("BosUrl").String() + //BosHttp = file.Section("bos").Key("BosHttp").String() + //BosDomain = file.Section("bos").Key("BosDomain").String() + + //TODO + + DingUrl = file.Section("ding").Key("Url").String() + DingAccessToken = file.Section("ding").Key("AccessToken").String() + + //加载获取万年历配置 + HolidayID = file.Section("holiday").Key("ID").String() + HolidaySecret = file.Section("holiday").Key("Secret").String() + HolidaySingleUrl = file.Section("holiday").Key("SingleUrl").String() + HolidayMultiUrl = file.Section("holiday").Key("MultiUrl").String() + + // 加载 rabbitmq 配置 + RabbitmqUser = file.Section("rabbitmq").Key("User").String() + RabbitmqPassword = file.Section("rabbitmq").Key("Password").String() + RabbitmqHost = file.Section("rabbitmq").Key("Host").String() + RabbitmqPort, _ = file.Section("rabbitmq").Key("Port").Int() + RabbitmqVhost = file.Section("rabbitmq").Key("Vhost").String() + RabbitmqVhostArtwork = file.Section("rabbitmq").Key("VhostArtwork").String() + + //加载 redis + dbStr := file.Section("redis").Key("RedisDBNAme").String() + RedisDB, _ = strconv.Atoi(dbStr) + RedisAddr = file.Section("redis").Key("RedisAddr").String() + RedisPw = file.Section("redis").Key("RedisPW").String() + + ShopHost = file.Section("shop").Key("ShopHost").String() + //ShopDetail = file.Section("shop").Key("ShopDetail").String() + + // 地图 + MapAppCode = file.Section("service").Key("MapAppCode").String() + BaiduMapAK = file.Section("service").Key("BaiduMapAK").String() + + // 地图 + ElasticHost = file.Section("es").Key("ElasticHost").String() + SendIndexesUrl = file.Section("api").Key("SendIndexesUrl").String() + ChatGptHost = file.Section("api").Key("chatGptHost").String() + ErpAk = file.Section("api").Key("erpak").String() + ErpSk = file.Section("api").Key("erpsk").String() + ApiHost = file.Section("service").Key("ApiHost").String() + + // zap + Level = file.Section("zap").Key("Level").String() + Filename = file.Section("zap").Key("Filename").String() + MaxSize = file.Section("zap").Key("MaxSize").String() + MaxAge = file.Section("zap").Key("MaxAge").String() + MaxBackups = file.Section("zap").Key("MaxBackups").String() + Aliyun.AccessKeyId = file.Section("aliyun").Key("accessKeyId").String() + Aliyun.AccessKeySecret = file.Section("aliyun").Key("accessKeySecret").String() + + Aliyun.AccessKeySecret = file.Section("aliyun").Key("accessKeySecret").String() + + //发送次数 + SendTime, _ = file.Section("send").Key("SendTime").Int() + OPNotifyLevel, _ = file.Section("send").Key("OPNotifyLevel").Int() + XMChannelId = file.Section("send").Key("XMChannelId").String() + OPChannelId = file.Section("send").Key("OPChannelId").String() + PdfHost = file.Section("pdf").Key("Host").String() + DefaultSignNo, _ = file.Section("msg").Key("defaultSignNo").Uint64() + Route = file.Section("send").Key("Route").String() + + // 审批 es index + ApprovalIndex = file.Section("es").Key("ApprovalIndex").String() +} + +func Viper(iniConf string) (err error) { + viper.SetConfigFile(iniConf) + err = viper.ReadInConfig() + if err != nil { + panic("viper.ReadInConfig failed" + err.Error()) + return + } + if err = viper.Unmarshal(ConfigData); err != nil { + panic("viper.Unmarshal failed" + err.Error()) + return + } + if err = viper.UnmarshalKey("mail_artwork.EditReturnArtworkUrl", &MailArtwork.EditReturnArtworkUrl); err != nil { + panic("viper.Unmarshal 'mail_artwork' config failed" + err.Error()) + return + } + fmt.Printf("mailartwork:%+v\n", MailArtwork) + return +} diff --git a/pkg/e/code.go b/pkg/e/code.go new file mode 100644 index 0000000..5b5ed25 --- /dev/null +++ b/pkg/e/code.go @@ -0,0 +1,146 @@ +package e + +var ( + JWTSecret = []byte("asdfqwer1234") +) + +const ( + Success = 200 + Error = 500 + ParamsError = 400 + InvalidToken = 501 +) + +const ( + DomainAdmin = "blockchain" +) + +const ( + InventoryKey = "inventory_auth" +) + +const ( + ErrNotLogin = "请先登录" + ErrOffline = "您已经下线" +) + +const ( + Failed = 1 + Ok = 0 + BindError = 2 + JsonUnmarshal = 3 + NotLogin = 401 + SUCCESS = 200 + UpdatePasswordSuccess = 201 + DeleteSuccess = 204 + NotExistInentifier = 202 + ERROR = 500 + InvalidParams = 400 + + //成员错误 + ErrorExistNick = 10001 + ErrorExistUser = 10002 + ErrorNotExistUser = 10003 + ErrorNotCompare = 10004 + ErrorNotComparePassword = 10005 + ErrorFailEncryption = 10006 + ErrorNotExistProduct = 10007 + ErrorNotExistAddress = 10008 + ErrorExistFavorite = 10009 + ErrorGetUserInfo = 10010 + ErrorGetDepart = 10011 + ErrorUpdateAw = 10012 + + //店家错误 + ErrorBossCheckTokenFail = 20001 + ErrorBossCheckTokenTimeout = 20002 + ErrorBossToken = 20003 + ErrorBoss = 20004 + ErrorBossInsufficientAuthority = 20005 + ErrorBossProduct = 20006 + + //管理员错误 + ErrorAuthCheckTokenFail = 30001 //token 错误 + ErrorAuthCheckTokenTimeout = 30002 //token 过期 + ErrorAuthToken = 30003 + ErrorAuth = 30004 + ErrorAuthInsufficientAuthority = 30005 + ErrorReadFile = 30006 + ErrorSendEmail = 30007 + ErrorCallApi = 30008 + ErrorUnmarshalJson = 30009 + ErrorAdminFindUser = 30010 + //数据库错误 + ErrorDatabase = 40001 + + //对象存储错误 + ErrorOss = 50001 + ErrorUploadFile = 50002 + + //店铺错误 + ErrorExistShopName = 60001 + ErrorNotExistShopName = 60002 + ErrorNotAdmin = 60003 + + ErrNoDomain = 70001 + ErrTelNum = 70002 + ErrNoCode = 70003 + ErrNoID = 70004 + ErrNickName = 70005 + InvalidID = 70006 + InvalidPas = 70007 + ErrStatus = 70008 + ErrNoType = 70009 + ErrNoUserID = 70010 + ErrNoName = 70011 + ErrNoDepCode = 70012 + ErrNoTitle = 70013 + ErrNoUrl = 70014 + ErrNoMethod = 70015 + ErrNotDep = 70016 + ErrCreateQr = 70017 + ErrNotSellerBoss = 70018 + ErrWrongDate = 70019 + ErrLoginSeller = 70020 + + //上传 + ErrorUploadVideoCover = 80001 + ErrorUploadValidParam = 80002 + ErrorFileReadErr = 80003 + ErrorFileNotExists = 80004 + ErrorChunkNotGt = 80005 + ErrorChunk = 80006 + ErrorUploadBos = 80007 + ErrorFileCreate = 80008 + ERROR_UID = 80009 + + //画作 + ErrorAllotUids = 90001 + // + ErrorExistSecurity = 90001 + ErrorSecurity = 90002 + ErrorNoSecurity = 90003 + ErrorRealName = 90004 + ErrorCode = 90005 + NOTDATA = 90006 + ErrorBaiduChainAlreadyDone = 90007 + ErrorBaiduChaining = 90008 + ErrorBaiduChainError = 90009 + ERROR_BAIDU_IMAGE = 90010 + ERROR_BAIDU_FAIL = 90011 + ERROR_DOWNLOAD_FILE = 90012 + ERROR_Addr_FILE = 90013 + ERROR_Amount = 90014 + ERROR_Create_Block = 90015 + ERROR_Fee_Deduction = 90016 + ERROR_Insufficient_Balance = 90017 + ERROR_Text_Irregularity = 90018 + ERROR_Text_Length = 90019 + ERROR_NoPermission = 90020 +) +const ( + Push = 1 + Read = 2 + NotFilled = 3 + Save = 4 +) diff --git a/pkg/e/msg.go b/pkg/e/msg.go new file mode 100644 index 0000000..45f1a4e --- /dev/null +++ b/pkg/e/msg.go @@ -0,0 +1,158 @@ +package e + +const ( + SERVER_CONFIG = "conf.ini" + SERVER_DUBBOGO_CONFIG = "dubbogo.yaml" + MODE_ENV = "MODE_ENV" +) + +const ( + Authorization = "Authorization" + BoxAuthorization = "Authorization" + StaffAuthorization = "StaffAuthorization" + AuthMobileInventoryKey = "mobile_inventory_auth" + + AuthorizationCookie = "token" +) + +const ( + Acquire_Daily_Login = "daily_login" + Acquire_Register = "register" +) + +const ( + VerifierDomain = "fontree" + StaffJwtKey = "jwtStaffInfo" +) +const ( + Status_Not_In_House = iota + 1 //未入库 + Status_In_House //已入库 + Status_Out_House //已出库 + Status_Not_Pay //未付款 +) + +const ( + DateNormalFormat = "2006-01-02 15:04:05" + DateNormalYMDFormat = "2006-01-02" + DateNormalPointFormat = "2006.01.02" + DateNormalPointFormatHM = "2006.01.02 15:04" +) + +var MsgFlags = map[int]string{ + SUCCESS: "操作成功", + UpdatePasswordSuccess: "修改密码成功", + NotExistInentifier: "该第三方账号未绑定", + ERROR: "fail", + InvalidParams: "请求参数错误", + BindError: "参数绑定错误,类型不一致", + JsonUnmarshal: "Json解析错误", + + ErrorExistNick: "已存在该昵称", + ErrorExistUser: "已存在该用户名", + ErrorNotExistUser: "该用户不存在", + ErrorNotCompare: "账号密码错误", + ErrorNotComparePassword: "两次密码输入不一致", + ErrorFailEncryption: "加密失败", + ErrorNotExistProduct: "该商品不存在", + ErrorNotExistAddress: "该收获地址不存在", + ErrorExistFavorite: "已收藏该商品", + ErrorGetUserInfo: "获取用户信息错误", + ErrorGetDepart: "获取部门信息错误", + ErrorUpdateAw: "同步画作信息错误", + + ErrorBossCheckTokenFail: "商家的Token鉴权失败", + ErrorBossCheckTokenTimeout: "商家TOken已超时", + ErrorBossToken: "商家的Token生成失败", + ErrorBoss: "商家Token错误", + ErrorBossInsufficientAuthority: "商家权限不足", + ErrorBossProduct: "商家读文件错误", + + ErrorAuthCheckTokenFail: "Token鉴权失败", + ErrorAuthCheckTokenTimeout: "TOken已超时", + ErrorAuthToken: "Token生成失败", + ErrorAuth: "Token错误", + ErrorAuthInsufficientAuthority: "权限不足", + ErrorReadFile: "读文件失败", + ErrorSendEmail: "发送邮件失败", + ErrorCallApi: "调用接口失败", + ErrorUnmarshalJson: "解码JSON失败", + + ErrorUploadFile: "上传失败", + ErrorAdminFindUser: "管理员查询用户失败", + + ErrorDatabase: "数据库操作出错,请重试", + + ErrorOss: "OSS配置错误", + + ErrorExistShopName: "店铺已被注册,请检查店铺名称和统一社会信用码", + ErrorNotExistShopName: "店铺不存在", + ErrorNotAdmin: "非管理员", + + InvalidToken: "Token验证失败", + + ErrorUploadVideoCover: "视频截取封面错误", + ErrorUploadValidParam: "上传参数非法", + ErrorFileReadErr: "读取文件错误", + ErrorFileNotExists: "文件不存在", + ErrorChunkNotGt: "分块数量不一致", + ErrorChunk: "读取分块错误", + ErrorUploadBos: "上传bos错误", + ErrorFileCreate: "文件创建错误", + ERROR_UID: "uid创建错误", + + ErrNoDomain: "环境变量必须要有", + ErrTelNum: "手机号码错误", + ErrNoCode: "验证码必须要有", + ErrNoID: "ID缺少", + ErrNickName: "昵称长度超过了20个字符或者缺失", + InvalidID: "身份证长度18位", + InvalidPas: "密码不小于6位", + + ErrStatus: "状态非法", + ErrNoType: "缺少类型", + ErrNoUserID: "缺少用户ID", + ErrNoName: "缺少名称", + ErrNoDepCode: "缺少部门code", + ErrNoTitle: "缺少标题", + ErrNoUrl: "缺少url", + ErrNoMethod: "缺少method", + ErrNotDep: "缺少部门", + ErrCreateQr: "生成二维码错误", + ErrNotSellerBoss: "当前人员身份非销售总监,不能操作", + ErrWrongDate: "时间数据填写错误", + ErrLoginSeller: "您暂时没有权限登录销售宝,请联系管理员", + + ErrorExistSecurity: "安全码已存在", + ErrorSecurity: "安全码错误", + ErrorNoSecurity: "安全码不存在", + ErrorRealName: "不可重复实名认证", + ErrorCode: "验证码错误", + NOTDATA: "没有数据", + ErrorBaiduChainAlreadyDone: "百度链已完成", + ErrorBaiduChaining: "百度链未完成", + ErrorBaiduChainError: "百度链错误", + ERROR_BAIDU_IMAGE: "图片审核不通过", + ERROR_BAIDU_FAIL: "图片审核失败", + ERROR_DOWNLOAD_FILE: "下载文件错误", + ERROR_Addr_FILE: "获取区块链地址错误", + ERROR_Amount: "开票金额错误", + ERROR_Create_Block: "上链失败", + ERROR_Fee_Deduction: "扣费失败", + ERROR_Insufficient_Balance: "余额不足", + ERROR_Text_Irregularity: "文字内容不合规", + ERROR_Text_Length: "文本长度超出限制", + ERROR_NoPermission: "您暂无权限,请联系客服", +} + +const ( + ErrorCreateFeedback = "请勿重复提交" +) + +// GetMsg 获取状态码对应信息 +func GetMsg(code int) string { + msg, ok := MsgFlags[code] + if ok { + return msg + } + return MsgFlags[ERROR] +} diff --git a/pkg/middleware/check_login.go b/pkg/middleware/check_login.go new file mode 100644 index 0000000..66a00a2 --- /dev/null +++ b/pkg/middleware/check_login.go @@ -0,0 +1,66 @@ +package middleware + +import ( + "errors" + "fmt" + api "fonchain-fiee/api/account" + jwt2 "fonchain-fiee/pkg/common/jwt" + "fonchain-fiee/pkg/common/m" + "fonchain-fiee/pkg/e" + "fonchain-fiee/pkg/model/login" + "fonchain-fiee/pkg/service" + "github.com/gin-gonic/gin" +) + +// CheckLogin 检测登陆 +func CheckLogin(provider *api.AccountClientImpl) gin.HandlerFunc { + + return func(ctx *gin.Context) { + + //如果没有登录 + authorization := ctx.GetHeader(e.BoxAuthorization) + if authorization == "" { + service.Error(ctx, errors.New(e.ErrNotLogin)) + return + } + + jwt, err := jwt2.ParseToken(authorization, m.JWTSecret) + fmt.Println(jwt) + + if err != nil { + service.Error(ctx, errors.New(e.ErrNotLogin)) + return + } + + //1 获取用户的账号信息 + infoReq := &api.UserByTelRequest{ + Tel: jwt.Phone, + } + + infoRes, err := service.AccountProvider.UserByTel(ctx, infoReq) + if err != nil { + service.Error(ctx, err) + return + } + if infoRes.IsExist == false { + service.Error(ctx, errors.New(e.ErrNotLogin)) + return + } + + info := infoRes.Info + loginInfo := login.Info{ + Domain: info.Domain, + ID: info.ID, + Account: info.Account, + NickName: info.NickName, + TelNum: infoRes.Info.TelNum, + Avatar: infoRes.Info.Avatar, + RealName: infoRes.Info.RealName, + IDNum: infoRes.Info.IDNum, + } + + ctx.Set("jwtInfo", loginInfo) + + ctx.Next() + } +} diff --git a/pkg/model/login/login.go b/pkg/model/login/login.go new file mode 100644 index 0000000..6e07069 --- /dev/null +++ b/pkg/model/login/login.go @@ -0,0 +1,39 @@ +package login + +import ( + "errors" + "github.com/gin-gonic/gin" +) + +type WxUser struct { + OpenID string `json:"openID"` + GHID string `json:"gHID"` +} + +type Info struct { + Domain string `json:"domain"` + ID uint64 `json:"ID"` + Account string `json:"account"` + NickName string `json:"nickName"` + TelNum string `json:"telNum"` + Avatar string `json:"avatar"` + RealName string `json:"realName"` + IDNum string `json:"idNum"` + Coin string `json:"coin"` //追加一个余额 +} + +func GetUserInfoFromC(c *gin.Context) Info { + userInfoAny, _ := c.Get("jwtInfo") + userInfo := userInfoAny.(Info) + return userInfo +} + +func GetUserInfoFromCtx(c *gin.Context) (Info, error) { + userInfoAny, _ := c.Get("jwtInfo") + if userInfoAny != nil { + userInfo := userInfoAny.(Info) + return userInfo, nil + } else { + return Info{}, errors.New("not login") + } +} diff --git a/pkg/model/union/user.go b/pkg/model/union/user.go new file mode 100644 index 0000000..eb47c9b --- /dev/null +++ b/pkg/model/union/user.go @@ -0,0 +1,98 @@ +package union + +import ( + "fonchain-fiee/api/account" +) + +type Extend struct { + JumpTo string `json:"JumpTo"` + Lang string `json:"Lang"` + CanScan bool `json:"CanScan"` + ResolutionRatio bool `json:"ResolutionRatio"` +} + +type User struct { + ID uint64 `json:"ID"` + Domain string `json:"Domain"` //环境 + NickName string `json:"NickName"` //昵称 + TelNum string `json:"TelNum"` //手机号 + Password string `json:"Password"` //密码 + Avatar string `json:"Avatar"` //头像 + Status string `json:"Status"` //头像 + EnterDate string `json:"EnterDate"` //头像 + WorkYear float32 `json:"WorkYear"` //头像 + IsNeedChange uint64 `json:"IsNeedChange"` //是否强制修改密码 + JumpTo string `json:"JumpTo"` //是否跳转老平台 origin-老平台 onsite当前 + JobNum string `json:"JobNum"` + BirthDate string `json:"BirthDate"` + Sex uint64 `json:"Sex"` + Title string `json:"Title"` + LeftDate string `json:"LeftDate"` + Remark string `json:"Remark"` + RecentImg string `json:"RecentImg"` //近照 + ICNum string `json:"ICNum"` //门禁卡号 + Extend *account.Extend `json:"Extend"` //设置 + Train string `json:"train"` //培训视频 + Certificate string `json:"certificate"` //证书 + Source string `json:"source"` //来源 + Operator *account.Operator `json:"operator"` //来源 +} + +type UserResponse struct { + ID uint64 `json:"ID"` + Domain string `json:"Domain"` //环境 + NickName string `json:"NickName"` //昵称 + TelNum string `json:"TelNum"` //手机号 + Password string `json:"Password"` //密码 + Avatar string `json:"Avatar"` + Status string `json:"Status"` + CreateAt string `json:"CreateAt"` + RealNameID uint64 `json:"RealNameID"` + RealName string `json:"RealName"` + IsAdmin bool `json:"IsAdmin"` + EnterDate string `json:"EnterDate"` //头像 + WorkYear float32 `json:"WorkYear"` //头像 + IsNeedChange uint64 `json:"IsNeedChange"` //是否强制修改密码 + JumpTo string `json:"JumpTo"` //是否跳转老平台 origin-老平台 onsite当前 + Extend *account.Extend `json:"Extend"` //附件信息 + DepartmentName string `json:"DepartmentName"` + JobNum string `json:"JobNum"` + BirthDate string `json:"BirthDate"` + Age uint64 `json:"Age"` + Sex uint64 `json:"Sex"` + Title string `json:"Title"` + IDNum string `json:"IDNum"` + LeftDate string `json:"LeftDate"` + DriverAuth bool `json:"DriverAuth"` + DriverSupervisorAuth bool `json:"DriverSupervisorAuth"` + Remark string `json:"Remark"` + IdentityKey string `json:"IdentityKey"` //身份 + RecentImg string `json:"RecentImg"` //近照 + MailAccount string `json:"MailAccount"` //近照 + Clocks []*account.ClockUser `json:"clocks"` + ICNum string `json:"ICNum"` //门禁卡号 + Train string `json:"train"` //培训视频 + Certificate string `json:"certificate"` //证书 + Source string `json:"source"` //来源 + TrainVideos []*account.TrainVideo `json:"TrainVideos"` //关联用户岗位 +} + +type AccountInfo struct { + ID uint64 `json:"ID"` + Domain string `json:"Domain"` //环境 + NickName string `json:"NickName"` //昵称 + Account string `json:"Account"` //昵称 + TelNum string `json:"TelNum"` //手机号 + Avatar string `json:"Avatar"` //头像 + Status string `json:"Status"` //头像 + CreatedAt string `json:"CreatedAt"` //头像 + IsNeedChange uint64 `json:"IsNeedChange"` //是否强制修改密码 + Sex uint64 `json:"Sex"` +} + +type Login struct { + AccountInfo *AccountInfo `json:"AccountInfo"` + Token string `json:"Token"` //环境 + RefreshToken string `json:"RefreshToken"` //refresh_token + JumpToWhere string `json:"JumpToWhere"` //环境 +} diff --git a/pkg/router/router.go b/pkg/router/router.go index fc7c2f6..d1f8845 100644 --- a/pkg/router/router.go +++ b/pkg/router/router.go @@ -2,6 +2,8 @@ package router import ( "fonchain-fiee/pkg/middleware" + "fonchain-fiee/pkg/service" + "fonchain-fiee/pkg/service/account" "fonchain-fiee/pkg/service/auth" "fonchain-fiee/pkg/service/lang" "fonchain-fiee/pkg/service/qr" @@ -22,7 +24,8 @@ func NewRouter() *gin.Engine { r.Use(gzip.Gzip(gzip.BestSpeed)) // 中间件占用绝大部分内存 //加入日志中间件,跨域中间件 r.Use(middleware.NewLogger(), middleware.Cors(), middleware.GinRecovery(true)) - + privateGroup := r.Group("") + privateGroup.Use(middleware.NewLogger(), middleware.Cors(), middleware.GinRecovery(true)) //加入日志中间件,跨域中间件 v1 := r.Group("api") GiteaRoute(v1) @@ -36,7 +39,19 @@ func NewRouter() *gin.Engine { { v1.POST("version", version.Version) //版本号公共 } - + //账号模块 + { + r.POST("user/register", account.UserRegister) //h5注册登录 + r.POST("user/login", account.UserLogin) //后台登录 + r.POST("user/send", account.SendMsg) //发送验证码 + acRoute := r.Group("/user") + acRoute.POST("logout", account.UserLogout) //登出 + acRoute.Use(middleware.CheckLogin(service.AccountProvider)) + { + acRoute.POST("real-name", account.RealName) //实名 + acRoute.POST("check", account.CheckMsg) //校验验证码 + } + } { //图片相关 imageRoute := v1.Group("image") diff --git a/pkg/service/account/account.go b/pkg/service/account/account.go new file mode 100644 index 0000000..3fef7b0 --- /dev/null +++ b/pkg/service/account/account.go @@ -0,0 +1,142 @@ +package account + +import ( + "context" + "fonchain-fiee/api/account" + "fonchain-fiee/pkg/config" + "fonchain-fiee/pkg/e" + "fonchain-fiee/pkg/model/union" + "fonchain-fiee/pkg/service" + "github.com/gin-gonic/gin" + "github.com/gin-gonic/gin/binding" +) + +// SendMsg 用户登录操作 +func SendMsg(c *gin.Context) { + + var req account.SendMsgRequest + + if err := c.ShouldBindBodyWith(&req, binding.JSON); err != nil { + service.Error(c, err) + return + } + + req.SignNo = uint32(config.DefaultSignNo) + res, err := service.AccountProvider.SendMsg(context.Background(), &req) + if err != nil { + service.Error(c, err) + return + } + + service.Success(c, res) + return +} +func RealName(c *gin.Context) { + var req account.RealNameRequest + + if err := c.ShouldBindBodyWith(&req, binding.JSON); err != nil { + service.Error(c, err) + return + } + res, err := service.AccountProvider.RealName(context.Background(), &req) + if err != nil { + service.Error(c, err) + return + } + + service.Success(c, res) + return +} + +// CheckMsg 验证码是否正确 +func CheckMsg(c *gin.Context) { + + var req account.CheckMsgRequest + + if err := c.ShouldBindBodyWith(&req, binding.JSON); err != nil { + service.Error(c, err) + return + } + + res, err := service.AccountProvider.CheckMsg(context.Background(), &req) + if err != nil { + service.Error(c, err) + return + } + + service.Success(c, res) + return +} + +func UserLogout(c *gin.Context) { + req := account.DecryptJwtRequest{} + req.Token = c.GetHeader(e.Authorization) + res, err := service.AccountProvider.Logout(c, &req) + if err != nil { + service.Error(c, err) + return + } + + service.Success(c, res) + return +} +func UserRegister(c *gin.Context) { + var req account.RegistRequest + if err := c.ShouldBindBodyWith(&req, binding.JSON); err != nil { + service.Error(c, err) + return + } + req.Domain = "app" + res, err := service.AccountProvider.Register(context.Background(), &req) + if err != nil { + service.Error(c, err) + } + tokenInfo, err := service.AccountProvider.Login(context.Background(), &account.LoginRequest{ + Domain: req.Domain, + TelNum: req.TelNum, + Code: req.Code, + }) + if err != nil { + service.Error(c, err) + } + res.Token = tokenInfo.Token + service.Success(c, res) +} + +// UserLogin 用户登录操作 +func UserLogin(c *gin.Context) { + var req account.LoginRequest + if err := c.ShouldBindBodyWith(&req, binding.JSON); err != nil { + service.Error(c, err) + return + } + req.Ip = c.ClientIP() + req.Domain = "fontree" + res, err := service.AccountProvider.Login(c, &req) + if err != nil { + service.Error(c, err) + return + } + + accountInfo := &union.AccountInfo{ + ID: res.AccountInfo.ID, + Account: res.AccountInfo.Account, + NickName: res.AccountInfo.NickName, + Domain: res.AccountInfo.Domain, + TelNum: res.AccountInfo.TelNum, + Avatar: res.AccountInfo.Avatar, + CreatedAt: res.AccountInfo.CreateAt, + IsNeedChange: res.AccountInfo.IsNeedChange, + Sex: res.AccountInfo.Sex, + } + resInfo := &union.Login{ + Token: res.Token, + RefreshToken: res.RefreshToken, + AccountInfo: accountInfo, + //JumpToWhere: jumpToWhere, + } + + service.Success(c, resInfo) + + return +} diff --git a/pkg/service/init.go b/pkg/service/init.go new file mode 100644 index 0000000..602a3cc --- /dev/null +++ b/pkg/service/init.go @@ -0,0 +1,30 @@ +package service + +import ( + "dubbo.apache.org/dubbo-go/v3/common/constant" + "dubbo.apache.org/dubbo-go/v3/config" + _ "dubbo.apache.org/dubbo-go/v3/imports" + "fmt" + "fonchain-fiee/api/account" + "fonchain-fiee/api/bundle" + pkConfig "fonchain-fiee/cmd/config" + "os" +) + +var AccountProvider = new(account.AccountClientImpl) +var BundleProvider = new(bundle.BundleClientImpl) + +func init() { + config.SetConsumerService(AccountProvider) + config.SetConsumerService(BundleProvider) + + if err := config.Load(); err != nil { + panic(err) + } + pkConfig.GetOptions() + fmt.Println(os.Getenv(constant.ConfigFileEnvKey)) + + if err := config.Load(); err != nil { + panic(err) + } +} diff --git a/pkg/service/qr/qr.go b/pkg/service/qr/qr.go index ceb1bb9..585ed0e 100644 --- a/pkg/service/qr/qr.go +++ b/pkg/service/qr/qr.go @@ -3,6 +3,12 @@ package qr import ( "errors" "fmt" + "fonchain-fiee/cmd/config" + "fonchain-fiee/pkg/common/utils" + "fonchain-fiee/pkg/service" + "github.com/gin-gonic/gin" + "github.com/gin-gonic/gin/binding" + "github.com/skip2/go-qrcode" "net/url" )