diff --git a/pb/bundle.proto b/pb/bundle.proto index 23a6684..981ad88 100644 --- a/pb/bundle.proto +++ b/pb/bundle.proto @@ -38,6 +38,10 @@ service Bundle { rpc SaveValueAddService(ValueAddServiceLang) returns (SaveResponse) {} rpc ValueAddServiceList(ValueAddServiceListRequest) returns (ValueAddServiceListResponse) {} rpc ValueAddServiceDetail(ValueAddServiceDetailRequest) returns (ValueAddServiceDetailResponse) {} + + // 余量管理 + rpc BundleExtend(BundleExtendRequest) returns (BundleExtendResponse) {} // 套餐扩展 + rpc BundleExtendRecordsList(BundleExtendRecordsListRequest) returns (BundleExtendRecordsListResponse) {} // 套餐扩展记录查询 } message CommonResponse { @@ -303,4 +307,66 @@ message ValueAddServiceDetailResponse { string msg = 1 [json_name = "msg"]; ValueAddService valueAddService = 2 [json_name = "valueAddService"]; } -//*********************************新增值服务-over****************************************** \ No newline at end of file +//*********************************新增值服务-over****************************************** + +message BundleExtendRequest{ + int64 userId = 1; + uint32 accountAdditional = 2; + uint32 videoAdditional = 3; + uint32 imagesAdditional = 4; + uint32 dataAdditional = 5; + uint32 availableDurationAdditional = 6; + string remark = 7; + string associatedorderNumber = 8; + int64 operatorId = 9; +} + +message BundleExtendResponse{ +} + +message BundleExtendRecordsListRequest{ + int32 page = 1; + int32 pageSize = 2; + string user = 3; + string operator = 4; + uint64 startTime = 5; + uint64 endTime = 6; + uint32 type = 7; + string associatedOrderNumber = 8; +} + +message BundleExtendRecordsListResponse{ + int64 total = 1; + repeated BundleExtendRecordItem data = 2; +} + +message BundleExtendRecordItem{ + string userName = 1; + string userPhoneNumber = 2; + uint32 accountAdditional = 3; + uint32 videoAdditional = 4; + uint32 imagesAdditional = 5; + uint32 dataAdditional = 6; + uint32 availableDurationAdditional = 7; + int32 type = 8; + uint64 createdAt = 9; + string remark = 10; + string associatedOrderNumber = 11; + string operatorName = 12; + string operatorPhoneNumber = 13; +} + +message SetBundleBalanceRequest { + int32 userId = 1; + int64 expirationTime = 2; + string bundleName = 3; + int32 accountNumber = 4; + int32 videoNumber = 5; + int32 imageNumber = 6; + int32 dataAnalysisNumber = 7; + int32 expansionPacksNumber = 8; +} + +message SetBundleBalanceResponse { + +} \ No newline at end of file diff --git a/pb/bundle/bundle.pb.go b/pb/bundle/bundle.pb.go index dd044a5..5a1b54f 100644 --- a/pb/bundle/bundle.pb.go +++ b/pb/bundle/bundle.pb.go @@ -2597,6 +2597,583 @@ func (x *ValueAddServiceDetailResponse) GetValueAddService() *ValueAddService { return nil } +type BundleExtendRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + UserId int64 `protobuf:"varint,1,opt,name=userId,proto3" json:"userId,omitempty"` + AccountAdditional uint32 `protobuf:"varint,2,opt,name=accountAdditional,proto3" json:"accountAdditional,omitempty"` + VideoAdditional uint32 `protobuf:"varint,3,opt,name=videoAdditional,proto3" json:"videoAdditional,omitempty"` + ImagesAdditional uint32 `protobuf:"varint,4,opt,name=imagesAdditional,proto3" json:"imagesAdditional,omitempty"` + DataAdditional uint32 `protobuf:"varint,5,opt,name=dataAdditional,proto3" json:"dataAdditional,omitempty"` + AvailableDurationAdditional uint32 `protobuf:"varint,6,opt,name=availableDurationAdditional,proto3" json:"availableDurationAdditional,omitempty"` + Remark string `protobuf:"bytes,7,opt,name=remark,proto3" json:"remark,omitempty"` + AssociatedorderNumber string `protobuf:"bytes,8,opt,name=associatedorderNumber,proto3" json:"associatedorderNumber,omitempty"` + OperatorId int64 `protobuf:"varint,9,opt,name=operatorId,proto3" json:"operatorId,omitempty"` +} + +func (x *BundleExtendRequest) Reset() { + *x = BundleExtendRequest{} + mi := &file_pb_bundle_proto_msgTypes[32] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *BundleExtendRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*BundleExtendRequest) ProtoMessage() {} + +func (x *BundleExtendRequest) ProtoReflect() protoreflect.Message { + mi := &file_pb_bundle_proto_msgTypes[32] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use BundleExtendRequest.ProtoReflect.Descriptor instead. +func (*BundleExtendRequest) Descriptor() ([]byte, []int) { + return file_pb_bundle_proto_rawDescGZIP(), []int{32} +} + +func (x *BundleExtendRequest) GetUserId() int64 { + if x != nil { + return x.UserId + } + return 0 +} + +func (x *BundleExtendRequest) GetAccountAdditional() uint32 { + if x != nil { + return x.AccountAdditional + } + return 0 +} + +func (x *BundleExtendRequest) GetVideoAdditional() uint32 { + if x != nil { + return x.VideoAdditional + } + return 0 +} + +func (x *BundleExtendRequest) GetImagesAdditional() uint32 { + if x != nil { + return x.ImagesAdditional + } + return 0 +} + +func (x *BundleExtendRequest) GetDataAdditional() uint32 { + if x != nil { + return x.DataAdditional + } + return 0 +} + +func (x *BundleExtendRequest) GetAvailableDurationAdditional() uint32 { + if x != nil { + return x.AvailableDurationAdditional + } + return 0 +} + +func (x *BundleExtendRequest) GetRemark() string { + if x != nil { + return x.Remark + } + return "" +} + +func (x *BundleExtendRequest) GetAssociatedorderNumber() string { + if x != nil { + return x.AssociatedorderNumber + } + return "" +} + +func (x *BundleExtendRequest) GetOperatorId() int64 { + if x != nil { + return x.OperatorId + } + return 0 +} + +type BundleExtendResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *BundleExtendResponse) Reset() { + *x = BundleExtendResponse{} + mi := &file_pb_bundle_proto_msgTypes[33] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *BundleExtendResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*BundleExtendResponse) ProtoMessage() {} + +func (x *BundleExtendResponse) ProtoReflect() protoreflect.Message { + mi := &file_pb_bundle_proto_msgTypes[33] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use BundleExtendResponse.ProtoReflect.Descriptor instead. +func (*BundleExtendResponse) Descriptor() ([]byte, []int) { + return file_pb_bundle_proto_rawDescGZIP(), []int{33} +} + +type BundleExtendRecordsListRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Page int32 `protobuf:"varint,1,opt,name=page,proto3" json:"page,omitempty"` + PageSize int32 `protobuf:"varint,2,opt,name=pageSize,proto3" json:"pageSize,omitempty"` + User string `protobuf:"bytes,3,opt,name=user,proto3" json:"user,omitempty"` + Operator string `protobuf:"bytes,4,opt,name=operator,proto3" json:"operator,omitempty"` + StartTime uint64 `protobuf:"varint,5,opt,name=startTime,proto3" json:"startTime,omitempty"` + EndTime uint64 `protobuf:"varint,6,opt,name=endTime,proto3" json:"endTime,omitempty"` + Type uint32 `protobuf:"varint,7,opt,name=type,proto3" json:"type,omitempty"` + AssociatedOrderNumber string `protobuf:"bytes,8,opt,name=associatedOrderNumber,proto3" json:"associatedOrderNumber,omitempty"` +} + +func (x *BundleExtendRecordsListRequest) Reset() { + *x = BundleExtendRecordsListRequest{} + mi := &file_pb_bundle_proto_msgTypes[34] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *BundleExtendRecordsListRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*BundleExtendRecordsListRequest) ProtoMessage() {} + +func (x *BundleExtendRecordsListRequest) ProtoReflect() protoreflect.Message { + mi := &file_pb_bundle_proto_msgTypes[34] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use BundleExtendRecordsListRequest.ProtoReflect.Descriptor instead. +func (*BundleExtendRecordsListRequest) Descriptor() ([]byte, []int) { + return file_pb_bundle_proto_rawDescGZIP(), []int{34} +} + +func (x *BundleExtendRecordsListRequest) GetPage() int32 { + if x != nil { + return x.Page + } + return 0 +} + +func (x *BundleExtendRecordsListRequest) GetPageSize() int32 { + if x != nil { + return x.PageSize + } + return 0 +} + +func (x *BundleExtendRecordsListRequest) GetUser() string { + if x != nil { + return x.User + } + return "" +} + +func (x *BundleExtendRecordsListRequest) GetOperator() string { + if x != nil { + return x.Operator + } + return "" +} + +func (x *BundleExtendRecordsListRequest) GetStartTime() uint64 { + if x != nil { + return x.StartTime + } + return 0 +} + +func (x *BundleExtendRecordsListRequest) GetEndTime() uint64 { + if x != nil { + return x.EndTime + } + return 0 +} + +func (x *BundleExtendRecordsListRequest) GetType() uint32 { + if x != nil { + return x.Type + } + return 0 +} + +func (x *BundleExtendRecordsListRequest) GetAssociatedOrderNumber() string { + if x != nil { + return x.AssociatedOrderNumber + } + return "" +} + +type BundleExtendRecordsListResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Total int64 `protobuf:"varint,1,opt,name=total,proto3" json:"total,omitempty"` + Data []*BundleExtendRecordItem `protobuf:"bytes,2,rep,name=data,proto3" json:"data,omitempty"` +} + +func (x *BundleExtendRecordsListResponse) Reset() { + *x = BundleExtendRecordsListResponse{} + mi := &file_pb_bundle_proto_msgTypes[35] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *BundleExtendRecordsListResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*BundleExtendRecordsListResponse) ProtoMessage() {} + +func (x *BundleExtendRecordsListResponse) ProtoReflect() protoreflect.Message { + mi := &file_pb_bundle_proto_msgTypes[35] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use BundleExtendRecordsListResponse.ProtoReflect.Descriptor instead. +func (*BundleExtendRecordsListResponse) Descriptor() ([]byte, []int) { + return file_pb_bundle_proto_rawDescGZIP(), []int{35} +} + +func (x *BundleExtendRecordsListResponse) GetTotal() int64 { + if x != nil { + return x.Total + } + return 0 +} + +func (x *BundleExtendRecordsListResponse) GetData() []*BundleExtendRecordItem { + if x != nil { + return x.Data + } + return nil +} + +type BundleExtendRecordItem struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + UserName string `protobuf:"bytes,1,opt,name=userName,proto3" json:"userName,omitempty"` + UserPhoneNumber string `protobuf:"bytes,2,opt,name=userPhoneNumber,proto3" json:"userPhoneNumber,omitempty"` + AccountAdditional uint32 `protobuf:"varint,3,opt,name=accountAdditional,proto3" json:"accountAdditional,omitempty"` + VideoAdditional uint32 `protobuf:"varint,4,opt,name=videoAdditional,proto3" json:"videoAdditional,omitempty"` + ImagesAdditional uint32 `protobuf:"varint,5,opt,name=imagesAdditional,proto3" json:"imagesAdditional,omitempty"` + DataAdditional uint32 `protobuf:"varint,6,opt,name=dataAdditional,proto3" json:"dataAdditional,omitempty"` + AvailableDurationAdditional uint32 `protobuf:"varint,7,opt,name=availableDurationAdditional,proto3" json:"availableDurationAdditional,omitempty"` + Type int32 `protobuf:"varint,8,opt,name=type,proto3" json:"type,omitempty"` + CreatedAt uint64 `protobuf:"varint,9,opt,name=createdAt,proto3" json:"createdAt,omitempty"` + Remark string `protobuf:"bytes,10,opt,name=remark,proto3" json:"remark,omitempty"` + AssociatedOrderNumber string `protobuf:"bytes,11,opt,name=associatedOrderNumber,proto3" json:"associatedOrderNumber,omitempty"` + OperatorName string `protobuf:"bytes,12,opt,name=operatorName,proto3" json:"operatorName,omitempty"` + OperatorPhoneNumber string `protobuf:"bytes,13,opt,name=operatorPhoneNumber,proto3" json:"operatorPhoneNumber,omitempty"` +} + +func (x *BundleExtendRecordItem) Reset() { + *x = BundleExtendRecordItem{} + mi := &file_pb_bundle_proto_msgTypes[36] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *BundleExtendRecordItem) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*BundleExtendRecordItem) ProtoMessage() {} + +func (x *BundleExtendRecordItem) ProtoReflect() protoreflect.Message { + mi := &file_pb_bundle_proto_msgTypes[36] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use BundleExtendRecordItem.ProtoReflect.Descriptor instead. +func (*BundleExtendRecordItem) Descriptor() ([]byte, []int) { + return file_pb_bundle_proto_rawDescGZIP(), []int{36} +} + +func (x *BundleExtendRecordItem) GetUserName() string { + if x != nil { + return x.UserName + } + return "" +} + +func (x *BundleExtendRecordItem) GetUserPhoneNumber() string { + if x != nil { + return x.UserPhoneNumber + } + return "" +} + +func (x *BundleExtendRecordItem) GetAccountAdditional() uint32 { + if x != nil { + return x.AccountAdditional + } + return 0 +} + +func (x *BundleExtendRecordItem) GetVideoAdditional() uint32 { + if x != nil { + return x.VideoAdditional + } + return 0 +} + +func (x *BundleExtendRecordItem) GetImagesAdditional() uint32 { + if x != nil { + return x.ImagesAdditional + } + return 0 +} + +func (x *BundleExtendRecordItem) GetDataAdditional() uint32 { + if x != nil { + return x.DataAdditional + } + return 0 +} + +func (x *BundleExtendRecordItem) GetAvailableDurationAdditional() uint32 { + if x != nil { + return x.AvailableDurationAdditional + } + return 0 +} + +func (x *BundleExtendRecordItem) GetType() int32 { + if x != nil { + return x.Type + } + return 0 +} + +func (x *BundleExtendRecordItem) GetCreatedAt() uint64 { + if x != nil { + return x.CreatedAt + } + return 0 +} + +func (x *BundleExtendRecordItem) GetRemark() string { + if x != nil { + return x.Remark + } + return "" +} + +func (x *BundleExtendRecordItem) GetAssociatedOrderNumber() string { + if x != nil { + return x.AssociatedOrderNumber + } + return "" +} + +func (x *BundleExtendRecordItem) GetOperatorName() string { + if x != nil { + return x.OperatorName + } + return "" +} + +func (x *BundleExtendRecordItem) GetOperatorPhoneNumber() string { + if x != nil { + return x.OperatorPhoneNumber + } + return "" +} + +type SetBundleBalanceRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + UserId int32 `protobuf:"varint,1,opt,name=userId,proto3" json:"userId,omitempty"` + ExpirationTime int64 `protobuf:"varint,2,opt,name=expirationTime,proto3" json:"expirationTime,omitempty"` + BundleName string `protobuf:"bytes,3,opt,name=bundleName,proto3" json:"bundleName,omitempty"` + AccountNumber int32 `protobuf:"varint,4,opt,name=accountNumber,proto3" json:"accountNumber,omitempty"` + VideoNumber int32 `protobuf:"varint,5,opt,name=videoNumber,proto3" json:"videoNumber,omitempty"` + ImageNumber int32 `protobuf:"varint,6,opt,name=imageNumber,proto3" json:"imageNumber,omitempty"` + DataAnalysisNumber int32 `protobuf:"varint,7,opt,name=dataAnalysisNumber,proto3" json:"dataAnalysisNumber,omitempty"` + ExpansionPacksNumber int32 `protobuf:"varint,8,opt,name=expansionPacksNumber,proto3" json:"expansionPacksNumber,omitempty"` +} + +func (x *SetBundleBalanceRequest) Reset() { + *x = SetBundleBalanceRequest{} + mi := &file_pb_bundle_proto_msgTypes[37] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *SetBundleBalanceRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SetBundleBalanceRequest) ProtoMessage() {} + +func (x *SetBundleBalanceRequest) ProtoReflect() protoreflect.Message { + mi := &file_pb_bundle_proto_msgTypes[37] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SetBundleBalanceRequest.ProtoReflect.Descriptor instead. +func (*SetBundleBalanceRequest) Descriptor() ([]byte, []int) { + return file_pb_bundle_proto_rawDescGZIP(), []int{37} +} + +func (x *SetBundleBalanceRequest) GetUserId() int32 { + if x != nil { + return x.UserId + } + return 0 +} + +func (x *SetBundleBalanceRequest) GetExpirationTime() int64 { + if x != nil { + return x.ExpirationTime + } + return 0 +} + +func (x *SetBundleBalanceRequest) GetBundleName() string { + if x != nil { + return x.BundleName + } + return "" +} + +func (x *SetBundleBalanceRequest) GetAccountNumber() int32 { + if x != nil { + return x.AccountNumber + } + return 0 +} + +func (x *SetBundleBalanceRequest) GetVideoNumber() int32 { + if x != nil { + return x.VideoNumber + } + return 0 +} + +func (x *SetBundleBalanceRequest) GetImageNumber() int32 { + if x != nil { + return x.ImageNumber + } + return 0 +} + +func (x *SetBundleBalanceRequest) GetDataAnalysisNumber() int32 { + if x != nil { + return x.DataAnalysisNumber + } + return 0 +} + +func (x *SetBundleBalanceRequest) GetExpansionPacksNumber() int32 { + if x != nil { + return x.ExpansionPacksNumber + } + return 0 +} + +type SetBundleBalanceResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *SetBundleBalanceResponse) Reset() { + *x = SetBundleBalanceResponse{} + mi := &file_pb_bundle_proto_msgTypes[38] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *SetBundleBalanceResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SetBundleBalanceResponse) ProtoMessage() {} + +func (x *SetBundleBalanceResponse) ProtoReflect() protoreflect.Message { + mi := &file_pb_bundle_proto_msgTypes[38] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SetBundleBalanceResponse.ProtoReflect.Descriptor instead. +func (*SetBundleBalanceResponse) Descriptor() ([]byte, []int) { + return file_pb_bundle_proto_rawDescGZIP(), []int{38} +} + var File_pb_bundle_proto protoreflect.FileDescriptor var file_pb_bundle_proto_rawDesc = []byte{ @@ -2998,114 +3575,232 @@ var file_pb_bundle_proto_rawDesc = []byte{ 0x76, 0x69, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x41, 0x64, 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, 0x0f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x41, 0x64, 0x64, 0x53, 0x65, 0x72, - 0x76, 0x69, 0x63, 0x65, 0x32, 0xa3, 0x0d, 0x0a, 0x06, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x12, - 0x3f, 0x0a, 0x0c, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x12, - 0x15, 0x2e, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x2e, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x50, - 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x1a, 0x16, 0x2e, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x2e, - 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, - 0x12, 0x3f, 0x0a, 0x0c, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, + 0x76, 0x69, 0x63, 0x65, 0x22, 0x89, 0x03, 0x0a, 0x13, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x45, + 0x78, 0x74, 0x65, 0x6e, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, + 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x75, 0x73, + 0x65, 0x72, 0x49, 0x64, 0x12, 0x2c, 0x0a, 0x11, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, + 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, + 0x11, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, + 0x61, 0x6c, 0x12, 0x28, 0x0a, 0x0f, 0x76, 0x69, 0x64, 0x65, 0x6f, 0x41, 0x64, 0x64, 0x69, 0x74, + 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0f, 0x76, 0x69, 0x64, + 0x65, 0x6f, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x12, 0x2a, 0x0a, 0x10, + 0x69, 0x6d, 0x61, 0x67, 0x65, 0x73, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x10, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x73, 0x41, 0x64, + 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x12, 0x26, 0x0a, 0x0e, 0x64, 0x61, 0x74, 0x61, + 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, + 0x52, 0x0e, 0x64, 0x61, 0x74, 0x61, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, + 0x12, 0x40, 0x0a, 0x1b, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x44, 0x75, 0x72, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x18, + 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x1b, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, + 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, + 0x61, 0x6c, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x6d, 0x61, 0x72, 0x6b, 0x18, 0x07, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x06, 0x72, 0x65, 0x6d, 0x61, 0x72, 0x6b, 0x12, 0x34, 0x0a, 0x15, 0x61, 0x73, + 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x65, 0x64, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x4e, 0x75, 0x6d, + 0x62, 0x65, 0x72, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x15, 0x61, 0x73, 0x73, 0x6f, 0x63, + 0x69, 0x61, 0x74, 0x65, 0x64, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, + 0x12, 0x1e, 0x0a, 0x0a, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x64, 0x18, 0x09, + 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x64, + 0x22, 0x16, 0x0a, 0x14, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x64, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x82, 0x02, 0x0a, 0x1e, 0x42, 0x75, 0x6e, + 0x64, 0x6c, 0x65, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x64, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, + 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x70, + 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x70, 0x61, 0x67, 0x65, 0x12, + 0x1a, 0x0a, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x75, + 0x73, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x73, 0x65, 0x72, 0x12, + 0x1a, 0x0a, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x1c, 0x0a, 0x09, 0x73, + 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, + 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x6e, 0x64, + 0x54, 0x69, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x65, 0x6e, 0x64, 0x54, + 0x69, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, + 0x0d, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x34, 0x0a, 0x15, 0x61, 0x73, 0x73, 0x6f, 0x63, + 0x69, 0x61, 0x74, 0x65, 0x64, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, + 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x15, 0x61, 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, + 0x65, 0x64, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x22, 0x6b, 0x0a, + 0x1f, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x64, 0x52, 0x65, 0x63, + 0x6f, 0x72, 0x64, 0x73, 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, 0x32, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x2e, 0x42, 0x75, + 0x6e, 0x64, 0x6c, 0x65, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x64, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, + 0x49, 0x74, 0x65, 0x6d, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0xa2, 0x04, 0x0a, 0x16, 0x42, + 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x64, 0x52, 0x65, 0x63, 0x6f, 0x72, + 0x64, 0x49, 0x74, 0x65, 0x6d, 0x12, 0x1a, 0x0a, 0x08, 0x75, 0x73, 0x65, 0x72, 0x4e, 0x61, 0x6d, + 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x75, 0x73, 0x65, 0x72, 0x4e, 0x61, 0x6d, + 0x65, 0x12, 0x28, 0x0a, 0x0f, 0x75, 0x73, 0x65, 0x72, 0x50, 0x68, 0x6f, 0x6e, 0x65, 0x4e, 0x75, + 0x6d, 0x62, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x75, 0x73, 0x65, 0x72, + 0x50, 0x68, 0x6f, 0x6e, 0x65, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x2c, 0x0a, 0x11, 0x61, + 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x11, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, + 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x12, 0x28, 0x0a, 0x0f, 0x76, 0x69, 0x64, + 0x65, 0x6f, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x0d, 0x52, 0x0f, 0x76, 0x69, 0x64, 0x65, 0x6f, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, + 0x6e, 0x61, 0x6c, 0x12, 0x2a, 0x0a, 0x10, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x73, 0x41, 0x64, 0x64, + 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x10, 0x69, + 0x6d, 0x61, 0x67, 0x65, 0x73, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x12, + 0x26, 0x0a, 0x0e, 0x64, 0x61, 0x74, 0x61, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, + 0x6c, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x64, 0x61, 0x74, 0x61, 0x41, 0x64, 0x64, + 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x12, 0x40, 0x0a, 0x1b, 0x61, 0x76, 0x61, 0x69, 0x6c, + 0x61, 0x62, 0x6c, 0x65, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x64, 0x64, 0x69, + 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x1b, 0x61, 0x76, + 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x41, + 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, + 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x1c, 0x0a, + 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x04, + 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x72, + 0x65, 0x6d, 0x61, 0x72, 0x6b, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x65, 0x6d, + 0x61, 0x72, 0x6b, 0x12, 0x34, 0x0a, 0x15, 0x61, 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x65, + 0x64, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x0b, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x15, 0x61, 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x65, 0x64, 0x4f, 0x72, + 0x64, 0x65, 0x72, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x22, 0x0a, 0x0c, 0x6f, 0x70, 0x65, + 0x72, 0x61, 0x74, 0x6f, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0c, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x30, 0x0a, + 0x13, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x50, 0x68, 0x6f, 0x6e, 0x65, 0x4e, 0x75, + 0x6d, 0x62, 0x65, 0x72, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x13, 0x6f, 0x70, 0x65, 0x72, + 0x61, 0x74, 0x6f, 0x72, 0x50, 0x68, 0x6f, 0x6e, 0x65, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x22, + 0xc7, 0x02, 0x0a, 0x17, 0x53, 0x65, 0x74, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x42, 0x61, 0x6c, + 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x75, + 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x75, 0x73, 0x65, + 0x72, 0x49, 0x64, 0x12, 0x26, 0x0a, 0x0e, 0x65, 0x78, 0x70, 0x69, 0x72, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0e, 0x65, 0x78, 0x70, + 0x69, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x62, + 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0a, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x24, 0x0a, 0x0d, 0x61, + 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x0d, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x4e, 0x75, 0x6d, 0x62, 0x65, + 0x72, 0x12, 0x20, 0x0a, 0x0b, 0x76, 0x69, 0x64, 0x65, 0x6f, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, + 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x76, 0x69, 0x64, 0x65, 0x6f, 0x4e, 0x75, 0x6d, + 0x62, 0x65, 0x72, 0x12, 0x20, 0x0a, 0x0b, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x4e, 0x75, 0x6d, 0x62, + 0x65, 0x72, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x4e, + 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x2e, 0x0a, 0x12, 0x64, 0x61, 0x74, 0x61, 0x41, 0x6e, 0x61, + 0x6c, 0x79, 0x73, 0x69, 0x73, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x07, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x12, 0x64, 0x61, 0x74, 0x61, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x4e, + 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x32, 0x0a, 0x14, 0x65, 0x78, 0x70, 0x61, 0x6e, 0x73, 0x69, + 0x6f, 0x6e, 0x50, 0x61, 0x63, 0x6b, 0x73, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x08, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x14, 0x65, 0x78, 0x70, 0x61, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x50, 0x61, + 0x63, 0x6b, 0x73, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x22, 0x1a, 0x0a, 0x18, 0x53, 0x65, 0x74, + 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x32, 0xde, 0x0e, 0x0a, 0x06, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, + 0x12, 0x3f, 0x0a, 0x0c, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x12, 0x15, 0x2e, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x2e, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x1a, 0x16, 0x2e, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, - 0x00, 0x12, 0x42, 0x0a, 0x0c, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x42, 0x75, 0x6e, 0x64, 0x6c, - 0x65, 0x12, 0x18, 0x2e, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x2e, 0x44, 0x65, 0x6c, 0x42, 0x75, - 0x6e, 0x64, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x62, 0x75, - 0x6e, 0x64, 0x6c, 0x65, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x3f, 0x0a, 0x09, 0x48, 0x61, 0x6e, 0x64, 0x53, 0x68, 0x65, - 0x6c, 0x66, 0x12, 0x18, 0x2e, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x2e, 0x48, 0x61, 0x6e, 0x64, - 0x53, 0x68, 0x65, 0x6c, 0x66, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x62, + 0x00, 0x12, 0x3f, 0x0a, 0x0c, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x42, 0x75, 0x6e, 0x64, 0x6c, + 0x65, 0x12, 0x15, 0x2e, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x2e, 0x42, 0x75, 0x6e, 0x64, 0x6c, + 0x65, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x1a, 0x16, 0x2e, 0x62, 0x75, 0x6e, 0x64, 0x6c, + 0x65, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x22, 0x00, 0x12, 0x42, 0x0a, 0x0c, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x42, 0x75, 0x6e, 0x64, + 0x6c, 0x65, 0x12, 0x18, 0x2e, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x2e, 0x44, 0x65, 0x6c, 0x42, + 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x3b, 0x0a, 0x0a, 0x53, 0x61, 0x76, 0x65, 0x42, 0x75, - 0x6e, 0x64, 0x6c, 0x65, 0x12, 0x15, 0x2e, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x2e, 0x42, 0x75, - 0x6e, 0x64, 0x6c, 0x65, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x1a, 0x14, 0x2e, 0x62, 0x75, - 0x6e, 0x64, 0x6c, 0x65, 0x2e, 0x53, 0x61, 0x76, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x22, 0x00, 0x12, 0x47, 0x0a, 0x0c, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x4c, 0x69, 0x73, - 0x74, 0x56, 0x32, 0x12, 0x19, 0x2e, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x2e, 0x42, 0x75, 0x6e, - 0x64, 0x6c, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1a, - 0x2e, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x2e, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x4c, 0x69, - 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x4f, 0x0a, 0x0e, - 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x56, 0x32, 0x12, 0x1b, - 0x2e, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x2e, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x44, 0x65, - 0x74, 0x61, 0x69, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x62, 0x75, - 0x6e, 0x64, 0x6c, 0x65, 0x2e, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x44, 0x65, 0x74, 0x61, 0x69, - 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x56, 0x32, 0x22, 0x00, 0x12, 0x45, 0x0a, - 0x0a, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x19, 0x2e, 0x62, 0x75, - 0x6e, 0x64, 0x6c, 0x65, 0x2e, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1a, 0x2e, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x2e, - 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x22, 0x00, 0x12, 0x4b, 0x0a, 0x0c, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x44, 0x65, - 0x74, 0x61, 0x69, 0x6c, 0x12, 0x1b, 0x2e, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x2e, 0x42, 0x75, - 0x6e, 0x64, 0x6c, 0x65, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x1c, 0x2e, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x2e, 0x42, 0x75, 0x6e, 0x64, 0x6c, - 0x65, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, - 0x00, 0x12, 0x42, 0x0a, 0x11, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4f, 0x72, 0x64, 0x65, 0x72, - 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x12, 0x13, 0x2e, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x2e, - 0x4f, 0x72, 0x64, 0x65, 0x72, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x1a, 0x16, 0x2e, 0x62, 0x75, - 0x6e, 0x64, 0x6c, 0x65, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x42, 0x0a, 0x11, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4f, - 0x72, 0x64, 0x65, 0x72, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x12, 0x13, 0x2e, 0x62, 0x75, 0x6e, - 0x64, 0x6c, 0x65, 0x2e, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x1a, - 0x16, 0x2e, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x4b, 0x0a, 0x1a, 0x55, 0x70, 0x64, - 0x61, 0x74, 0x65, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x42, 0x79, - 0x4f, 0x72, 0x64, 0x65, 0x72, 0x4e, 0x6f, 0x12, 0x13, 0x2e, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, + 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x3f, 0x0a, 0x09, 0x48, 0x61, 0x6e, 0x64, 0x53, 0x68, + 0x65, 0x6c, 0x66, 0x12, 0x18, 0x2e, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x2e, 0x48, 0x61, 0x6e, + 0x64, 0x53, 0x68, 0x65, 0x6c, 0x66, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, + 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x3b, 0x0a, 0x0a, 0x53, 0x61, 0x76, 0x65, 0x42, + 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x12, 0x15, 0x2e, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x2e, 0x42, + 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x1a, 0x14, 0x2e, 0x62, + 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x2e, 0x53, 0x61, 0x76, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x22, 0x00, 0x12, 0x47, 0x0a, 0x0c, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x4c, 0x69, + 0x73, 0x74, 0x56, 0x32, 0x12, 0x19, 0x2e, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x2e, 0x42, 0x75, + 0x6e, 0x64, 0x6c, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x1a, 0x2e, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x2e, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x4c, + 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x4f, 0x0a, + 0x0e, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x56, 0x32, 0x12, + 0x1b, 0x2e, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x2e, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x44, + 0x65, 0x74, 0x61, 0x69, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x62, + 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x2e, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x44, 0x65, 0x74, 0x61, + 0x69, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x56, 0x32, 0x22, 0x00, 0x12, 0x45, + 0x0a, 0x0a, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x19, 0x2e, 0x62, + 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x2e, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x4c, 0x69, 0x73, 0x74, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1a, 0x2e, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, + 0x2e, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x4b, 0x0a, 0x0c, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x44, + 0x65, 0x74, 0x61, 0x69, 0x6c, 0x12, 0x1b, 0x2e, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x2e, 0x42, + 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x1c, 0x2e, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x2e, 0x42, 0x75, 0x6e, 0x64, + 0x6c, 0x65, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x22, 0x00, 0x12, 0x42, 0x0a, 0x11, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4f, 0x72, 0x64, 0x65, + 0x72, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x12, 0x13, 0x2e, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x2e, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x1a, 0x16, 0x2e, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x4f, 0x0a, 0x10, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x52, - 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x1b, 0x2e, 0x62, 0x75, 0x6e, - 0x64, 0x6c, 0x65, 0x2e, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1c, 0x2e, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, - 0x2e, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x5d, 0x0a, 0x12, 0x4f, 0x72, 0x64, 0x65, 0x72, - 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x12, 0x21, 0x2e, - 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x2e, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x52, 0x65, 0x63, 0x6f, - 0x72, 0x64, 0x73, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x22, 0x2e, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x2e, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x52, - 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x63, 0x0a, 0x21, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, - 0x46, 0x69, 0x6e, 0x61, 0x6e, 0x63, 0x69, 0x61, 0x6c, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x24, 0x2e, 0x62, 0x75, - 0x6e, 0x64, 0x6c, 0x65, 0x2e, 0x46, 0x69, 0x6e, 0x61, 0x6e, 0x63, 0x69, 0x61, 0x6c, 0x43, 0x6f, - 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x16, 0x2e, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, - 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x63, 0x0a, 0x14, 0x43, - 0x72, 0x65, 0x61, 0x74, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x41, 0x64, 0x64, 0x42, 0x75, 0x6e, - 0x64, 0x6c, 0x65, 0x12, 0x23, 0x2e, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x2e, 0x43, 0x72, 0x65, - 0x61, 0x74, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x41, 0x64, 0x64, 0x42, 0x75, 0x6e, 0x64, 0x6c, - 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x62, 0x75, 0x6e, 0x64, 0x6c, - 0x65, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x41, 0x64, 0x64, - 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, - 0x12, 0x5d, 0x0a, 0x12, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x41, 0x64, 0x64, 0x42, 0x75, 0x6e, 0x64, - 0x6c, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x21, 0x2e, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x2e, - 0x56, 0x61, 0x6c, 0x75, 0x65, 0x41, 0x64, 0x64, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x4c, 0x69, - 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x62, 0x75, 0x6e, 0x64, - 0x6c, 0x65, 0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x41, 0x64, 0x64, 0x42, 0x75, 0x6e, 0x64, 0x6c, - 0x65, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, - 0x63, 0x0a, 0x14, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x41, 0x64, 0x64, 0x42, 0x75, 0x6e, 0x64, 0x6c, - 0x65, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x12, 0x23, 0x2e, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, - 0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x41, 0x64, 0x64, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x44, - 0x65, 0x74, 0x61, 0x69, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x62, - 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x41, 0x64, 0x64, 0x42, 0x75, - 0x6e, 0x64, 0x6c, 0x65, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x22, 0x00, 0x12, 0x4a, 0x0a, 0x13, 0x53, 0x61, 0x76, 0x65, 0x56, 0x61, 0x6c, 0x75, - 0x65, 0x41, 0x64, 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x1b, 0x2e, 0x62, 0x75, - 0x6e, 0x64, 0x6c, 0x65, 0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x41, 0x64, 0x64, 0x53, 0x65, 0x72, - 0x76, 0x69, 0x63, 0x65, 0x4c, 0x61, 0x6e, 0x67, 0x1a, 0x14, 0x2e, 0x62, 0x75, 0x6e, 0x64, 0x6c, - 0x65, 0x2e, 0x53, 0x61, 0x76, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, - 0x12, 0x60, 0x0a, 0x13, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x41, 0x64, 0x64, 0x53, 0x65, 0x72, 0x76, - 0x69, 0x63, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x22, 0x2e, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, - 0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x41, 0x64, 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, - 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x23, 0x2e, 0x62, 0x75, - 0x6e, 0x64, 0x6c, 0x65, 0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x41, 0x64, 0x64, 0x53, 0x65, 0x72, - 0x76, 0x69, 0x63, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x22, 0x00, 0x12, 0x66, 0x0a, 0x15, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x41, 0x64, 0x64, 0x53, 0x65, - 0x72, 0x76, 0x69, 0x63, 0x65, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x12, 0x24, 0x2e, 0x62, 0x75, - 0x6e, 0x64, 0x6c, 0x65, 0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x41, 0x64, 0x64, 0x53, 0x65, 0x72, - 0x76, 0x69, 0x63, 0x65, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x25, 0x2e, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65, - 0x41, 0x64, 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, - 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x42, 0x0a, 0x11, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, + 0x4f, 0x72, 0x64, 0x65, 0x72, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x12, 0x13, 0x2e, 0x62, 0x75, + 0x6e, 0x64, 0x6c, 0x65, 0x2e, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, + 0x1a, 0x16, 0x2e, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x4b, 0x0a, 0x1a, 0x55, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x42, + 0x79, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x4e, 0x6f, 0x12, 0x13, 0x2e, 0x62, 0x75, 0x6e, 0x64, 0x6c, + 0x65, 0x2e, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x1a, 0x16, 0x2e, + 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x4f, 0x0a, 0x10, 0x4f, 0x72, 0x64, 0x65, 0x72, + 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x1b, 0x2e, 0x62, 0x75, + 0x6e, 0x64, 0x6c, 0x65, 0x2e, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, + 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1c, 0x2e, 0x62, 0x75, 0x6e, 0x64, 0x6c, + 0x65, 0x2e, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x5d, 0x0a, 0x12, 0x4f, 0x72, 0x64, 0x65, + 0x72, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x12, 0x21, + 0x2e, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x2e, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x52, 0x65, 0x63, + 0x6f, 0x72, 0x64, 0x73, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x22, 0x2e, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x2e, 0x4f, 0x72, 0x64, 0x65, 0x72, + 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x63, 0x0a, 0x21, 0x55, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x46, 0x69, 0x6e, 0x61, 0x6e, 0x63, 0x69, 0x61, 0x6c, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x72, + 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x24, 0x2e, 0x62, + 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x2e, 0x46, 0x69, 0x6e, 0x61, 0x6e, 0x63, 0x69, 0x61, 0x6c, 0x43, + 0x6f, 0x6e, 0x66, 0x69, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, + 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x63, 0x0a, 0x14, + 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x41, 0x64, 0x64, 0x42, 0x75, + 0x6e, 0x64, 0x6c, 0x65, 0x12, 0x23, 0x2e, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x2e, 0x43, 0x72, + 0x65, 0x61, 0x74, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x41, 0x64, 0x64, 0x42, 0x75, 0x6e, 0x64, + 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x62, 0x75, 0x6e, 0x64, + 0x6c, 0x65, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x41, 0x64, + 0x64, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, + 0x00, 0x12, 0x5d, 0x0a, 0x12, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x41, 0x64, 0x64, 0x42, 0x75, 0x6e, + 0x64, 0x6c, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x21, 0x2e, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, + 0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x41, 0x64, 0x64, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x4c, + 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x62, 0x75, 0x6e, + 0x64, 0x6c, 0x65, 0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x41, 0x64, 0x64, 0x42, 0x75, 0x6e, 0x64, + 0x6c, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, + 0x12, 0x63, 0x0a, 0x14, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x41, 0x64, 0x64, 0x42, 0x75, 0x6e, 0x64, + 0x6c, 0x65, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x12, 0x23, 0x2e, 0x62, 0x75, 0x6e, 0x64, 0x6c, + 0x65, 0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x41, 0x64, 0x64, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, + 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, + 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x41, 0x64, 0x64, 0x42, + 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x4a, 0x0a, 0x13, 0x53, 0x61, 0x76, 0x65, 0x56, 0x61, 0x6c, + 0x75, 0x65, 0x41, 0x64, 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x1b, 0x2e, 0x62, + 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x41, 0x64, 0x64, 0x53, 0x65, + 0x72, 0x76, 0x69, 0x63, 0x65, 0x4c, 0x61, 0x6e, 0x67, 0x1a, 0x14, 0x2e, 0x62, 0x75, 0x6e, 0x64, + 0x6c, 0x65, 0x2e, 0x53, 0x61, 0x76, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, + 0x00, 0x12, 0x60, 0x0a, 0x13, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x41, 0x64, 0x64, 0x53, 0x65, 0x72, + 0x76, 0x69, 0x63, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x22, 0x2e, 0x62, 0x75, 0x6e, 0x64, 0x6c, + 0x65, 0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x41, 0x64, 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, + 0x65, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x23, 0x2e, 0x62, + 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x41, 0x64, 0x64, 0x53, 0x65, + 0x72, 0x76, 0x69, 0x63, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x22, 0x00, 0x12, 0x66, 0x0a, 0x15, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x41, 0x64, 0x64, 0x53, + 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x12, 0x24, 0x2e, 0x62, + 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x41, 0x64, 0x64, 0x53, 0x65, + 0x72, 0x76, 0x69, 0x63, 0x65, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x2e, 0x56, 0x61, 0x6c, 0x75, + 0x65, 0x41, 0x64, 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x44, 0x65, 0x74, 0x61, 0x69, + 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x4b, 0x0a, 0x0c, 0x42, + 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x64, 0x12, 0x1b, 0x2e, 0x62, 0x75, + 0x6e, 0x64, 0x6c, 0x65, 0x2e, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x45, 0x78, 0x74, 0x65, 0x6e, + 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1c, 0x2e, 0x62, 0x75, 0x6e, 0x64, 0x6c, + 0x65, 0x2e, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x64, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x6c, 0x0a, 0x17, 0x42, 0x75, 0x6e, 0x64, + 0x6c, 0x65, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x64, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x4c, + 0x69, 0x73, 0x74, 0x12, 0x26, 0x2e, 0x62, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x2e, 0x42, 0x75, 0x6e, + 0x64, 0x6c, 0x65, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x64, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, + 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x62, 0x75, + 0x6e, 0x64, 0x6c, 0x65, 0x2e, 0x42, 0x75, 0x6e, 0x64, 0x6c, 0x65, 0x45, 0x78, 0x74, 0x65, 0x6e, + 0x64, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x42, 0x0a, 0x5a, 0x08, 0x2e, 0x2f, 0x62, 0x75, 0x6e, 0x64, + 0x6c, 0x65, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -3120,40 +3815,47 @@ func file_pb_bundle_proto_rawDescGZIP() []byte { return file_pb_bundle_proto_rawDescData } -var file_pb_bundle_proto_msgTypes = make([]protoimpl.MessageInfo, 32) +var file_pb_bundle_proto_msgTypes = make([]protoimpl.MessageInfo, 39) var file_pb_bundle_proto_goTypes = []any{ - (*CommonResponse)(nil), // 0: bundle.CommonResponse - (*BundleProfile)(nil), // 1: bundle.BundleProfile - (*BundleProfileLang)(nil), // 2: bundle.BundleProfileLang - (*SaveResponse)(nil), // 3: bundle.SaveResponse - (*SelectValueAddService)(nil), // 4: bundle.SelectValueAddService - (*DelBundleRequest)(nil), // 5: bundle.DelBundleRequest - (*BundleListRequest)(nil), // 6: bundle.BundleListRequest - (*BundleListResponse)(nil), // 7: bundle.BundleListResponse - (*BundleDetailRequest)(nil), // 8: bundle.BundleDetailRequest - (*HandShelfRequest)(nil), // 9: bundle.HandShelfRequest - (*BundleDetailResponse)(nil), // 10: bundle.BundleDetailResponse - (*BundleDetailResponseV2)(nil), // 11: bundle.BundleDetailResponseV2 - (*OrderRecord)(nil), // 12: bundle.OrderRecord - (*OrderRecordsRequest)(nil), // 13: bundle.OrderRecordsRequest - (*OrderRecordsResponse)(nil), // 14: bundle.OrderRecordsResponse - (*OrderRecordsDetailRequest)(nil), // 15: bundle.OrderRecordsDetailRequest - (*OrderRecordsDetailResponse)(nil), // 16: bundle.OrderRecordsDetailResponse - (*ValueAddBundleProfile)(nil), // 17: bundle.ValueAddBundleProfile - (*CreateValueAddBundleRequest)(nil), // 18: bundle.CreateValueAddBundleRequest - (*CreateValueAddBundleResponse)(nil), // 19: bundle.CreateValueAddBundleResponse - (*ValueAddBundleListRequest)(nil), // 20: bundle.ValueAddBundleListRequest - (*ValueAddBundleListResponse)(nil), // 21: bundle.ValueAddBundleListResponse - (*ValueAddBundleDetailRequest)(nil), // 22: bundle.ValueAddBundleDetailRequest - (*ValueAddBundleDetailResponse)(nil), // 23: bundle.ValueAddBundleDetailResponse - (*FinancialConfirmationRequest)(nil), // 24: bundle.FinancialConfirmationRequest - (*ValueAddService)(nil), // 25: bundle.ValueAddService - (*ValueAddServiceLang)(nil), // 26: bundle.ValueAddServiceLang - (*ValueAddPriceOptions)(nil), // 27: bundle.ValueAddPriceOptions - (*ValueAddServiceListRequest)(nil), // 28: bundle.ValueAddServiceListRequest - (*ValueAddServiceListResponse)(nil), // 29: bundle.ValueAddServiceListResponse - (*ValueAddServiceDetailRequest)(nil), // 30: bundle.ValueAddServiceDetailRequest - (*ValueAddServiceDetailResponse)(nil), // 31: bundle.ValueAddServiceDetailResponse + (*CommonResponse)(nil), // 0: bundle.CommonResponse + (*BundleProfile)(nil), // 1: bundle.BundleProfile + (*BundleProfileLang)(nil), // 2: bundle.BundleProfileLang + (*SaveResponse)(nil), // 3: bundle.SaveResponse + (*SelectValueAddService)(nil), // 4: bundle.SelectValueAddService + (*DelBundleRequest)(nil), // 5: bundle.DelBundleRequest + (*BundleListRequest)(nil), // 6: bundle.BundleListRequest + (*BundleListResponse)(nil), // 7: bundle.BundleListResponse + (*BundleDetailRequest)(nil), // 8: bundle.BundleDetailRequest + (*HandShelfRequest)(nil), // 9: bundle.HandShelfRequest + (*BundleDetailResponse)(nil), // 10: bundle.BundleDetailResponse + (*BundleDetailResponseV2)(nil), // 11: bundle.BundleDetailResponseV2 + (*OrderRecord)(nil), // 12: bundle.OrderRecord + (*OrderRecordsRequest)(nil), // 13: bundle.OrderRecordsRequest + (*OrderRecordsResponse)(nil), // 14: bundle.OrderRecordsResponse + (*OrderRecordsDetailRequest)(nil), // 15: bundle.OrderRecordsDetailRequest + (*OrderRecordsDetailResponse)(nil), // 16: bundle.OrderRecordsDetailResponse + (*ValueAddBundleProfile)(nil), // 17: bundle.ValueAddBundleProfile + (*CreateValueAddBundleRequest)(nil), // 18: bundle.CreateValueAddBundleRequest + (*CreateValueAddBundleResponse)(nil), // 19: bundle.CreateValueAddBundleResponse + (*ValueAddBundleListRequest)(nil), // 20: bundle.ValueAddBundleListRequest + (*ValueAddBundleListResponse)(nil), // 21: bundle.ValueAddBundleListResponse + (*ValueAddBundleDetailRequest)(nil), // 22: bundle.ValueAddBundleDetailRequest + (*ValueAddBundleDetailResponse)(nil), // 23: bundle.ValueAddBundleDetailResponse + (*FinancialConfirmationRequest)(nil), // 24: bundle.FinancialConfirmationRequest + (*ValueAddService)(nil), // 25: bundle.ValueAddService + (*ValueAddServiceLang)(nil), // 26: bundle.ValueAddServiceLang + (*ValueAddPriceOptions)(nil), // 27: bundle.ValueAddPriceOptions + (*ValueAddServiceListRequest)(nil), // 28: bundle.ValueAddServiceListRequest + (*ValueAddServiceListResponse)(nil), // 29: bundle.ValueAddServiceListResponse + (*ValueAddServiceDetailRequest)(nil), // 30: bundle.ValueAddServiceDetailRequest + (*ValueAddServiceDetailResponse)(nil), // 31: bundle.ValueAddServiceDetailResponse + (*BundleExtendRequest)(nil), // 32: bundle.BundleExtendRequest + (*BundleExtendResponse)(nil), // 33: bundle.BundleExtendResponse + (*BundleExtendRecordsListRequest)(nil), // 34: bundle.BundleExtendRecordsListRequest + (*BundleExtendRecordsListResponse)(nil), // 35: bundle.BundleExtendRecordsListResponse + (*BundleExtendRecordItem)(nil), // 36: bundle.BundleExtendRecordItem + (*SetBundleBalanceRequest)(nil), // 37: bundle.SetBundleBalanceRequest + (*SetBundleBalanceResponse)(nil), // 38: bundle.SetBundleBalanceResponse } var file_pb_bundle_proto_depIdxs = []int32{ 4, // 0: bundle.BundleProfile.selectValueAddService:type_name -> bundle.SelectValueAddService @@ -3170,53 +3872,58 @@ var file_pb_bundle_proto_depIdxs = []int32{ 27, // 11: bundle.ValueAddServiceLang.options:type_name -> bundle.ValueAddPriceOptions 25, // 12: bundle.ValueAddServiceListResponse.valueAddServiceList:type_name -> bundle.ValueAddService 25, // 13: bundle.ValueAddServiceDetailResponse.valueAddService:type_name -> bundle.ValueAddService - 1, // 14: bundle.Bundle.CreateBundle:input_type -> bundle.BundleProfile - 1, // 15: bundle.Bundle.UpdateBundle:input_type -> bundle.BundleProfile - 5, // 16: bundle.Bundle.DeleteBundle:input_type -> bundle.DelBundleRequest - 9, // 17: bundle.Bundle.HandShelf:input_type -> bundle.HandShelfRequest - 1, // 18: bundle.Bundle.SaveBundle:input_type -> bundle.BundleProfile - 6, // 19: bundle.Bundle.BundleListV2:input_type -> bundle.BundleListRequest - 8, // 20: bundle.Bundle.BundleDetailV2:input_type -> bundle.BundleDetailRequest - 6, // 21: bundle.Bundle.BundleList:input_type -> bundle.BundleListRequest - 8, // 22: bundle.Bundle.BundleDetail:input_type -> bundle.BundleDetailRequest - 12, // 23: bundle.Bundle.CreateOrderRecord:input_type -> bundle.OrderRecord - 12, // 24: bundle.Bundle.UpdateOrderRecord:input_type -> bundle.OrderRecord - 12, // 25: bundle.Bundle.UpdateOrderRecordByOrderNo:input_type -> bundle.OrderRecord - 13, // 26: bundle.Bundle.OrderRecordsList:input_type -> bundle.OrderRecordsRequest - 15, // 27: bundle.Bundle.OrderRecordsDetail:input_type -> bundle.OrderRecordsDetailRequest - 24, // 28: bundle.Bundle.UpdateFinancialConfirmationStatus:input_type -> bundle.FinancialConfirmationRequest - 18, // 29: bundle.Bundle.CreateValueAddBundle:input_type -> bundle.CreateValueAddBundleRequest - 20, // 30: bundle.Bundle.ValueAddBundleList:input_type -> bundle.ValueAddBundleListRequest - 22, // 31: bundle.Bundle.ValueAddBundleDetail:input_type -> bundle.ValueAddBundleDetailRequest - 26, // 32: bundle.Bundle.SaveValueAddService:input_type -> bundle.ValueAddServiceLang - 28, // 33: bundle.Bundle.ValueAddServiceList:input_type -> bundle.ValueAddServiceListRequest - 30, // 34: bundle.Bundle.ValueAddServiceDetail:input_type -> bundle.ValueAddServiceDetailRequest - 0, // 35: bundle.Bundle.CreateBundle:output_type -> bundle.CommonResponse - 0, // 36: bundle.Bundle.UpdateBundle:output_type -> bundle.CommonResponse - 0, // 37: bundle.Bundle.DeleteBundle:output_type -> bundle.CommonResponse - 0, // 38: bundle.Bundle.HandShelf:output_type -> bundle.CommonResponse - 3, // 39: bundle.Bundle.SaveBundle:output_type -> bundle.SaveResponse - 7, // 40: bundle.Bundle.BundleListV2:output_type -> bundle.BundleListResponse - 11, // 41: bundle.Bundle.BundleDetailV2:output_type -> bundle.BundleDetailResponseV2 - 7, // 42: bundle.Bundle.BundleList:output_type -> bundle.BundleListResponse - 10, // 43: bundle.Bundle.BundleDetail:output_type -> bundle.BundleDetailResponse - 0, // 44: bundle.Bundle.CreateOrderRecord:output_type -> bundle.CommonResponse - 0, // 45: bundle.Bundle.UpdateOrderRecord:output_type -> bundle.CommonResponse - 0, // 46: bundle.Bundle.UpdateOrderRecordByOrderNo:output_type -> bundle.CommonResponse - 14, // 47: bundle.Bundle.OrderRecordsList:output_type -> bundle.OrderRecordsResponse - 16, // 48: bundle.Bundle.OrderRecordsDetail:output_type -> bundle.OrderRecordsDetailResponse - 0, // 49: bundle.Bundle.UpdateFinancialConfirmationStatus:output_type -> bundle.CommonResponse - 19, // 50: bundle.Bundle.CreateValueAddBundle:output_type -> bundle.CreateValueAddBundleResponse - 21, // 51: bundle.Bundle.ValueAddBundleList:output_type -> bundle.ValueAddBundleListResponse - 23, // 52: bundle.Bundle.ValueAddBundleDetail:output_type -> bundle.ValueAddBundleDetailResponse - 3, // 53: bundle.Bundle.SaveValueAddService:output_type -> bundle.SaveResponse - 29, // 54: bundle.Bundle.ValueAddServiceList:output_type -> bundle.ValueAddServiceListResponse - 31, // 55: bundle.Bundle.ValueAddServiceDetail:output_type -> bundle.ValueAddServiceDetailResponse - 35, // [35:56] is the sub-list for method output_type - 14, // [14:35] is the sub-list for method input_type - 14, // [14:14] is the sub-list for extension type_name - 14, // [14:14] is the sub-list for extension extendee - 0, // [0:14] is the sub-list for field type_name + 36, // 14: bundle.BundleExtendRecordsListResponse.data:type_name -> bundle.BundleExtendRecordItem + 1, // 15: bundle.Bundle.CreateBundle:input_type -> bundle.BundleProfile + 1, // 16: bundle.Bundle.UpdateBundle:input_type -> bundle.BundleProfile + 5, // 17: bundle.Bundle.DeleteBundle:input_type -> bundle.DelBundleRequest + 9, // 18: bundle.Bundle.HandShelf:input_type -> bundle.HandShelfRequest + 1, // 19: bundle.Bundle.SaveBundle:input_type -> bundle.BundleProfile + 6, // 20: bundle.Bundle.BundleListV2:input_type -> bundle.BundleListRequest + 8, // 21: bundle.Bundle.BundleDetailV2:input_type -> bundle.BundleDetailRequest + 6, // 22: bundle.Bundle.BundleList:input_type -> bundle.BundleListRequest + 8, // 23: bundle.Bundle.BundleDetail:input_type -> bundle.BundleDetailRequest + 12, // 24: bundle.Bundle.CreateOrderRecord:input_type -> bundle.OrderRecord + 12, // 25: bundle.Bundle.UpdateOrderRecord:input_type -> bundle.OrderRecord + 12, // 26: bundle.Bundle.UpdateOrderRecordByOrderNo:input_type -> bundle.OrderRecord + 13, // 27: bundle.Bundle.OrderRecordsList:input_type -> bundle.OrderRecordsRequest + 15, // 28: bundle.Bundle.OrderRecordsDetail:input_type -> bundle.OrderRecordsDetailRequest + 24, // 29: bundle.Bundle.UpdateFinancialConfirmationStatus:input_type -> bundle.FinancialConfirmationRequest + 18, // 30: bundle.Bundle.CreateValueAddBundle:input_type -> bundle.CreateValueAddBundleRequest + 20, // 31: bundle.Bundle.ValueAddBundleList:input_type -> bundle.ValueAddBundleListRequest + 22, // 32: bundle.Bundle.ValueAddBundleDetail:input_type -> bundle.ValueAddBundleDetailRequest + 26, // 33: bundle.Bundle.SaveValueAddService:input_type -> bundle.ValueAddServiceLang + 28, // 34: bundle.Bundle.ValueAddServiceList:input_type -> bundle.ValueAddServiceListRequest + 30, // 35: bundle.Bundle.ValueAddServiceDetail:input_type -> bundle.ValueAddServiceDetailRequest + 32, // 36: bundle.Bundle.BundleExtend:input_type -> bundle.BundleExtendRequest + 34, // 37: bundle.Bundle.BundleExtendRecordsList:input_type -> bundle.BundleExtendRecordsListRequest + 0, // 38: bundle.Bundle.CreateBundle:output_type -> bundle.CommonResponse + 0, // 39: bundle.Bundle.UpdateBundle:output_type -> bundle.CommonResponse + 0, // 40: bundle.Bundle.DeleteBundle:output_type -> bundle.CommonResponse + 0, // 41: bundle.Bundle.HandShelf:output_type -> bundle.CommonResponse + 3, // 42: bundle.Bundle.SaveBundle:output_type -> bundle.SaveResponse + 7, // 43: bundle.Bundle.BundleListV2:output_type -> bundle.BundleListResponse + 11, // 44: bundle.Bundle.BundleDetailV2:output_type -> bundle.BundleDetailResponseV2 + 7, // 45: bundle.Bundle.BundleList:output_type -> bundle.BundleListResponse + 10, // 46: bundle.Bundle.BundleDetail:output_type -> bundle.BundleDetailResponse + 0, // 47: bundle.Bundle.CreateOrderRecord:output_type -> bundle.CommonResponse + 0, // 48: bundle.Bundle.UpdateOrderRecord:output_type -> bundle.CommonResponse + 0, // 49: bundle.Bundle.UpdateOrderRecordByOrderNo:output_type -> bundle.CommonResponse + 14, // 50: bundle.Bundle.OrderRecordsList:output_type -> bundle.OrderRecordsResponse + 16, // 51: bundle.Bundle.OrderRecordsDetail:output_type -> bundle.OrderRecordsDetailResponse + 0, // 52: bundle.Bundle.UpdateFinancialConfirmationStatus:output_type -> bundle.CommonResponse + 19, // 53: bundle.Bundle.CreateValueAddBundle:output_type -> bundle.CreateValueAddBundleResponse + 21, // 54: bundle.Bundle.ValueAddBundleList:output_type -> bundle.ValueAddBundleListResponse + 23, // 55: bundle.Bundle.ValueAddBundleDetail:output_type -> bundle.ValueAddBundleDetailResponse + 3, // 56: bundle.Bundle.SaveValueAddService:output_type -> bundle.SaveResponse + 29, // 57: bundle.Bundle.ValueAddServiceList:output_type -> bundle.ValueAddServiceListResponse + 31, // 58: bundle.Bundle.ValueAddServiceDetail:output_type -> bundle.ValueAddServiceDetailResponse + 33, // 59: bundle.Bundle.BundleExtend:output_type -> bundle.BundleExtendResponse + 35, // 60: bundle.Bundle.BundleExtendRecordsList:output_type -> bundle.BundleExtendRecordsListResponse + 38, // [38:61] is the sub-list for method output_type + 15, // [15:38] is the sub-list for method input_type + 15, // [15:15] is the sub-list for extension type_name + 15, // [15:15] is the sub-list for extension extendee + 0, // [0:15] is the sub-list for field type_name } func init() { file_pb_bundle_proto_init() } @@ -3230,7 +3937,7 @@ func file_pb_bundle_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_pb_bundle_proto_rawDesc, NumEnums: 0, - NumMessages: 32, + NumMessages: 39, NumExtensions: 0, NumServices: 1, }, diff --git a/pb/bundle/bundle.validator.pb.go b/pb/bundle/bundle.validator.pb.go index 78fcabf..54cc0f7 100644 --- a/pb/bundle/bundle.validator.pb.go +++ b/pb/bundle/bundle.validator.pb.go @@ -207,3 +207,31 @@ func (this *ValueAddServiceDetailResponse) Validate() error { } return nil } +func (this *BundleExtendRequest) Validate() error { + return nil +} +func (this *BundleExtendResponse) Validate() error { + return nil +} +func (this *BundleExtendRecordsListRequest) Validate() error { + return nil +} +func (this *BundleExtendRecordsListResponse) 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 *BundleExtendRecordItem) Validate() error { + return nil +} +func (this *SetBundleBalanceRequest) Validate() error { + return nil +} +func (this *SetBundleBalanceResponse) Validate() error { + return nil +} diff --git a/pb/bundle/bundle_triple.pb.go b/pb/bundle/bundle_triple.pb.go index e21ada3..dbfaf68 100644 --- a/pb/bundle/bundle_triple.pb.go +++ b/pb/bundle/bundle_triple.pb.go @@ -51,6 +51,9 @@ type BundleClient interface { SaveValueAddService(ctx context.Context, in *ValueAddServiceLang, opts ...grpc_go.CallOption) (*SaveResponse, common.ErrorWithAttachment) ValueAddServiceList(ctx context.Context, in *ValueAddServiceListRequest, opts ...grpc_go.CallOption) (*ValueAddServiceListResponse, common.ErrorWithAttachment) ValueAddServiceDetail(ctx context.Context, in *ValueAddServiceDetailRequest, opts ...grpc_go.CallOption) (*ValueAddServiceDetailResponse, common.ErrorWithAttachment) + // 余量管理 + BundleExtend(ctx context.Context, in *BundleExtendRequest, opts ...grpc_go.CallOption) (*BundleExtendResponse, common.ErrorWithAttachment) + BundleExtendRecordsList(ctx context.Context, in *BundleExtendRecordsListRequest, opts ...grpc_go.CallOption) (*BundleExtendRecordsListResponse, common.ErrorWithAttachment) } type bundleClient struct { @@ -79,6 +82,8 @@ type BundleClientImpl struct { SaveValueAddService func(ctx context.Context, in *ValueAddServiceLang) (*SaveResponse, error) ValueAddServiceList func(ctx context.Context, in *ValueAddServiceListRequest) (*ValueAddServiceListResponse, error) ValueAddServiceDetail func(ctx context.Context, in *ValueAddServiceDetailRequest) (*ValueAddServiceDetailResponse, error) + BundleExtend func(ctx context.Context, in *BundleExtendRequest) (*BundleExtendResponse, error) + BundleExtendRecordsList func(ctx context.Context, in *BundleExtendRecordsListRequest) (*BundleExtendRecordsListResponse, error) } func (c *BundleClientImpl) GetDubboStub(cc *triple.TripleConn) BundleClient { @@ -219,6 +224,18 @@ func (c *bundleClient) ValueAddServiceDetail(ctx context.Context, in *ValueAddSe return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/ValueAddServiceDetail", in, out) } +func (c *bundleClient) BundleExtend(ctx context.Context, in *BundleExtendRequest, opts ...grpc_go.CallOption) (*BundleExtendResponse, common.ErrorWithAttachment) { + out := new(BundleExtendResponse) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/BundleExtend", in, out) +} + +func (c *bundleClient) BundleExtendRecordsList(ctx context.Context, in *BundleExtendRecordsListRequest, opts ...grpc_go.CallOption) (*BundleExtendRecordsListResponse, common.ErrorWithAttachment) { + out := new(BundleExtendRecordsListResponse) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/BundleExtendRecordsList", in, out) +} + // BundleServer is the server API for Bundle service. // All implementations must embed UnimplementedBundleServer // for forward compatibility @@ -246,6 +263,9 @@ type BundleServer interface { SaveValueAddService(context.Context, *ValueAddServiceLang) (*SaveResponse, error) ValueAddServiceList(context.Context, *ValueAddServiceListRequest) (*ValueAddServiceListResponse, error) ValueAddServiceDetail(context.Context, *ValueAddServiceDetailRequest) (*ValueAddServiceDetailResponse, error) + // 余量管理 + BundleExtend(context.Context, *BundleExtendRequest) (*BundleExtendResponse, error) + BundleExtendRecordsList(context.Context, *BundleExtendRecordsListRequest) (*BundleExtendRecordsListResponse, error) mustEmbedUnimplementedBundleServer() } @@ -317,6 +337,12 @@ func (UnimplementedBundleServer) ValueAddServiceList(context.Context, *ValueAddS func (UnimplementedBundleServer) ValueAddServiceDetail(context.Context, *ValueAddServiceDetailRequest) (*ValueAddServiceDetailResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method ValueAddServiceDetail not implemented") } +func (UnimplementedBundleServer) BundleExtend(context.Context, *BundleExtendRequest) (*BundleExtendResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method BundleExtend not implemented") +} +func (UnimplementedBundleServer) BundleExtendRecordsList(context.Context, *BundleExtendRecordsListRequest) (*BundleExtendRecordsListResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method BundleExtendRecordsList not implemented") +} func (s *UnimplementedBundleServer) XXX_SetProxyImpl(impl protocol.Invoker) { s.proxyImpl = impl } @@ -954,6 +980,64 @@ func _Bundle_ValueAddServiceDetail_Handler(srv interface{}, ctx context.Context, return interceptor(ctx, in, info, handler) } +func _Bundle_BundleExtend_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(BundleExtendRequest) + 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("BundleExtend", 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 _Bundle_BundleExtendRecordsList_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(BundleExtendRecordsListRequest) + 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("BundleExtendRecordsList", 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) +} + // Bundle_ServiceDesc is the grpc_go.ServiceDesc for Bundle service. // It's only intended for direct use with grpc_go.RegisterService, // and not to be introspected or modified (even as a copy) @@ -1045,6 +1129,14 @@ var Bundle_ServiceDesc = grpc_go.ServiceDesc{ MethodName: "ValueAddServiceDetail", Handler: _Bundle_ValueAddServiceDetail_Handler, }, + { + MethodName: "BundleExtend", + Handler: _Bundle_BundleExtend_Handler, + }, + { + MethodName: "BundleExtendRecordsList", + Handler: _Bundle_BundleExtendRecordsList_Handler, + }, }, Streams: []grpc_go.StreamDesc{}, Metadata: "pb/bundle.proto",