// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.33.0 // protoc v5.29.1 // source: w_mall.proto package w_mallpb import ( 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 ListReq struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Page int32 `protobuf:"varint,1,opt,name=page,proto3" json:"page,omitempty"` //当前页 PerPage int32 `protobuf:"varint,2,opt,name=per_page,json=perPage,proto3" json:"per_page,omitempty"` //每页条数 ProjectHashId string `protobuf:"bytes,3,opt,name=project_hash_id,json=projectHashId,proto3" json:"project_hash_id,omitempty"` //项目hash_id Title string `protobuf:"bytes,4,opt,name=title,proto3" json:"title,omitempty"` //商城标题 Status int32 `protobuf:"varint,5,opt,name=status,proto3" json:"status,omitempty"` //状态(1-使用中,2-暂未使用) OrderBy []int32 `protobuf:"varint,6,rep,packed,name=order_by,json=orderBy,proto3" json:"order_by,omitempty"` //排序字段(1-创建最晚优先,2-创建最早优先,3-使用中优先,4-暂未使用优先) } func (x *ListReq) Reset() { *x = ListReq{} if protoimpl.UnsafeEnabled { mi := &file_w_mall_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ListReq) String() string { return protoimpl.X.MessageStringOf(x) } func (*ListReq) ProtoMessage() {} func (x *ListReq) ProtoReflect() protoreflect.Message { mi := &file_w_mall_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 ListReq.ProtoReflect.Descriptor instead. func (*ListReq) Descriptor() ([]byte, []int) { return file_w_mall_proto_rawDescGZIP(), []int{0} } func (x *ListReq) GetPage() int32 { if x != nil { return x.Page } return 0 } func (x *ListReq) GetPerPage() int32 { if x != nil { return x.PerPage } return 0 } func (x *ListReq) GetProjectHashId() string { if x != nil { return x.ProjectHashId } return "" } func (x *ListReq) GetTitle() string { if x != nil { return x.Title } return "" } func (x *ListReq) GetStatus() int32 { if x != nil { return x.Status } return 0 } func (x *ListReq) GetOrderBy() []int32 { if x != nil { return x.OrderBy } return nil } type ListRes struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields List []*ListRes_One `protobuf:"bytes,1,rep,name=list,proto3" json:"list,omitempty"` //列表数据 Total int64 `protobuf:"varint,2,opt,name=total,proto3" json:"total,omitempty"` //总数 } func (x *ListRes) Reset() { *x = ListRes{} if protoimpl.UnsafeEnabled { mi := &file_w_mall_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ListRes) String() string { return protoimpl.X.MessageStringOf(x) } func (*ListRes) ProtoMessage() {} func (x *ListRes) ProtoReflect() protoreflect.Message { mi := &file_w_mall_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 ListRes.ProtoReflect.Descriptor instead. func (*ListRes) Descriptor() ([]byte, []int) { return file_w_mall_proto_rawDescGZIP(), []int{1} } func (x *ListRes) GetList() []*ListRes_One { if x != nil { return x.List } return nil } func (x *ListRes) GetTotal() int64 { if x != nil { return x.Total } return 0 } type StoreReq struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields ProjectHashId string `protobuf:"bytes,1,opt,name=project_hash_id,json=projectHashId,proto3" json:"project_hash_id,omitempty"` //项目hash_id Title string `protobuf:"bytes,2,opt,name=title,proto3" json:"title,omitempty"` //商城标题 } func (x *StoreReq) Reset() { *x = StoreReq{} if protoimpl.UnsafeEnabled { mi := &file_w_mall_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *StoreReq) String() string { return protoimpl.X.MessageStringOf(x) } func (*StoreReq) ProtoMessage() {} func (x *StoreReq) ProtoReflect() protoreflect.Message { mi := &file_w_mall_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 StoreReq.ProtoReflect.Descriptor instead. func (*StoreReq) Descriptor() ([]byte, []int) { return file_w_mall_proto_rawDescGZIP(), []int{2} } func (x *StoreReq) GetProjectHashId() string { if x != nil { return x.ProjectHashId } return "" } func (x *StoreReq) GetTitle() string { if x != nil { return x.Title } return "" } type StoreRes struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Id int64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` //商城id } func (x *StoreRes) Reset() { *x = StoreRes{} if protoimpl.UnsafeEnabled { mi := &file_w_mall_proto_msgTypes[3] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *StoreRes) String() string { return protoimpl.X.MessageStringOf(x) } func (*StoreRes) ProtoMessage() {} func (x *StoreRes) ProtoReflect() protoreflect.Message { mi := &file_w_mall_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 StoreRes.ProtoReflect.Descriptor instead. func (*StoreRes) Descriptor() ([]byte, []int) { return file_w_mall_proto_rawDescGZIP(), []int{3} } func (x *StoreRes) GetId() int64 { if x != nil { return x.Id } return 0 } type UpdateReq struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields ProjectHashId string `protobuf:"bytes,1,opt,name=project_hash_id,json=projectHashId,proto3" json:"project_hash_id,omitempty"` //项目hash_id Id int64 `protobuf:"varint,2,opt,name=id,proto3" json:"id,omitempty"` //商城id Title string `protobuf:"bytes,3,opt,name=title,proto3" json:"title,omitempty"` //商城标题 } func (x *UpdateReq) Reset() { *x = UpdateReq{} if protoimpl.UnsafeEnabled { mi := &file_w_mall_proto_msgTypes[4] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *UpdateReq) String() string { return protoimpl.X.MessageStringOf(x) } func (*UpdateReq) ProtoMessage() {} func (x *UpdateReq) ProtoReflect() protoreflect.Message { mi := &file_w_mall_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 UpdateReq.ProtoReflect.Descriptor instead. func (*UpdateReq) Descriptor() ([]byte, []int) { return file_w_mall_proto_rawDescGZIP(), []int{4} } func (x *UpdateReq) GetProjectHashId() string { if x != nil { return x.ProjectHashId } return "" } func (x *UpdateReq) GetId() int64 { if x != nil { return x.Id } return 0 } func (x *UpdateReq) GetTitle() string { if x != nil { return x.Title } return "" } type UpdateRes struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Id int64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` //商城id } func (x *UpdateRes) Reset() { *x = UpdateRes{} if protoimpl.UnsafeEnabled { mi := &file_w_mall_proto_msgTypes[5] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *UpdateRes) String() string { return protoimpl.X.MessageStringOf(x) } func (*UpdateRes) ProtoMessage() {} func (x *UpdateRes) ProtoReflect() protoreflect.Message { mi := &file_w_mall_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 UpdateRes.ProtoReflect.Descriptor instead. func (*UpdateRes) Descriptor() ([]byte, []int) { return file_w_mall_proto_rawDescGZIP(), []int{5} } func (x *UpdateRes) GetId() int64 { if x != nil { return x.Id } return 0 } type DestroyReq struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields ProjectHashId string `protobuf:"bytes,1,opt,name=project_hash_id,json=projectHashId,proto3" json:"project_hash_id,omitempty"` //项目hash_id Id int64 `protobuf:"varint,2,opt,name=id,proto3" json:"id,omitempty"` //商城id } func (x *DestroyReq) Reset() { *x = DestroyReq{} if protoimpl.UnsafeEnabled { mi := &file_w_mall_proto_msgTypes[6] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *DestroyReq) String() string { return protoimpl.X.MessageStringOf(x) } func (*DestroyReq) ProtoMessage() {} func (x *DestroyReq) ProtoReflect() protoreflect.Message { mi := &file_w_mall_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 DestroyReq.ProtoReflect.Descriptor instead. func (*DestroyReq) Descriptor() ([]byte, []int) { return file_w_mall_proto_rawDescGZIP(), []int{6} } func (x *DestroyReq) GetProjectHashId() string { if x != nil { return x.ProjectHashId } return "" } func (x *DestroyReq) GetId() int64 { if x != nil { return x.Id } return 0 } type DestroyRes struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Id int64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` //商城id } func (x *DestroyRes) Reset() { *x = DestroyRes{} if protoimpl.UnsafeEnabled { mi := &file_w_mall_proto_msgTypes[7] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *DestroyRes) String() string { return protoimpl.X.MessageStringOf(x) } func (*DestroyRes) ProtoMessage() {} func (x *DestroyRes) ProtoReflect() protoreflect.Message { mi := &file_w_mall_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 DestroyRes.ProtoReflect.Descriptor instead. func (*DestroyRes) Descriptor() ([]byte, []int) { return file_w_mall_proto_rawDescGZIP(), []int{7} } func (x *DestroyRes) GetId() int64 { if x != nil { return x.Id } return 0 } type ItemListReq struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields MallId int64 `protobuf:"varint,1,opt,name=mall_id,json=mallId,proto3" json:"mall_id,omitempty"` //商城ID Status int32 `protobuf:"varint,2,opt,name=status,proto3" json:"status,omitempty"` //状态(1-上架,2-下架) } func (x *ItemListReq) Reset() { *x = ItemListReq{} if protoimpl.UnsafeEnabled { mi := &file_w_mall_proto_msgTypes[8] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ItemListReq) String() string { return protoimpl.X.MessageStringOf(x) } func (*ItemListReq) ProtoMessage() {} func (x *ItemListReq) ProtoReflect() protoreflect.Message { mi := &file_w_mall_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 ItemListReq.ProtoReflect.Descriptor instead. func (*ItemListReq) Descriptor() ([]byte, []int) { return file_w_mall_proto_rawDescGZIP(), []int{8} } func (x *ItemListReq) GetMallId() int64 { if x != nil { return x.MallId } return 0 } func (x *ItemListReq) GetStatus() int32 { if x != nil { return x.Status } return 0 } type ItemListRes struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields List []*ItemListRes_One `protobuf:"bytes,1,rep,name=list,proto3" json:"list,omitempty"` //列表数据 } func (x *ItemListRes) Reset() { *x = ItemListRes{} if protoimpl.UnsafeEnabled { mi := &file_w_mall_proto_msgTypes[9] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ItemListRes) String() string { return protoimpl.X.MessageStringOf(x) } func (*ItemListRes) ProtoMessage() {} func (x *ItemListRes) ProtoReflect() protoreflect.Message { mi := &file_w_mall_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 ItemListRes.ProtoReflect.Descriptor instead. func (*ItemListRes) Descriptor() ([]byte, []int) { return file_w_mall_proto_rawDescGZIP(), []int{9} } func (x *ItemListRes) GetList() []*ItemListRes_One { if x != nil { return x.List } return nil } type ItemStoreReq struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields MallId int64 `protobuf:"varint,1,opt,name=mall_id,json=mallId,proto3" json:"mall_id,omitempty"` //商城ID RewardId int64 `protobuf:"varint,2,opt,name=reward_id,json=rewardId,proto3" json:"reward_id,omitempty"` //奖品id CoinNum int32 `protobuf:"varint,3,opt,name=coin_num,json=coinNum,proto3" json:"coin_num,omitempty"` //奖品金币数量 Stock int64 `protobuf:"varint,4,opt,name=stock,proto3" json:"stock,omitempty"` //奖品库存 UpType int32 `protobuf:"varint,5,opt,name=up_type,json=upType,proto3" json:"up_type,omitempty"` //上架类型(1-立即上架,2-指定时间) UpCustom int64 `protobuf:"varint,6,opt,name=up_custom,json=upCustom,proto3" json:"up_custom,omitempty"` //自定义上架时间 UpShow []string `protobuf:"bytes,7,rep,name=up_show,json=upShow,proto3" json:"up_show,omitempty"` //指定上架展示配置 DownType int32 `protobuf:"varint,8,opt,name=down_type,json=downType,proto3" json:"down_type,omitempty"` //下架类型(1-永久上架,2-指定时间) DownCustom int64 `protobuf:"varint,9,opt,name=down_custom,json=downCustom,proto3" json:"down_custom,omitempty"` //自定义下架时间 DownShow []string `protobuf:"bytes,10,rep,name=down_show,json=downShow,proto3" json:"down_show,omitempty"` //指定下架展示配置 } func (x *ItemStoreReq) Reset() { *x = ItemStoreReq{} if protoimpl.UnsafeEnabled { mi := &file_w_mall_proto_msgTypes[10] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ItemStoreReq) String() string { return protoimpl.X.MessageStringOf(x) } func (*ItemStoreReq) ProtoMessage() {} func (x *ItemStoreReq) ProtoReflect() protoreflect.Message { mi := &file_w_mall_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 ItemStoreReq.ProtoReflect.Descriptor instead. func (*ItemStoreReq) Descriptor() ([]byte, []int) { return file_w_mall_proto_rawDescGZIP(), []int{10} } func (x *ItemStoreReq) GetMallId() int64 { if x != nil { return x.MallId } return 0 } func (x *ItemStoreReq) GetRewardId() int64 { if x != nil { return x.RewardId } return 0 } func (x *ItemStoreReq) GetCoinNum() int32 { if x != nil { return x.CoinNum } return 0 } func (x *ItemStoreReq) GetStock() int64 { if x != nil { return x.Stock } return 0 } func (x *ItemStoreReq) GetUpType() int32 { if x != nil { return x.UpType } return 0 } func (x *ItemStoreReq) GetUpCustom() int64 { if x != nil { return x.UpCustom } return 0 } func (x *ItemStoreReq) GetUpShow() []string { if x != nil { return x.UpShow } return nil } func (x *ItemStoreReq) GetDownType() int32 { if x != nil { return x.DownType } return 0 } func (x *ItemStoreReq) GetDownCustom() int64 { if x != nil { return x.DownCustom } return 0 } func (x *ItemStoreReq) GetDownShow() []string { if x != nil { return x.DownShow } return nil } type ItemStoreRes struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Id int64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` //商城奖品id } func (x *ItemStoreRes) Reset() { *x = ItemStoreRes{} if protoimpl.UnsafeEnabled { mi := &file_w_mall_proto_msgTypes[11] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ItemStoreRes) String() string { return protoimpl.X.MessageStringOf(x) } func (*ItemStoreRes) ProtoMessage() {} func (x *ItemStoreRes) ProtoReflect() protoreflect.Message { mi := &file_w_mall_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 ItemStoreRes.ProtoReflect.Descriptor instead. func (*ItemStoreRes) Descriptor() ([]byte, []int) { return file_w_mall_proto_rawDescGZIP(), []int{11} } func (x *ItemStoreRes) GetId() int64 { if x != nil { return x.Id } return 0 } type ItemUpdateReq struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Id int64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` //奖品id RewardId int64 `protobuf:"varint,2,opt,name=reward_id,json=rewardId,proto3" json:"reward_id,omitempty"` //奖品id CoinNum int32 `protobuf:"varint,3,opt,name=coin_num,json=coinNum,proto3" json:"coin_num,omitempty"` //奖品金币数量 Stock int64 `protobuf:"varint,4,opt,name=stock,proto3" json:"stock,omitempty"` //奖品库存 UpType int32 `protobuf:"varint,5,opt,name=up_type,json=upType,proto3" json:"up_type,omitempty"` //上架类型(1-立即上架,2-指定时间) UpCustom int64 `protobuf:"varint,6,opt,name=up_custom,json=upCustom,proto3" json:"up_custom,omitempty"` //自定义上架时间 UpShow []string `protobuf:"bytes,7,rep,name=up_show,json=upShow,proto3" json:"up_show,omitempty"` //指定上架展示配置 ["client","countdown"] DownType int32 `protobuf:"varint,8,opt,name=down_type,json=downType,proto3" json:"down_type,omitempty"` //下架类型(1-永久上架,2-指定时间) DownCustom int64 `protobuf:"varint,9,opt,name=down_custom,json=downCustom,proto3" json:"down_custom,omitempty"` //自定义下架时间 DownShow []string `protobuf:"bytes,10,rep,name=down_show,json=downShow,proto3" json:"down_show,omitempty"` //指定下架展示配置 ["countdown"] } func (x *ItemUpdateReq) Reset() { *x = ItemUpdateReq{} if protoimpl.UnsafeEnabled { mi := &file_w_mall_proto_msgTypes[12] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ItemUpdateReq) String() string { return protoimpl.X.MessageStringOf(x) } func (*ItemUpdateReq) ProtoMessage() {} func (x *ItemUpdateReq) ProtoReflect() protoreflect.Message { mi := &file_w_mall_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 ItemUpdateReq.ProtoReflect.Descriptor instead. func (*ItemUpdateReq) Descriptor() ([]byte, []int) { return file_w_mall_proto_rawDescGZIP(), []int{12} } func (x *ItemUpdateReq) GetId() int64 { if x != nil { return x.Id } return 0 } func (x *ItemUpdateReq) GetRewardId() int64 { if x != nil { return x.RewardId } return 0 } func (x *ItemUpdateReq) GetCoinNum() int32 { if x != nil { return x.CoinNum } return 0 } func (x *ItemUpdateReq) GetStock() int64 { if x != nil { return x.Stock } return 0 } func (x *ItemUpdateReq) GetUpType() int32 { if x != nil { return x.UpType } return 0 } func (x *ItemUpdateReq) GetUpCustom() int64 { if x != nil { return x.UpCustom } return 0 } func (x *ItemUpdateReq) GetUpShow() []string { if x != nil { return x.UpShow } return nil } func (x *ItemUpdateReq) GetDownType() int32 { if x != nil { return x.DownType } return 0 } func (x *ItemUpdateReq) GetDownCustom() int64 { if x != nil { return x.DownCustom } return 0 } func (x *ItemUpdateReq) GetDownShow() []string { if x != nil { return x.DownShow } return nil } type ItemUpdateRes struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Id int64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` //商城奖品id } func (x *ItemUpdateRes) Reset() { *x = ItemUpdateRes{} if protoimpl.UnsafeEnabled { mi := &file_w_mall_proto_msgTypes[13] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ItemUpdateRes) String() string { return protoimpl.X.MessageStringOf(x) } func (*ItemUpdateRes) ProtoMessage() {} func (x *ItemUpdateRes) ProtoReflect() protoreflect.Message { mi := &file_w_mall_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 ItemUpdateRes.ProtoReflect.Descriptor instead. func (*ItemUpdateRes) Descriptor() ([]byte, []int) { return file_w_mall_proto_rawDescGZIP(), []int{13} } func (x *ItemUpdateRes) GetId() int64 { if x != nil { return x.Id } return 0 } type ItemStatusReq struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Id int64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` //奖品id Status int32 `protobuf:"varint,2,opt,name=status,proto3" json:"status,omitempty"` //状态(1-上架,2-下架,3-删除) } func (x *ItemStatusReq) Reset() { *x = ItemStatusReq{} if protoimpl.UnsafeEnabled { mi := &file_w_mall_proto_msgTypes[14] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ItemStatusReq) String() string { return protoimpl.X.MessageStringOf(x) } func (*ItemStatusReq) ProtoMessage() {} func (x *ItemStatusReq) ProtoReflect() protoreflect.Message { mi := &file_w_mall_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 ItemStatusReq.ProtoReflect.Descriptor instead. func (*ItemStatusReq) Descriptor() ([]byte, []int) { return file_w_mall_proto_rawDescGZIP(), []int{14} } func (x *ItemStatusReq) GetId() int64 { if x != nil { return x.Id } return 0 } func (x *ItemStatusReq) GetStatus() int32 { if x != nil { return x.Status } return 0 } type ItemStatusRes struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Id int64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` //商城奖品id } func (x *ItemStatusRes) Reset() { *x = ItemStatusRes{} if protoimpl.UnsafeEnabled { mi := &file_w_mall_proto_msgTypes[15] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ItemStatusRes) String() string { return protoimpl.X.MessageStringOf(x) } func (*ItemStatusRes) ProtoMessage() {} func (x *ItemStatusRes) ProtoReflect() protoreflect.Message { mi := &file_w_mall_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 ItemStatusRes.ProtoReflect.Descriptor instead. func (*ItemStatusRes) Descriptor() ([]byte, []int) { return file_w_mall_proto_rawDescGZIP(), []int{15} } func (x *ItemStatusRes) GetId() int64 { if x != nil { return x.Id } return 0 } type ItemSortReq struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Ids []int64 `protobuf:"varint,1,rep,packed,name=ids,proto3" json:"ids,omitempty"` //奖品id列表 } func (x *ItemSortReq) Reset() { *x = ItemSortReq{} if protoimpl.UnsafeEnabled { mi := &file_w_mall_proto_msgTypes[16] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ItemSortReq) String() string { return protoimpl.X.MessageStringOf(x) } func (*ItemSortReq) ProtoMessage() {} func (x *ItemSortReq) ProtoReflect() protoreflect.Message { mi := &file_w_mall_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 ItemSortReq.ProtoReflect.Descriptor instead. func (*ItemSortReq) Descriptor() ([]byte, []int) { return file_w_mall_proto_rawDescGZIP(), []int{16} } func (x *ItemSortReq) GetIds() []int64 { if x != nil { return x.Ids } return nil } type ItemSortRes struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *ItemSortRes) Reset() { *x = ItemSortRes{} if protoimpl.UnsafeEnabled { mi := &file_w_mall_proto_msgTypes[17] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ItemSortRes) String() string { return protoimpl.X.MessageStringOf(x) } func (*ItemSortRes) ProtoMessage() {} func (x *ItemSortRes) ProtoReflect() protoreflect.Message { mi := &file_w_mall_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 ItemSortRes.ProtoReflect.Descriptor instead. func (*ItemSortRes) Descriptor() ([]byte, []int) { return file_w_mall_proto_rawDescGZIP(), []int{17} } type SelectReq struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields ProjectHashId string `protobuf:"bytes,1,opt,name=project_hash_id,json=projectHashId,proto3" json:"project_hash_id,omitempty"` //项目hash_id } func (x *SelectReq) Reset() { *x = SelectReq{} if protoimpl.UnsafeEnabled { mi := &file_w_mall_proto_msgTypes[18] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *SelectReq) String() string { return protoimpl.X.MessageStringOf(x) } func (*SelectReq) ProtoMessage() {} func (x *SelectReq) ProtoReflect() protoreflect.Message { mi := &file_w_mall_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 SelectReq.ProtoReflect.Descriptor instead. func (*SelectReq) Descriptor() ([]byte, []int) { return file_w_mall_proto_rawDescGZIP(), []int{18} } func (x *SelectReq) GetProjectHashId() string { if x != nil { return x.ProjectHashId } return "" } type SelectRes struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields List []*SelectRes_One `protobuf:"bytes,1,rep,name=list,proto3" json:"list,omitempty"` //列表数据 } func (x *SelectRes) Reset() { *x = SelectRes{} if protoimpl.UnsafeEnabled { mi := &file_w_mall_proto_msgTypes[19] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *SelectRes) String() string { return protoimpl.X.MessageStringOf(x) } func (*SelectRes) ProtoMessage() {} func (x *SelectRes) ProtoReflect() protoreflect.Message { mi := &file_w_mall_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 SelectRes.ProtoReflect.Descriptor instead. func (*SelectRes) Descriptor() ([]byte, []int) { return file_w_mall_proto_rawDescGZIP(), []int{19} } func (x *SelectRes) GetList() []*SelectRes_One { if x != nil { return x.List } return nil } type RelateMallReq struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields ProjectId int64 `protobuf:"varint,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` //项目id Source int32 `protobuf:"varint,2,opt,name=source,proto3" json:"source,omitempty"` //来源(1-任务中心,2-活动) RelateId int64 `protobuf:"varint,3,opt,name=relate_id,json=relateId,proto3" json:"relate_id,omitempty"` //关联id RelateTable string `protobuf:"bytes,4,opt,name=relate_table,json=relateTable,proto3" json:"relate_table,omitempty"` //关联表名字,如果不是dplk_db库,建议带上库名字如dbname.relate_table_name MallIds []int64 `protobuf:"varint,5,rep,packed,name=mall_ids,json=mallIds,proto3" json:"mall_ids,omitempty"` //关联的商城id集合 } func (x *RelateMallReq) Reset() { *x = RelateMallReq{} if protoimpl.UnsafeEnabled { mi := &file_w_mall_proto_msgTypes[20] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RelateMallReq) String() string { return protoimpl.X.MessageStringOf(x) } func (*RelateMallReq) ProtoMessage() {} func (x *RelateMallReq) ProtoReflect() protoreflect.Message { mi := &file_w_mall_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 RelateMallReq.ProtoReflect.Descriptor instead. func (*RelateMallReq) Descriptor() ([]byte, []int) { return file_w_mall_proto_rawDescGZIP(), []int{20} } func (x *RelateMallReq) GetProjectId() int64 { if x != nil { return x.ProjectId } return 0 } func (x *RelateMallReq) GetSource() int32 { if x != nil { return x.Source } return 0 } func (x *RelateMallReq) GetRelateId() int64 { if x != nil { return x.RelateId } return 0 } func (x *RelateMallReq) GetRelateTable() string { if x != nil { return x.RelateTable } return "" } func (x *RelateMallReq) GetMallIds() []int64 { if x != nil { return x.MallIds } return nil } type RelateMallRes struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *RelateMallRes) Reset() { *x = RelateMallRes{} if protoimpl.UnsafeEnabled { mi := &file_w_mall_proto_msgTypes[21] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *RelateMallRes) String() string { return protoimpl.X.MessageStringOf(x) } func (*RelateMallRes) ProtoMessage() {} func (x *RelateMallRes) ProtoReflect() protoreflect.Message { mi := &file_w_mall_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 RelateMallRes.ProtoReflect.Descriptor instead. func (*RelateMallRes) Descriptor() ([]byte, []int) { return file_w_mall_proto_rawDescGZIP(), []int{21} } type UserItemListReq struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields MallId int64 `protobuf:"varint,1,opt,name=mall_id,json=mallId,proto3" json:"mall_id,omitempty"` //商城ID UserId string `protobuf:"bytes,2,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"` //用户id LangMark string `protobuf:"bytes,3,opt,name=lang_mark,json=langMark,proto3" json:"lang_mark,omitempty"` //语言标记 Source int32 `protobuf:"varint,4,opt,name=source,proto3" json:"source,omitempty"` //来源(1-任务中心,2-活动) SourceId int64 `protobuf:"varint,5,opt,name=source_id,json=sourceId,proto3" json:"source_id,omitempty"` //来源id } func (x *UserItemListReq) Reset() { *x = UserItemListReq{} if protoimpl.UnsafeEnabled { mi := &file_w_mall_proto_msgTypes[22] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *UserItemListReq) String() string { return protoimpl.X.MessageStringOf(x) } func (*UserItemListReq) ProtoMessage() {} func (x *UserItemListReq) ProtoReflect() protoreflect.Message { mi := &file_w_mall_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 UserItemListReq.ProtoReflect.Descriptor instead. func (*UserItemListReq) Descriptor() ([]byte, []int) { return file_w_mall_proto_rawDescGZIP(), []int{22} } func (x *UserItemListReq) GetMallId() int64 { if x != nil { return x.MallId } return 0 } func (x *UserItemListReq) GetUserId() string { if x != nil { return x.UserId } return "" } func (x *UserItemListReq) GetLangMark() string { if x != nil { return x.LangMark } return "" } func (x *UserItemListReq) GetSource() int32 { if x != nil { return x.Source } return 0 } func (x *UserItemListReq) GetSourceId() int64 { if x != nil { return x.SourceId } return 0 } type UserItemListRes struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields List []*UserItemListRes_One `protobuf:"bytes,1,rep,name=list,proto3" json:"list,omitempty"` //列表数据 } func (x *UserItemListRes) Reset() { *x = UserItemListRes{} if protoimpl.UnsafeEnabled { mi := &file_w_mall_proto_msgTypes[23] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *UserItemListRes) String() string { return protoimpl.X.MessageStringOf(x) } func (*UserItemListRes) ProtoMessage() {} func (x *UserItemListRes) ProtoReflect() protoreflect.Message { mi := &file_w_mall_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 UserItemListRes.ProtoReflect.Descriptor instead. func (*UserItemListRes) Descriptor() ([]byte, []int) { return file_w_mall_proto_rawDescGZIP(), []int{23} } func (x *UserItemListRes) GetList() []*UserItemListRes_One { if x != nil { return x.List } return nil } type ExchangeItemReq struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields ProjectId int64 `protobuf:"varint,1,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"` //项目id MallItemId int64 `protobuf:"varint,2,opt,name=mall_item_id,json=mallItemId,proto3" json:"mall_item_id,omitempty"` //商城商品id UserId string `protobuf:"bytes,3,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"` //用户id LangMark string `protobuf:"bytes,4,opt,name=lang_mark,json=langMark,proto3" json:"lang_mark,omitempty"` //语言标记 PointSource int32 `protobuf:"varint,5,opt,name=point_source,json=pointSource,proto3" json:"point_source,omitempty"` //积分来源(0-应用内部,1-系统自带) UrlId int64 `protobuf:"varint,6,opt,name=url_id,json=urlId,proto3" json:"url_id,omitempty"` //请求地址id Source int32 `protobuf:"varint,7,opt,name=source,proto3" json:"source,omitempty"` //来源(1-任务中心,2-活动) SourceData *ExchangeItemReq_SourceData `protobuf:"bytes,8,opt,name=source_data,json=sourceData,proto3" json:"source_data,omitempty"` //来源数据 } func (x *ExchangeItemReq) Reset() { *x = ExchangeItemReq{} if protoimpl.UnsafeEnabled { mi := &file_w_mall_proto_msgTypes[24] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ExchangeItemReq) String() string { return protoimpl.X.MessageStringOf(x) } func (*ExchangeItemReq) ProtoMessage() {} func (x *ExchangeItemReq) ProtoReflect() protoreflect.Message { mi := &file_w_mall_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 ExchangeItemReq.ProtoReflect.Descriptor instead. func (*ExchangeItemReq) Descriptor() ([]byte, []int) { return file_w_mall_proto_rawDescGZIP(), []int{24} } func (x *ExchangeItemReq) GetProjectId() int64 { if x != nil { return x.ProjectId } return 0 } func (x *ExchangeItemReq) GetMallItemId() int64 { if x != nil { return x.MallItemId } return 0 } func (x *ExchangeItemReq) GetUserId() string { if x != nil { return x.UserId } return "" } func (x *ExchangeItemReq) GetLangMark() string { if x != nil { return x.LangMark } return "" } func (x *ExchangeItemReq) GetPointSource() int32 { if x != nil { return x.PointSource } return 0 } func (x *ExchangeItemReq) GetUrlId() int64 { if x != nil { return x.UrlId } return 0 } func (x *ExchangeItemReq) GetSource() int32 { if x != nil { return x.Source } return 0 } func (x *ExchangeItemReq) GetSourceData() *ExchangeItemReq_SourceData { if x != nil { return x.SourceData } return nil } type ExchangeItemRes struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Status int32 `protobuf:"varint,1,opt,name=status,proto3" json:"status,omitempty"` //状态(0-成功,1-库存不足,2-兑换上限,3-商品已下架) Id int64 `protobuf:"varint,2,opt,name=id,proto3" json:"id,omitempty"` //兑换记录id RewardId int64 `protobuf:"varint,3,opt,name=reward_id,json=rewardId,proto3" json:"reward_id,omitempty"` //奖品id Title string `protobuf:"bytes,4,opt,name=title,proto3" json:"title,omitempty"` //奖品名称 ImgUrl string `protobuf:"bytes,5,opt,name=img_url,json=imgUrl,proto3" json:"img_url,omitempty"` //图片地址 KvData []*ExchangeItemRes_KV `protobuf:"bytes,6,rep,name=kv_data,json=kvData,proto3" json:"kv_data,omitempty"` //奖品对应的键值数据 ReceiveType int32 `protobuf:"varint,7,opt,name=receive_type,json=receiveType,proto3" json:"receive_type,omitempty"` //领取类型(0-不需要处理,1-服务端推送,2-客户自主发放,3-监听器) Contact string `protobuf:"bytes,8,opt,name=contact,proto3" json:"contact,omitempty"` //联系方式 OpenToUse int32 `protobuf:"varint,9,opt,name=open_to_use,json=openToUse,proto3" json:"open_to_use,omitempty"` //开启去使用(0-否,1-是) CustomRewardVal string `protobuf:"bytes,10,opt,name=custom_reward_val,json=customRewardVal,proto3" json:"custom_reward_val,omitempty"` //自定义数据 WebUrl string `protobuf:"bytes,11,opt,name=web_url,json=webUrl,proto3" json:"web_url,omitempty"` //Web端的跳转地址 AppParam string `protobuf:"bytes,12,opt,name=app_param,json=appParam,proto3" json:"app_param,omitempty"` //App端的跳转参数 PcParam string `protobuf:"bytes,13,opt,name=pc_param,json=pcParam,proto3" json:"pc_param,omitempty"` //pc端的跳转参数 FailType string `protobuf:"bytes,14,opt,name=fail_type,json=failType,proto3" json:"fail_type,omitempty"` //失败类型 FailMsg string `protobuf:"bytes,15,opt,name=fail_msg,json=failMsg,proto3" json:"fail_msg,omitempty"` //失败具体原因 } func (x *ExchangeItemRes) Reset() { *x = ExchangeItemRes{} if protoimpl.UnsafeEnabled { mi := &file_w_mall_proto_msgTypes[25] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ExchangeItemRes) String() string { return protoimpl.X.MessageStringOf(x) } func (*ExchangeItemRes) ProtoMessage() {} func (x *ExchangeItemRes) ProtoReflect() protoreflect.Message { mi := &file_w_mall_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 ExchangeItemRes.ProtoReflect.Descriptor instead. func (*ExchangeItemRes) Descriptor() ([]byte, []int) { return file_w_mall_proto_rawDescGZIP(), []int{25} } func (x *ExchangeItemRes) GetStatus() int32 { if x != nil { return x.Status } return 0 } func (x *ExchangeItemRes) GetId() int64 { if x != nil { return x.Id } return 0 } func (x *ExchangeItemRes) GetRewardId() int64 { if x != nil { return x.RewardId } return 0 } func (x *ExchangeItemRes) GetTitle() string { if x != nil { return x.Title } return "" } func (x *ExchangeItemRes) GetImgUrl() string { if x != nil { return x.ImgUrl } return "" } func (x *ExchangeItemRes) GetKvData() []*ExchangeItemRes_KV { if x != nil { return x.KvData } return nil } func (x *ExchangeItemRes) GetReceiveType() int32 { if x != nil { return x.ReceiveType } return 0 } func (x *ExchangeItemRes) GetContact() string { if x != nil { return x.Contact } return "" } func (x *ExchangeItemRes) GetOpenToUse() int32 { if x != nil { return x.OpenToUse } return 0 } func (x *ExchangeItemRes) GetCustomRewardVal() string { if x != nil { return x.CustomRewardVal } return "" } func (x *ExchangeItemRes) GetWebUrl() string { if x != nil { return x.WebUrl } return "" } func (x *ExchangeItemRes) GetAppParam() string { if x != nil { return x.AppParam } return "" } func (x *ExchangeItemRes) GetPcParam() string { if x != nil { return x.PcParam } return "" } func (x *ExchangeItemRes) GetFailType() string { if x != nil { return x.FailType } return "" } func (x *ExchangeItemRes) GetFailMsg() string { if x != nil { return x.FailMsg } return "" } type ListRes_One struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Id int64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` //商城ID Title string `protobuf:"bytes,2,opt,name=title,proto3" json:"title,omitempty"` //商城标题 Status int32 `protobuf:"varint,3,opt,name=status,proto3" json:"status,omitempty"` //状态(1-使用中,2-暂未使用) CreatedAt int64 `protobuf:"varint,4,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"` //创建时间 Relates []*ListRes_Relate `protobuf:"bytes,5,rep,name=relates,proto3" json:"relates,omitempty"` //关联使用数据 Rewards []*ListRes_Reward `protobuf:"bytes,6,rep,name=rewards,proto3" json:"rewards,omitempty"` //商城上架奖品 } func (x *ListRes_One) Reset() { *x = ListRes_One{} if protoimpl.UnsafeEnabled { mi := &file_w_mall_proto_msgTypes[26] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ListRes_One) String() string { return protoimpl.X.MessageStringOf(x) } func (*ListRes_One) ProtoMessage() {} func (x *ListRes_One) ProtoReflect() protoreflect.Message { mi := &file_w_mall_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 ListRes_One.ProtoReflect.Descriptor instead. func (*ListRes_One) Descriptor() ([]byte, []int) { return file_w_mall_proto_rawDescGZIP(), []int{1, 0} } func (x *ListRes_One) GetId() int64 { if x != nil { return x.Id } return 0 } func (x *ListRes_One) GetTitle() string { if x != nil { return x.Title } return "" } func (x *ListRes_One) GetStatus() int32 { if x != nil { return x.Status } return 0 } func (x *ListRes_One) GetCreatedAt() int64 { if x != nil { return x.CreatedAt } return 0 } func (x *ListRes_One) GetRelates() []*ListRes_Relate { if x != nil { return x.Relates } return nil } func (x *ListRes_One) GetRewards() []*ListRes_Reward { if x != nil { return x.Rewards } return nil } type ListRes_Relate struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Id int64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` //关系ID Source int32 `protobuf:"varint,2,opt,name=source,proto3" json:"source,omitempty"` //来源(1-任务中心,2-活动) Title string `protobuf:"bytes,3,opt,name=title,proto3" json:"title,omitempty"` //来源标题 } func (x *ListRes_Relate) Reset() { *x = ListRes_Relate{} if protoimpl.UnsafeEnabled { mi := &file_w_mall_proto_msgTypes[27] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ListRes_Relate) String() string { return protoimpl.X.MessageStringOf(x) } func (*ListRes_Relate) ProtoMessage() {} func (x *ListRes_Relate) ProtoReflect() protoreflect.Message { mi := &file_w_mall_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 ListRes_Relate.ProtoReflect.Descriptor instead. func (*ListRes_Relate) Descriptor() ([]byte, []int) { return file_w_mall_proto_rawDescGZIP(), []int{1, 1} } func (x *ListRes_Relate) GetId() int64 { if x != nil { return x.Id } return 0 } func (x *ListRes_Relate) GetSource() int32 { if x != nil { return x.Source } return 0 } func (x *ListRes_Relate) GetTitle() string { if x != nil { return x.Title } return "" } type ListRes_Reward struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Id int64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` //商城奖品id Title string `protobuf:"bytes,2,opt,name=title,proto3" json:"title,omitempty"` //奖品标题 ImgUrl string `protobuf:"bytes,3,opt,name=img_url,json=imgUrl,proto3" json:"img_url,omitempty"` //奖品图片URL } func (x *ListRes_Reward) Reset() { *x = ListRes_Reward{} if protoimpl.UnsafeEnabled { mi := &file_w_mall_proto_msgTypes[28] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ListRes_Reward) String() string { return protoimpl.X.MessageStringOf(x) } func (*ListRes_Reward) ProtoMessage() {} func (x *ListRes_Reward) ProtoReflect() protoreflect.Message { mi := &file_w_mall_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 ListRes_Reward.ProtoReflect.Descriptor instead. func (*ListRes_Reward) Descriptor() ([]byte, []int) { return file_w_mall_proto_rawDescGZIP(), []int{1, 2} } func (x *ListRes_Reward) GetId() int64 { if x != nil { return x.Id } return 0 } func (x *ListRes_Reward) GetTitle() string { if x != nil { return x.Title } return "" } func (x *ListRes_Reward) GetImgUrl() string { if x != nil { return x.ImgUrl } return "" } type ItemListRes_One struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Id int64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` //商城奖品id RewardId int64 `protobuf:"varint,2,opt,name=reward_id,json=rewardId,proto3" json:"reward_id,omitempty"` //奖品id Title string `protobuf:"bytes,3,opt,name=title,proto3" json:"title,omitempty"` //奖品标题 ImgUrl string `protobuf:"bytes,4,opt,name=img_url,json=imgUrl,proto3" json:"img_url,omitempty"` //奖品图片URL Stock int64 `protobuf:"varint,5,opt,name=stock,proto3" json:"stock,omitempty"` //奖品库存 Remain int64 `protobuf:"varint,6,opt,name=remain,proto3" json:"remain,omitempty"` //剩余库存 UpType int32 `protobuf:"varint,7,opt,name=up_type,json=upType,proto3" json:"up_type,omitempty"` //上架类型(1-立即上架,2-指定时间) UpCustom int64 `protobuf:"varint,8,opt,name=up_custom,json=upCustom,proto3" json:"up_custom,omitempty"` //自定义上架时间 UpAt int64 `protobuf:"varint,9,opt,name=up_at,json=upAt,proto3" json:"up_at,omitempty"` //上架时间 UpFrom string `protobuf:"bytes,10,opt,name=up_from,json=upFrom,proto3" json:"up_from,omitempty"` //上架来源(auto-自定上架,manual-手动上架) UpShow []string `protobuf:"bytes,11,rep,name=up_show,json=upShow,proto3" json:"up_show,omitempty"` //指定上架展示配置 DownType int32 `protobuf:"varint,12,opt,name=down_type,json=downType,proto3" json:"down_type,omitempty"` //下架类型(1-永久上架,2-指定时间) DownCustom int64 `protobuf:"varint,13,opt,name=down_custom,json=downCustom,proto3" json:"down_custom,omitempty"` //自定义下架时间 DownAt int64 `protobuf:"varint,14,opt,name=down_at,json=downAt,proto3" json:"down_at,omitempty"` //下架时间 DownFrom string `protobuf:"bytes,15,opt,name=down_from,json=downFrom,proto3" json:"down_from,omitempty"` //下架来源(auto-自定下架,manual-手动下架) DownShow []string `protobuf:"bytes,16,rep,name=down_show,json=downShow,proto3" json:"down_show,omitempty"` //指定下架展示配置 Status int32 `protobuf:"varint,17,opt,name=status,proto3" json:"status,omitempty"` //状态(1-上架,2-待上架,3-下架,4-删除) CoinNum int32 `protobuf:"varint,18,opt,name=coin_num,json=coinNum,proto3" json:"coin_num,omitempty"` //奖品金币数量 UseStock int64 `protobuf:"varint,19,opt,name=use_stock,json=useStock,proto3" json:"use_stock,omitempty"` //发放库存 } func (x *ItemListRes_One) Reset() { *x = ItemListRes_One{} if protoimpl.UnsafeEnabled { mi := &file_w_mall_proto_msgTypes[29] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ItemListRes_One) String() string { return protoimpl.X.MessageStringOf(x) } func (*ItemListRes_One) ProtoMessage() {} func (x *ItemListRes_One) ProtoReflect() protoreflect.Message { mi := &file_w_mall_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 ItemListRes_One.ProtoReflect.Descriptor instead. func (*ItemListRes_One) Descriptor() ([]byte, []int) { return file_w_mall_proto_rawDescGZIP(), []int{9, 0} } func (x *ItemListRes_One) GetId() int64 { if x != nil { return x.Id } return 0 } func (x *ItemListRes_One) GetRewardId() int64 { if x != nil { return x.RewardId } return 0 } func (x *ItemListRes_One) GetTitle() string { if x != nil { return x.Title } return "" } func (x *ItemListRes_One) GetImgUrl() string { if x != nil { return x.ImgUrl } return "" } func (x *ItemListRes_One) GetStock() int64 { if x != nil { return x.Stock } return 0 } func (x *ItemListRes_One) GetRemain() int64 { if x != nil { return x.Remain } return 0 } func (x *ItemListRes_One) GetUpType() int32 { if x != nil { return x.UpType } return 0 } func (x *ItemListRes_One) GetUpCustom() int64 { if x != nil { return x.UpCustom } return 0 } func (x *ItemListRes_One) GetUpAt() int64 { if x != nil { return x.UpAt } return 0 } func (x *ItemListRes_One) GetUpFrom() string { if x != nil { return x.UpFrom } return "" } func (x *ItemListRes_One) GetUpShow() []string { if x != nil { return x.UpShow } return nil } func (x *ItemListRes_One) GetDownType() int32 { if x != nil { return x.DownType } return 0 } func (x *ItemListRes_One) GetDownCustom() int64 { if x != nil { return x.DownCustom } return 0 } func (x *ItemListRes_One) GetDownAt() int64 { if x != nil { return x.DownAt } return 0 } func (x *ItemListRes_One) GetDownFrom() string { if x != nil { return x.DownFrom } return "" } func (x *ItemListRes_One) GetDownShow() []string { if x != nil { return x.DownShow } return nil } func (x *ItemListRes_One) GetStatus() int32 { if x != nil { return x.Status } return 0 } func (x *ItemListRes_One) GetCoinNum() int32 { if x != nil { return x.CoinNum } return 0 } func (x *ItemListRes_One) GetUseStock() int64 { if x != nil { return x.UseStock } return 0 } type SelectRes_One struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Id int64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` //商城ID Title string `protobuf:"bytes,2,opt,name=title,proto3" json:"title,omitempty"` //商城标题 } func (x *SelectRes_One) Reset() { *x = SelectRes_One{} if protoimpl.UnsafeEnabled { mi := &file_w_mall_proto_msgTypes[30] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *SelectRes_One) String() string { return protoimpl.X.MessageStringOf(x) } func (*SelectRes_One) ProtoMessage() {} func (x *SelectRes_One) ProtoReflect() protoreflect.Message { mi := &file_w_mall_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 SelectRes_One.ProtoReflect.Descriptor instead. func (*SelectRes_One) Descriptor() ([]byte, []int) { return file_w_mall_proto_rawDescGZIP(), []int{19, 0} } func (x *SelectRes_One) GetId() int64 { if x != nil { return x.Id } return 0 } func (x *SelectRes_One) GetTitle() string { if x != nil { return x.Title } return "" } type UserItemListRes_One struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Id int64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` //商城奖品id RewardId int64 `protobuf:"varint,2,opt,name=reward_id,json=rewardId,proto3" json:"reward_id,omitempty"` //奖品id Title string `protobuf:"bytes,3,opt,name=title,proto3" json:"title,omitempty"` //奖品标题 ImgUrl string `protobuf:"bytes,4,opt,name=img_url,json=imgUrl,proto3" json:"img_url,omitempty"` //奖品图片URL Remain int64 `protobuf:"varint,5,opt,name=remain,proto3" json:"remain,omitempty"` //剩余库存 Status int32 `protobuf:"varint,6,opt,name=status,proto3" json:"status,omitempty"` //状态(1-上架,2-待上架,3-下架,4-删除) UpRemain int64 `protobuf:"varint,7,opt,name=up_remain,json=upRemain,proto3" json:"up_remain,omitempty"` //上架剩余时间 CoinNum int32 `protobuf:"varint,8,opt,name=coin_num,json=coinNum,proto3" json:"coin_num,omitempty"` //奖品金币数量 } func (x *UserItemListRes_One) Reset() { *x = UserItemListRes_One{} if protoimpl.UnsafeEnabled { mi := &file_w_mall_proto_msgTypes[31] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *UserItemListRes_One) String() string { return protoimpl.X.MessageStringOf(x) } func (*UserItemListRes_One) ProtoMessage() {} func (x *UserItemListRes_One) ProtoReflect() protoreflect.Message { mi := &file_w_mall_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 UserItemListRes_One.ProtoReflect.Descriptor instead. func (*UserItemListRes_One) Descriptor() ([]byte, []int) { return file_w_mall_proto_rawDescGZIP(), []int{23, 0} } func (x *UserItemListRes_One) GetId() int64 { if x != nil { return x.Id } return 0 } func (x *UserItemListRes_One) GetRewardId() int64 { if x != nil { return x.RewardId } return 0 } func (x *UserItemListRes_One) GetTitle() string { if x != nil { return x.Title } return "" } func (x *UserItemListRes_One) GetImgUrl() string { if x != nil { return x.ImgUrl } return "" } func (x *UserItemListRes_One) GetRemain() int64 { if x != nil { return x.Remain } return 0 } func (x *UserItemListRes_One) GetStatus() int32 { if x != nil { return x.Status } return 0 } func (x *UserItemListRes_One) GetUpRemain() int64 { if x != nil { return x.UpRemain } return 0 } func (x *UserItemListRes_One) GetCoinNum() int32 { if x != nil { return x.CoinNum } return 0 } type ExchangeItemReq_SourceData struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields CenterId int64 `protobuf:"varint,1,opt,name=center_id,json=centerId,proto3" json:"center_id,omitempty"` //任务中心id CenterHashId string `protobuf:"bytes,2,opt,name=center_hash_id,json=centerHashId,proto3" json:"center_hash_id,omitempty"` //任务中心hash_id CenterTitle string `protobuf:"bytes,3,opt,name=center_title,json=centerTitle,proto3" json:"center_title,omitempty"` //任务中心标题 UserPlatform string `protobuf:"bytes,4,opt,name=user_platform,json=userPlatform,proto3" json:"user_platform,omitempty"` //用户平台 ParentUserId string `protobuf:"bytes,5,opt,name=parent_user_id,json=parentUserId,proto3" json:"parent_user_id,omitempty"` //父用户id ParentUserPlatform string `protobuf:"bytes,6,opt,name=parent_user_platform,json=parentUserPlatform,proto3" json:"parent_user_platform,omitempty"` //父用户平台 ModuleId int64 `protobuf:"varint,7,opt,name=module_id,json=moduleId,proto3" json:"module_id,omitempty"` //模块id RelateId int64 `protobuf:"varint,8,opt,name=relate_id,json=relateId,proto3" json:"relate_id,omitempty"` //关联id } func (x *ExchangeItemReq_SourceData) Reset() { *x = ExchangeItemReq_SourceData{} if protoimpl.UnsafeEnabled { mi := &file_w_mall_proto_msgTypes[32] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ExchangeItemReq_SourceData) String() string { return protoimpl.X.MessageStringOf(x) } func (*ExchangeItemReq_SourceData) ProtoMessage() {} func (x *ExchangeItemReq_SourceData) ProtoReflect() protoreflect.Message { mi := &file_w_mall_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 ExchangeItemReq_SourceData.ProtoReflect.Descriptor instead. func (*ExchangeItemReq_SourceData) Descriptor() ([]byte, []int) { return file_w_mall_proto_rawDescGZIP(), []int{24, 0} } func (x *ExchangeItemReq_SourceData) GetCenterId() int64 { if x != nil { return x.CenterId } return 0 } func (x *ExchangeItemReq_SourceData) GetCenterHashId() string { if x != nil { return x.CenterHashId } return "" } func (x *ExchangeItemReq_SourceData) GetCenterTitle() string { if x != nil { return x.CenterTitle } return "" } func (x *ExchangeItemReq_SourceData) GetUserPlatform() string { if x != nil { return x.UserPlatform } return "" } func (x *ExchangeItemReq_SourceData) GetParentUserId() string { if x != nil { return x.ParentUserId } return "" } func (x *ExchangeItemReq_SourceData) GetParentUserPlatform() string { if x != nil { return x.ParentUserPlatform } return "" } func (x *ExchangeItemReq_SourceData) GetModuleId() int64 { if x != nil { return x.ModuleId } return 0 } func (x *ExchangeItemReq_SourceData) GetRelateId() int64 { if x != nil { return x.RelateId } return 0 } type ExchangeItemRes_KV struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Key string `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"` //对应字段名 Value string `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"` //对应字段值 IsShow int32 `protobuf:"varint,3,opt,name=is_show,json=isShow,proto3" json:"is_show,omitempty"` //是否展示(0-否,1-是) } func (x *ExchangeItemRes_KV) Reset() { *x = ExchangeItemRes_KV{} if protoimpl.UnsafeEnabled { mi := &file_w_mall_proto_msgTypes[33] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ExchangeItemRes_KV) String() string { return protoimpl.X.MessageStringOf(x) } func (*ExchangeItemRes_KV) ProtoMessage() {} func (x *ExchangeItemRes_KV) ProtoReflect() protoreflect.Message { mi := &file_w_mall_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 ExchangeItemRes_KV.ProtoReflect.Descriptor instead. func (*ExchangeItemRes_KV) Descriptor() ([]byte, []int) { return file_w_mall_proto_rawDescGZIP(), []int{25, 0} } func (x *ExchangeItemRes_KV) GetKey() string { if x != nil { return x.Key } return "" } func (x *ExchangeItemRes_KV) GetValue() string { if x != nil { return x.Value } return "" } func (x *ExchangeItemRes_KV) GetIsShow() int32 { if x != nil { return x.IsShow } return 0 } var File_w_mall_proto protoreflect.FileDescriptor var file_w_mall_proto_rawDesc = []byte{ 0x0a, 0x0c, 0x77, 0x5f, 0x6d, 0x61, 0x6c, 0x6c, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x08, 0x77, 0x5f, 0x6d, 0x61, 0x6c, 0x6c, 0x70, 0x62, 0x22, 0xa9, 0x01, 0x0a, 0x07, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x70, 0x61, 0x67, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x70, 0x65, 0x72, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x70, 0x65, 0x72, 0x50, 0x61, 0x67, 0x65, 0x12, 0x26, 0x0a, 0x0f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x48, 0x61, 0x73, 0x68, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x19, 0x0a, 0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x18, 0x06, 0x20, 0x03, 0x28, 0x05, 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x42, 0x79, 0x22, 0xa8, 0x03, 0x0a, 0x07, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x12, 0x29, 0x0a, 0x04, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x77, 0x5f, 0x6d, 0x61, 0x6c, 0x6c, 0x70, 0x62, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x2e, 0x4f, 0x6e, 0x65, 0x52, 0x04, 0x6c, 0x69, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x1a, 0xca, 0x01, 0x0a, 0x03, 0x4f, 0x6e, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x69, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x32, 0x0a, 0x07, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x77, 0x5f, 0x6d, 0x61, 0x6c, 0x6c, 0x70, 0x62, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x2e, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x65, 0x52, 0x07, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x12, 0x32, 0x0a, 0x07, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x77, 0x5f, 0x6d, 0x61, 0x6c, 0x6c, 0x70, 0x62, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x2e, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x52, 0x07, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x73, 0x1a, 0x46, 0x0a, 0x06, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x69, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x1a, 0x47, 0x0a, 0x06, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x69, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x12, 0x17, 0x0a, 0x07, 0x69, 0x6d, 0x67, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x69, 0x6d, 0x67, 0x55, 0x72, 0x6c, 0x22, 0x48, 0x0a, 0x08, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x52, 0x65, 0x71, 0x12, 0x26, 0x0a, 0x0f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x48, 0x61, 0x73, 0x68, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x22, 0x1a, 0x0a, 0x08, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x52, 0x65, 0x73, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x69, 0x64, 0x22, 0x59, 0x0a, 0x09, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x12, 0x26, 0x0a, 0x0f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x48, 0x61, 0x73, 0x68, 0x49, 0x64, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x69, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x22, 0x1b, 0x0a, 0x09, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x69, 0x64, 0x22, 0x44, 0x0a, 0x0a, 0x44, 0x65, 0x73, 0x74, 0x72, 0x6f, 0x79, 0x52, 0x65, 0x71, 0x12, 0x26, 0x0a, 0x0f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x48, 0x61, 0x73, 0x68, 0x49, 0x64, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x69, 0x64, 0x22, 0x1c, 0x0a, 0x0a, 0x44, 0x65, 0x73, 0x74, 0x72, 0x6f, 0x79, 0x52, 0x65, 0x73, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x69, 0x64, 0x22, 0x3e, 0x0a, 0x0b, 0x49, 0x74, 0x65, 0x6d, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x12, 0x17, 0x0a, 0x07, 0x6d, 0x61, 0x6c, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x6d, 0x61, 0x6c, 0x6c, 0x49, 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, 0x22, 0xac, 0x04, 0x0a, 0x0b, 0x49, 0x74, 0x65, 0x6d, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x12, 0x2d, 0x0a, 0x04, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x77, 0x5f, 0x6d, 0x61, 0x6c, 0x6c, 0x70, 0x62, 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x2e, 0x4f, 0x6e, 0x65, 0x52, 0x04, 0x6c, 0x69, 0x73, 0x74, 0x1a, 0xed, 0x03, 0x0a, 0x03, 0x4f, 0x6e, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x12, 0x17, 0x0a, 0x07, 0x69, 0x6d, 0x67, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x69, 0x6d, 0x67, 0x55, 0x72, 0x6c, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74, 0x6f, 0x63, 0x6b, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x73, 0x74, 0x6f, 0x63, 0x6b, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x72, 0x65, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x17, 0x0a, 0x07, 0x75, 0x70, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x75, 0x70, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x75, 0x70, 0x5f, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x18, 0x08, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x75, 0x70, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x12, 0x13, 0x0a, 0x05, 0x75, 0x70, 0x5f, 0x61, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x75, 0x70, 0x41, 0x74, 0x12, 0x17, 0x0a, 0x07, 0x75, 0x70, 0x5f, 0x66, 0x72, 0x6f, 0x6d, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x75, 0x70, 0x46, 0x72, 0x6f, 0x6d, 0x12, 0x17, 0x0a, 0x07, 0x75, 0x70, 0x5f, 0x73, 0x68, 0x6f, 0x77, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x09, 0x52, 0x06, 0x75, 0x70, 0x53, 0x68, 0x6f, 0x77, 0x12, 0x1b, 0x0a, 0x09, 0x64, 0x6f, 0x77, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x64, 0x6f, 0x77, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x64, 0x6f, 0x77, 0x6e, 0x5f, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x64, 0x6f, 0x77, 0x6e, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x12, 0x17, 0x0a, 0x07, 0x64, 0x6f, 0x77, 0x6e, 0x5f, 0x61, 0x74, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x64, 0x6f, 0x77, 0x6e, 0x41, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x64, 0x6f, 0x77, 0x6e, 0x5f, 0x66, 0x72, 0x6f, 0x6d, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x64, 0x6f, 0x77, 0x6e, 0x46, 0x72, 0x6f, 0x6d, 0x12, 0x1b, 0x0a, 0x09, 0x64, 0x6f, 0x77, 0x6e, 0x5f, 0x73, 0x68, 0x6f, 0x77, 0x18, 0x10, 0x20, 0x03, 0x28, 0x09, 0x52, 0x08, 0x64, 0x6f, 0x77, 0x6e, 0x53, 0x68, 0x6f, 0x77, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x11, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x19, 0x0a, 0x08, 0x63, 0x6f, 0x69, 0x6e, 0x5f, 0x6e, 0x75, 0x6d, 0x18, 0x12, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x63, 0x6f, 0x69, 0x6e, 0x4e, 0x75, 0x6d, 0x12, 0x1b, 0x0a, 0x09, 0x75, 0x73, 0x65, 0x5f, 0x73, 0x74, 0x6f, 0x63, 0x6b, 0x18, 0x13, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x75, 0x73, 0x65, 0x53, 0x74, 0x6f, 0x63, 0x6b, 0x22, 0x9f, 0x02, 0x0a, 0x0c, 0x49, 0x74, 0x65, 0x6d, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x52, 0x65, 0x71, 0x12, 0x17, 0x0a, 0x07, 0x6d, 0x61, 0x6c, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x6d, 0x61, 0x6c, 0x6c, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x49, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x63, 0x6f, 0x69, 0x6e, 0x5f, 0x6e, 0x75, 0x6d, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x63, 0x6f, 0x69, 0x6e, 0x4e, 0x75, 0x6d, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74, 0x6f, 0x63, 0x6b, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x73, 0x74, 0x6f, 0x63, 0x6b, 0x12, 0x17, 0x0a, 0x07, 0x75, 0x70, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x75, 0x70, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x75, 0x70, 0x5f, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x75, 0x70, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x12, 0x17, 0x0a, 0x07, 0x75, 0x70, 0x5f, 0x73, 0x68, 0x6f, 0x77, 0x18, 0x07, 0x20, 0x03, 0x28, 0x09, 0x52, 0x06, 0x75, 0x70, 0x53, 0x68, 0x6f, 0x77, 0x12, 0x1b, 0x0a, 0x09, 0x64, 0x6f, 0x77, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x64, 0x6f, 0x77, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x64, 0x6f, 0x77, 0x6e, 0x5f, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x18, 0x09, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x64, 0x6f, 0x77, 0x6e, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x12, 0x1b, 0x0a, 0x09, 0x64, 0x6f, 0x77, 0x6e, 0x5f, 0x73, 0x68, 0x6f, 0x77, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x09, 0x52, 0x08, 0x64, 0x6f, 0x77, 0x6e, 0x53, 0x68, 0x6f, 0x77, 0x22, 0x1e, 0x0a, 0x0c, 0x49, 0x74, 0x65, 0x6d, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x52, 0x65, 0x73, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x69, 0x64, 0x22, 0x97, 0x02, 0x0a, 0x0d, 0x49, 0x74, 0x65, 0x6d, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x49, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x63, 0x6f, 0x69, 0x6e, 0x5f, 0x6e, 0x75, 0x6d, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x63, 0x6f, 0x69, 0x6e, 0x4e, 0x75, 0x6d, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74, 0x6f, 0x63, 0x6b, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x73, 0x74, 0x6f, 0x63, 0x6b, 0x12, 0x17, 0x0a, 0x07, 0x75, 0x70, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x75, 0x70, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x75, 0x70, 0x5f, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x75, 0x70, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x12, 0x17, 0x0a, 0x07, 0x75, 0x70, 0x5f, 0x73, 0x68, 0x6f, 0x77, 0x18, 0x07, 0x20, 0x03, 0x28, 0x09, 0x52, 0x06, 0x75, 0x70, 0x53, 0x68, 0x6f, 0x77, 0x12, 0x1b, 0x0a, 0x09, 0x64, 0x6f, 0x77, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x64, 0x6f, 0x77, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x64, 0x6f, 0x77, 0x6e, 0x5f, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x18, 0x09, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x64, 0x6f, 0x77, 0x6e, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x12, 0x1b, 0x0a, 0x09, 0x64, 0x6f, 0x77, 0x6e, 0x5f, 0x73, 0x68, 0x6f, 0x77, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x09, 0x52, 0x08, 0x64, 0x6f, 0x77, 0x6e, 0x53, 0x68, 0x6f, 0x77, 0x22, 0x1f, 0x0a, 0x0d, 0x49, 0x74, 0x65, 0x6d, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x69, 0x64, 0x22, 0x37, 0x0a, 0x0d, 0x49, 0x74, 0x65, 0x6d, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 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, 0x22, 0x1f, 0x0a, 0x0d, 0x49, 0x74, 0x65, 0x6d, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x69, 0x64, 0x22, 0x1f, 0x0a, 0x0b, 0x49, 0x74, 0x65, 0x6d, 0x53, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x71, 0x12, 0x10, 0x0a, 0x03, 0x69, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x03, 0x52, 0x03, 0x69, 0x64, 0x73, 0x22, 0x0d, 0x0a, 0x0b, 0x49, 0x74, 0x65, 0x6d, 0x53, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, 0x22, 0x33, 0x0a, 0x09, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x12, 0x26, 0x0a, 0x0f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x48, 0x61, 0x73, 0x68, 0x49, 0x64, 0x22, 0x65, 0x0a, 0x09, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x52, 0x65, 0x73, 0x12, 0x2b, 0x0a, 0x04, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x77, 0x5f, 0x6d, 0x61, 0x6c, 0x6c, 0x70, 0x62, 0x2e, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x52, 0x65, 0x73, 0x2e, 0x4f, 0x6e, 0x65, 0x52, 0x04, 0x6c, 0x69, 0x73, 0x74, 0x1a, 0x2b, 0x0a, 0x03, 0x4f, 0x6e, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x69, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x22, 0xa1, 0x01, 0x0a, 0x0d, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x65, 0x4d, 0x61, 0x6c, 0x6c, 0x52, 0x65, 0x71, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x65, 0x49, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x65, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x6d, 0x61, 0x6c, 0x6c, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x03, 0x52, 0x07, 0x6d, 0x61, 0x6c, 0x6c, 0x49, 0x64, 0x73, 0x22, 0x0f, 0x0a, 0x0d, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x65, 0x4d, 0x61, 0x6c, 0x6c, 0x52, 0x65, 0x73, 0x22, 0x95, 0x01, 0x0a, 0x0f, 0x55, 0x73, 0x65, 0x72, 0x49, 0x74, 0x65, 0x6d, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x12, 0x17, 0x0a, 0x07, 0x6d, 0x61, 0x6c, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x6d, 0x61, 0x6c, 0x6c, 0x49, 0x64, 0x12, 0x17, 0x0a, 0x07, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x6c, 0x61, 0x6e, 0x67, 0x5f, 0x6d, 0x61, 0x72, 0x6b, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6c, 0x61, 0x6e, 0x67, 0x4d, 0x61, 0x72, 0x6b, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x64, 0x22, 0x90, 0x02, 0x0a, 0x0f, 0x55, 0x73, 0x65, 0x72, 0x49, 0x74, 0x65, 0x6d, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x12, 0x31, 0x0a, 0x04, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x77, 0x5f, 0x6d, 0x61, 0x6c, 0x6c, 0x70, 0x62, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x49, 0x74, 0x65, 0x6d, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x2e, 0x4f, 0x6e, 0x65, 0x52, 0x04, 0x6c, 0x69, 0x73, 0x74, 0x1a, 0xc9, 0x01, 0x0a, 0x03, 0x4f, 0x6e, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x12, 0x17, 0x0a, 0x07, 0x69, 0x6d, 0x67, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x69, 0x6d, 0x67, 0x55, 0x72, 0x6c, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x72, 0x65, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x75, 0x70, 0x5f, 0x72, 0x65, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x75, 0x70, 0x52, 0x65, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x19, 0x0a, 0x08, 0x63, 0x6f, 0x69, 0x6e, 0x5f, 0x6e, 0x75, 0x6d, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x63, 0x6f, 0x69, 0x6e, 0x4e, 0x75, 0x6d, 0x22, 0xcd, 0x04, 0x0a, 0x0f, 0x45, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x65, 0x71, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x20, 0x0a, 0x0c, 0x6d, 0x61, 0x6c, 0x6c, 0x5f, 0x69, 0x74, 0x65, 0x6d, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x6d, 0x61, 0x6c, 0x6c, 0x49, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x12, 0x17, 0x0a, 0x07, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x6c, 0x61, 0x6e, 0x67, 0x5f, 0x6d, 0x61, 0x72, 0x6b, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6c, 0x61, 0x6e, 0x67, 0x4d, 0x61, 0x72, 0x6b, 0x12, 0x21, 0x0a, 0x0c, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x15, 0x0a, 0x06, 0x75, 0x72, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x75, 0x72, 0x6c, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x45, 0x0a, 0x0b, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x77, 0x5f, 0x6d, 0x61, 0x6c, 0x6c, 0x70, 0x62, 0x2e, 0x45, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x65, 0x71, 0x2e, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x44, 0x61, 0x74, 0x61, 0x52, 0x0a, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x44, 0x61, 0x74, 0x61, 0x1a, 0xa9, 0x02, 0x0a, 0x0a, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x44, 0x61, 0x74, 0x61, 0x12, 0x1b, 0x0a, 0x09, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x49, 0x64, 0x12, 0x24, 0x0a, 0x0e, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x48, 0x61, 0x73, 0x68, 0x49, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x5f, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x54, 0x69, 0x74, 0x6c, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x75, 0x73, 0x65, 0x72, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x24, 0x0a, 0x0e, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x30, 0x0a, 0x14, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x55, 0x73, 0x65, 0x72, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x1b, 0x0a, 0x09, 0x6d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x6d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x49, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x65, 0x49, 0x64, 0x22, 0x95, 0x04, 0x0a, 0x0f, 0x45, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x65, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x12, 0x17, 0x0a, 0x07, 0x69, 0x6d, 0x67, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x69, 0x6d, 0x67, 0x55, 0x72, 0x6c, 0x12, 0x35, 0x0a, 0x07, 0x6b, 0x76, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x77, 0x5f, 0x6d, 0x61, 0x6c, 0x6c, 0x70, 0x62, 0x2e, 0x45, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x65, 0x73, 0x2e, 0x4b, 0x56, 0x52, 0x06, 0x6b, 0x76, 0x44, 0x61, 0x74, 0x61, 0x12, 0x21, 0x0a, 0x0c, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74, 0x12, 0x1e, 0x0a, 0x0b, 0x6f, 0x70, 0x65, 0x6e, 0x5f, 0x74, 0x6f, 0x5f, 0x75, 0x73, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x6f, 0x70, 0x65, 0x6e, 0x54, 0x6f, 0x55, 0x73, 0x65, 0x12, 0x2a, 0x0a, 0x11, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x72, 0x65, 0x77, 0x61, 0x72, 0x64, 0x5f, 0x76, 0x61, 0x6c, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x56, 0x61, 0x6c, 0x12, 0x17, 0x0a, 0x07, 0x77, 0x65, 0x62, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x77, 0x65, 0x62, 0x55, 0x72, 0x6c, 0x12, 0x1b, 0x0a, 0x09, 0x61, 0x70, 0x70, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x61, 0x70, 0x70, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x12, 0x19, 0x0a, 0x08, 0x70, 0x63, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x70, 0x63, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x12, 0x1b, 0x0a, 0x09, 0x66, 0x61, 0x69, 0x6c, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x66, 0x61, 0x69, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x66, 0x61, 0x69, 0x6c, 0x5f, 0x6d, 0x73, 0x67, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x66, 0x61, 0x69, 0x6c, 0x4d, 0x73, 0x67, 0x1a, 0x45, 0x0a, 0x02, 0x4b, 0x56, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x17, 0x0a, 0x07, 0x69, 0x73, 0x5f, 0x73, 0x68, 0x6f, 0x77, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x69, 0x73, 0x53, 0x68, 0x6f, 0x77, 0x32, 0x9c, 0x06, 0x0a, 0x05, 0x57, 0x4d, 0x61, 0x6c, 0x6c, 0x12, 0x2e, 0x0a, 0x04, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x11, 0x2e, 0x77, 0x5f, 0x6d, 0x61, 0x6c, 0x6c, 0x70, 0x62, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x11, 0x2e, 0x77, 0x5f, 0x6d, 0x61, 0x6c, 0x6c, 0x70, 0x62, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x22, 0x00, 0x12, 0x31, 0x0a, 0x05, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x12, 0x12, 0x2e, 0x77, 0x5f, 0x6d, 0x61, 0x6c, 0x6c, 0x70, 0x62, 0x2e, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x52, 0x65, 0x71, 0x1a, 0x12, 0x2e, 0x77, 0x5f, 0x6d, 0x61, 0x6c, 0x6c, 0x70, 0x62, 0x2e, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x52, 0x65, 0x73, 0x22, 0x00, 0x12, 0x34, 0x0a, 0x06, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0x13, 0x2e, 0x77, 0x5f, 0x6d, 0x61, 0x6c, 0x6c, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x1a, 0x13, 0x2e, 0x77, 0x5f, 0x6d, 0x61, 0x6c, 0x6c, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x22, 0x00, 0x12, 0x37, 0x0a, 0x07, 0x44, 0x65, 0x73, 0x74, 0x72, 0x6f, 0x79, 0x12, 0x14, 0x2e, 0x77, 0x5f, 0x6d, 0x61, 0x6c, 0x6c, 0x70, 0x62, 0x2e, 0x44, 0x65, 0x73, 0x74, 0x72, 0x6f, 0x79, 0x52, 0x65, 0x71, 0x1a, 0x14, 0x2e, 0x77, 0x5f, 0x6d, 0x61, 0x6c, 0x6c, 0x70, 0x62, 0x2e, 0x44, 0x65, 0x73, 0x74, 0x72, 0x6f, 0x79, 0x52, 0x65, 0x73, 0x22, 0x00, 0x12, 0x3a, 0x0a, 0x08, 0x49, 0x74, 0x65, 0x6d, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x15, 0x2e, 0x77, 0x5f, 0x6d, 0x61, 0x6c, 0x6c, 0x70, 0x62, 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x15, 0x2e, 0x77, 0x5f, 0x6d, 0x61, 0x6c, 0x6c, 0x70, 0x62, 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x22, 0x00, 0x12, 0x3d, 0x0a, 0x09, 0x49, 0x74, 0x65, 0x6d, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x12, 0x16, 0x2e, 0x77, 0x5f, 0x6d, 0x61, 0x6c, 0x6c, 0x70, 0x62, 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x52, 0x65, 0x71, 0x1a, 0x16, 0x2e, 0x77, 0x5f, 0x6d, 0x61, 0x6c, 0x6c, 0x70, 0x62, 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x52, 0x65, 0x73, 0x22, 0x00, 0x12, 0x40, 0x0a, 0x0a, 0x49, 0x74, 0x65, 0x6d, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0x17, 0x2e, 0x77, 0x5f, 0x6d, 0x61, 0x6c, 0x6c, 0x70, 0x62, 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x1a, 0x17, 0x2e, 0x77, 0x5f, 0x6d, 0x61, 0x6c, 0x6c, 0x70, 0x62, 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x22, 0x00, 0x12, 0x40, 0x0a, 0x0a, 0x49, 0x74, 0x65, 0x6d, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x17, 0x2e, 0x77, 0x5f, 0x6d, 0x61, 0x6c, 0x6c, 0x70, 0x62, 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x1a, 0x17, 0x2e, 0x77, 0x5f, 0x6d, 0x61, 0x6c, 0x6c, 0x70, 0x62, 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x22, 0x00, 0x12, 0x3a, 0x0a, 0x08, 0x49, 0x74, 0x65, 0x6d, 0x53, 0x6f, 0x72, 0x74, 0x12, 0x15, 0x2e, 0x77, 0x5f, 0x6d, 0x61, 0x6c, 0x6c, 0x70, 0x62, 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x53, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x15, 0x2e, 0x77, 0x5f, 0x6d, 0x61, 0x6c, 0x6c, 0x70, 0x62, 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x53, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, 0x22, 0x00, 0x12, 0x34, 0x0a, 0x06, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x12, 0x13, 0x2e, 0x77, 0x5f, 0x6d, 0x61, 0x6c, 0x6c, 0x70, 0x62, 0x2e, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x13, 0x2e, 0x77, 0x5f, 0x6d, 0x61, 0x6c, 0x6c, 0x70, 0x62, 0x2e, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x52, 0x65, 0x73, 0x22, 0x00, 0x12, 0x40, 0x0a, 0x0a, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x65, 0x4d, 0x61, 0x6c, 0x6c, 0x12, 0x17, 0x2e, 0x77, 0x5f, 0x6d, 0x61, 0x6c, 0x6c, 0x70, 0x62, 0x2e, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x65, 0x4d, 0x61, 0x6c, 0x6c, 0x52, 0x65, 0x71, 0x1a, 0x17, 0x2e, 0x77, 0x5f, 0x6d, 0x61, 0x6c, 0x6c, 0x70, 0x62, 0x2e, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x65, 0x4d, 0x61, 0x6c, 0x6c, 0x52, 0x65, 0x73, 0x22, 0x00, 0x12, 0x46, 0x0a, 0x0c, 0x55, 0x73, 0x65, 0x72, 0x49, 0x74, 0x65, 0x6d, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x19, 0x2e, 0x77, 0x5f, 0x6d, 0x61, 0x6c, 0x6c, 0x70, 0x62, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x49, 0x74, 0x65, 0x6d, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x19, 0x2e, 0x77, 0x5f, 0x6d, 0x61, 0x6c, 0x6c, 0x70, 0x62, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x49, 0x74, 0x65, 0x6d, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x22, 0x00, 0x12, 0x46, 0x0a, 0x0c, 0x45, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x49, 0x74, 0x65, 0x6d, 0x12, 0x19, 0x2e, 0x77, 0x5f, 0x6d, 0x61, 0x6c, 0x6c, 0x70, 0x62, 0x2e, 0x45, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x65, 0x71, 0x1a, 0x19, 0x2e, 0x77, 0x5f, 0x6d, 0x61, 0x6c, 0x6c, 0x70, 0x62, 0x2e, 0x45, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x65, 0x73, 0x22, 0x00, 0x42, 0x0d, 0x5a, 0x0b, 0x2e, 0x2f, 0x3b, 0x77, 0x5f, 0x6d, 0x61, 0x6c, 0x6c, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( file_w_mall_proto_rawDescOnce sync.Once file_w_mall_proto_rawDescData = file_w_mall_proto_rawDesc ) func file_w_mall_proto_rawDescGZIP() []byte { file_w_mall_proto_rawDescOnce.Do(func() { file_w_mall_proto_rawDescData = protoimpl.X.CompressGZIP(file_w_mall_proto_rawDescData) }) return file_w_mall_proto_rawDescData } var file_w_mall_proto_msgTypes = make([]protoimpl.MessageInfo, 34) var file_w_mall_proto_goTypes = []interface{}{ (*ListReq)(nil), // 0: w_mallpb.ListReq (*ListRes)(nil), // 1: w_mallpb.ListRes (*StoreReq)(nil), // 2: w_mallpb.StoreReq (*StoreRes)(nil), // 3: w_mallpb.StoreRes (*UpdateReq)(nil), // 4: w_mallpb.UpdateReq (*UpdateRes)(nil), // 5: w_mallpb.UpdateRes (*DestroyReq)(nil), // 6: w_mallpb.DestroyReq (*DestroyRes)(nil), // 7: w_mallpb.DestroyRes (*ItemListReq)(nil), // 8: w_mallpb.ItemListReq (*ItemListRes)(nil), // 9: w_mallpb.ItemListRes (*ItemStoreReq)(nil), // 10: w_mallpb.ItemStoreReq (*ItemStoreRes)(nil), // 11: w_mallpb.ItemStoreRes (*ItemUpdateReq)(nil), // 12: w_mallpb.ItemUpdateReq (*ItemUpdateRes)(nil), // 13: w_mallpb.ItemUpdateRes (*ItemStatusReq)(nil), // 14: w_mallpb.ItemStatusReq (*ItemStatusRes)(nil), // 15: w_mallpb.ItemStatusRes (*ItemSortReq)(nil), // 16: w_mallpb.ItemSortReq (*ItemSortRes)(nil), // 17: w_mallpb.ItemSortRes (*SelectReq)(nil), // 18: w_mallpb.SelectReq (*SelectRes)(nil), // 19: w_mallpb.SelectRes (*RelateMallReq)(nil), // 20: w_mallpb.RelateMallReq (*RelateMallRes)(nil), // 21: w_mallpb.RelateMallRes (*UserItemListReq)(nil), // 22: w_mallpb.UserItemListReq (*UserItemListRes)(nil), // 23: w_mallpb.UserItemListRes (*ExchangeItemReq)(nil), // 24: w_mallpb.ExchangeItemReq (*ExchangeItemRes)(nil), // 25: w_mallpb.ExchangeItemRes (*ListRes_One)(nil), // 26: w_mallpb.ListRes.One (*ListRes_Relate)(nil), // 27: w_mallpb.ListRes.Relate (*ListRes_Reward)(nil), // 28: w_mallpb.ListRes.Reward (*ItemListRes_One)(nil), // 29: w_mallpb.ItemListRes.One (*SelectRes_One)(nil), // 30: w_mallpb.SelectRes.One (*UserItemListRes_One)(nil), // 31: w_mallpb.UserItemListRes.One (*ExchangeItemReq_SourceData)(nil), // 32: w_mallpb.ExchangeItemReq.SourceData (*ExchangeItemRes_KV)(nil), // 33: w_mallpb.ExchangeItemRes.KV } var file_w_mall_proto_depIdxs = []int32{ 26, // 0: w_mallpb.ListRes.list:type_name -> w_mallpb.ListRes.One 29, // 1: w_mallpb.ItemListRes.list:type_name -> w_mallpb.ItemListRes.One 30, // 2: w_mallpb.SelectRes.list:type_name -> w_mallpb.SelectRes.One 31, // 3: w_mallpb.UserItemListRes.list:type_name -> w_mallpb.UserItemListRes.One 32, // 4: w_mallpb.ExchangeItemReq.source_data:type_name -> w_mallpb.ExchangeItemReq.SourceData 33, // 5: w_mallpb.ExchangeItemRes.kv_data:type_name -> w_mallpb.ExchangeItemRes.KV 27, // 6: w_mallpb.ListRes.One.relates:type_name -> w_mallpb.ListRes.Relate 28, // 7: w_mallpb.ListRes.One.rewards:type_name -> w_mallpb.ListRes.Reward 0, // 8: w_mallpb.WMall.List:input_type -> w_mallpb.ListReq 2, // 9: w_mallpb.WMall.Store:input_type -> w_mallpb.StoreReq 4, // 10: w_mallpb.WMall.Update:input_type -> w_mallpb.UpdateReq 6, // 11: w_mallpb.WMall.Destroy:input_type -> w_mallpb.DestroyReq 8, // 12: w_mallpb.WMall.ItemList:input_type -> w_mallpb.ItemListReq 10, // 13: w_mallpb.WMall.ItemStore:input_type -> w_mallpb.ItemStoreReq 12, // 14: w_mallpb.WMall.ItemUpdate:input_type -> w_mallpb.ItemUpdateReq 14, // 15: w_mallpb.WMall.ItemStatus:input_type -> w_mallpb.ItemStatusReq 16, // 16: w_mallpb.WMall.ItemSort:input_type -> w_mallpb.ItemSortReq 18, // 17: w_mallpb.WMall.Select:input_type -> w_mallpb.SelectReq 20, // 18: w_mallpb.WMall.RelateMall:input_type -> w_mallpb.RelateMallReq 22, // 19: w_mallpb.WMall.UserItemList:input_type -> w_mallpb.UserItemListReq 24, // 20: w_mallpb.WMall.ExchangeItem:input_type -> w_mallpb.ExchangeItemReq 1, // 21: w_mallpb.WMall.List:output_type -> w_mallpb.ListRes 3, // 22: w_mallpb.WMall.Store:output_type -> w_mallpb.StoreRes 5, // 23: w_mallpb.WMall.Update:output_type -> w_mallpb.UpdateRes 7, // 24: w_mallpb.WMall.Destroy:output_type -> w_mallpb.DestroyRes 9, // 25: w_mallpb.WMall.ItemList:output_type -> w_mallpb.ItemListRes 11, // 26: w_mallpb.WMall.ItemStore:output_type -> w_mallpb.ItemStoreRes 13, // 27: w_mallpb.WMall.ItemUpdate:output_type -> w_mallpb.ItemUpdateRes 15, // 28: w_mallpb.WMall.ItemStatus:output_type -> w_mallpb.ItemStatusRes 17, // 29: w_mallpb.WMall.ItemSort:output_type -> w_mallpb.ItemSortRes 19, // 30: w_mallpb.WMall.Select:output_type -> w_mallpb.SelectRes 21, // 31: w_mallpb.WMall.RelateMall:output_type -> w_mallpb.RelateMallRes 23, // 32: w_mallpb.WMall.UserItemList:output_type -> w_mallpb.UserItemListRes 25, // 33: w_mallpb.WMall.ExchangeItem:output_type -> w_mallpb.ExchangeItemRes 21, // [21:34] is the sub-list for method output_type 8, // [8:21] is the sub-list for method input_type 8, // [8:8] is the sub-list for extension type_name 8, // [8:8] is the sub-list for extension extendee 0, // [0:8] is the sub-list for field type_name } func init() { file_w_mall_proto_init() } func file_w_mall_proto_init() { if File_w_mall_proto != nil { return } if !protoimpl.UnsafeEnabled { file_w_mall_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ListReq); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_w_mall_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ListRes); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_w_mall_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*StoreReq); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_w_mall_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*StoreRes); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_w_mall_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UpdateReq); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_w_mall_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UpdateRes); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_w_mall_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DestroyReq); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_w_mall_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DestroyRes); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_w_mall_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ItemListReq); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_w_mall_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ItemListRes); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_w_mall_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ItemStoreReq); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_w_mall_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ItemStoreRes); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_w_mall_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ItemUpdateReq); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_w_mall_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ItemUpdateRes); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_w_mall_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ItemStatusReq); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_w_mall_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ItemStatusRes); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_w_mall_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ItemSortReq); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_w_mall_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ItemSortRes); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_w_mall_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SelectReq); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_w_mall_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SelectRes); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_w_mall_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RelateMallReq); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_w_mall_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RelateMallRes); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_w_mall_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UserItemListReq); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_w_mall_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UserItemListRes); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_w_mall_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ExchangeItemReq); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_w_mall_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ExchangeItemRes); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_w_mall_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ListRes_One); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_w_mall_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ListRes_Relate); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_w_mall_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ListRes_Reward); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_w_mall_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ItemListRes_One); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_w_mall_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SelectRes_One); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_w_mall_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UserItemListRes_One); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_w_mall_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ExchangeItemReq_SourceData); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_w_mall_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ExchangeItemRes_KV); 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_w_mall_proto_rawDesc, NumEnums: 0, NumMessages: 34, NumExtensions: 0, NumServices: 1, }, GoTypes: file_w_mall_proto_goTypes, DependencyIndexes: file_w_mall_proto_depIdxs, MessageInfos: file_w_mall_proto_msgTypes, }.Build() File_w_mall_proto = out.File file_w_mall_proto_rawDesc = nil file_w_mall_proto_goTypes = nil file_w_mall_proto_depIdxs = nil }