// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.36.11 // protoc v7.35.0 // source: module/ec/mall/proto/product.proto package mall import ( protobuf "bsm/full/protobuf" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" unsafe "unsafe" ) 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 AttrItem struct { state protoimpl.MessageState `protogen:"open.v1"` Id int64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` //属性ID Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` //属性名称 ParentId int32 `protobuf:"varint,3,opt,name=parent_id,proto3" json:"parent_id,omitempty"` //上级ID Value string `protobuf:"bytes,4,opt,name=value,proto3" json:"value,omitempty"` //属性值 unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *AttrItem) Reset() { *x = AttrItem{} mi := &file_module_ec_mall_proto_product_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *AttrItem) String() string { return protoimpl.X.MessageStringOf(x) } func (*AttrItem) ProtoMessage() {} func (x *AttrItem) ProtoReflect() protoreflect.Message { mi := &file_module_ec_mall_proto_product_proto_msgTypes[0] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use AttrItem.ProtoReflect.Descriptor instead. func (*AttrItem) Descriptor() ([]byte, []int) { return file_module_ec_mall_proto_product_proto_rawDescGZIP(), []int{0} } func (x *AttrItem) GetId() int64 { if x != nil { return x.Id } return 0 } func (x *AttrItem) GetName() string { if x != nil { return x.Name } return "" } func (x *AttrItem) GetParentId() int32 { if x != nil { return x.ParentId } return 0 } func (x *AttrItem) GetValue() string { if x != nil { return x.Value } return "" } // 商品评论 type CommentItem struct { state protoimpl.MessageState `protogen:"open.v1"` Id int64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` //ID Identity string `protobuf:"bytes,2,opt,name=identity,proto3" json:"identity,omitempty"` // 评论唯一标识 CreatedAt string `protobuf:"bytes,3,opt,name=created_at,proto3" json:"created_at,omitempty"` //创建时间 NickName string `protobuf:"bytes,4,opt,name=nick_name,proto3" json:"nick_name,omitempty"` //用户名称 Score int32 `protobuf:"varint,5,opt,name=score,proto3" json:"score,omitempty"` //评分 Comment string `protobuf:"bytes,6,opt,name=comment,proto3" json:"comment,omitempty"` //评论正文 Reply string `protobuf:"bytes,7,opt,name=reply,proto3" json:"reply,omitempty"` //回复正文 ProductIdentity string `protobuf:"bytes,8,opt,name=product_identity,proto3" json:"product_identity,omitempty"` // 所属商品唯一标识 StoreIdentity string `protobuf:"bytes,9,opt,name=store_identity,proto3" json:"store_identity,omitempty"` // 店铺唯一标识 SpecIdentity string `protobuf:"bytes,10,opt,name=spec_identity,proto3" json:"spec_identity,omitempty"` // 产品规格唯一标识 CommentIdentity string `protobuf:"bytes,11,opt,name=comment_identity,proto3" json:"comment_identity,omitempty"` // 被回复的评论唯一标识 Product string `protobuf:"bytes,12,opt,name=product,proto3" json:"product,omitempty"` // 所属商品 ProductSpec string `protobuf:"bytes,13,opt,name=product_spec,proto3" json:"product_spec,omitempty"` // 产品规格 IsComment bool `protobuf:"varint,14,opt,name=is_comment,proto3" json:"is_comment,omitempty"` // 是否是评论 unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *CommentItem) Reset() { *x = CommentItem{} mi := &file_module_ec_mall_proto_product_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *CommentItem) String() string { return protoimpl.X.MessageStringOf(x) } func (*CommentItem) ProtoMessage() {} func (x *CommentItem) ProtoReflect() protoreflect.Message { mi := &file_module_ec_mall_proto_product_proto_msgTypes[1] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use CommentItem.ProtoReflect.Descriptor instead. func (*CommentItem) Descriptor() ([]byte, []int) { return file_module_ec_mall_proto_product_proto_rawDescGZIP(), []int{1} } func (x *CommentItem) GetId() int64 { if x != nil { return x.Id } return 0 } func (x *CommentItem) GetIdentity() string { if x != nil { return x.Identity } return "" } func (x *CommentItem) GetCreatedAt() string { if x != nil { return x.CreatedAt } return "" } func (x *CommentItem) GetNickName() string { if x != nil { return x.NickName } return "" } func (x *CommentItem) GetScore() int32 { if x != nil { return x.Score } return 0 } func (x *CommentItem) GetComment() string { if x != nil { return x.Comment } return "" } func (x *CommentItem) GetReply() string { if x != nil { return x.Reply } return "" } func (x *CommentItem) GetProductIdentity() string { if x != nil { return x.ProductIdentity } return "" } func (x *CommentItem) GetStoreIdentity() string { if x != nil { return x.StoreIdentity } return "" } func (x *CommentItem) GetSpecIdentity() string { if x != nil { return x.SpecIdentity } return "" } func (x *CommentItem) GetCommentIdentity() string { if x != nil { return x.CommentIdentity } return "" } func (x *CommentItem) GetProduct() string { if x != nil { return x.Product } return "" } func (x *CommentItem) GetProductSpec() string { if x != nil { return x.ProductSpec } return "" } func (x *CommentItem) GetIsComment() bool { if x != nil { return x.IsComment } return false } type CommentItemRep struct { state protoimpl.MessageState `protogen:"open.v1"` Id int64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` //ID Identity string `protobuf:"bytes,2,opt,name=identity,proto3" json:"identity,omitempty"` // 评论唯一标识 CreatedAt string `protobuf:"bytes,3,opt,name=created_at,proto3" json:"created_at,omitempty"` //创建时间 NickName string `protobuf:"bytes,4,opt,name=nick_name,proto3" json:"nick_name,omitempty"` //用户名称 Score int32 `protobuf:"varint,5,opt,name=score,proto3" json:"score,omitempty"` //评分 Comment string `protobuf:"bytes,6,opt,name=comment,proto3" json:"comment,omitempty"` //评论正文 Reply string `protobuf:"bytes,7,opt,name=reply,proto3" json:"reply,omitempty"` //回复正文 ProductIdentity string `protobuf:"bytes,8,opt,name=product_identity,proto3" json:"product_identity,omitempty"` // 所属商品唯一标识 StoreIdentity string `protobuf:"bytes,9,opt,name=store_identity,proto3" json:"store_identity,omitempty"` // 店铺唯一标识 SpecIdentity string `protobuf:"bytes,10,opt,name=spec_identity,proto3" json:"spec_identity,omitempty"` // 产品规格唯一标识 CommentIdentity string `protobuf:"bytes,11,opt,name=comment_identity,proto3" json:"comment_identity,omitempty"` // 被回复的评论唯一标识 List []*CommentItem `protobuf:"bytes,12,rep,name=list,proto3" json:"list,omitempty"` // 评论列表 Product string `protobuf:"bytes,13,opt,name=product,proto3" json:"product,omitempty"` // 所属商品 ProductSpec string `protobuf:"bytes,14,opt,name=product_spec,proto3" json:"product_spec,omitempty"` // 产品规格 unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *CommentItemRep) Reset() { *x = CommentItemRep{} mi := &file_module_ec_mall_proto_product_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *CommentItemRep) String() string { return protoimpl.X.MessageStringOf(x) } func (*CommentItemRep) ProtoMessage() {} func (x *CommentItemRep) ProtoReflect() protoreflect.Message { mi := &file_module_ec_mall_proto_product_proto_msgTypes[2] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use CommentItemRep.ProtoReflect.Descriptor instead. func (*CommentItemRep) Descriptor() ([]byte, []int) { return file_module_ec_mall_proto_product_proto_rawDescGZIP(), []int{2} } func (x *CommentItemRep) GetId() int64 { if x != nil { return x.Id } return 0 } func (x *CommentItemRep) GetIdentity() string { if x != nil { return x.Identity } return "" } func (x *CommentItemRep) GetCreatedAt() string { if x != nil { return x.CreatedAt } return "" } func (x *CommentItemRep) GetNickName() string { if x != nil { return x.NickName } return "" } func (x *CommentItemRep) GetScore() int32 { if x != nil { return x.Score } return 0 } func (x *CommentItemRep) GetComment() string { if x != nil { return x.Comment } return "" } func (x *CommentItemRep) GetReply() string { if x != nil { return x.Reply } return "" } func (x *CommentItemRep) GetProductIdentity() string { if x != nil { return x.ProductIdentity } return "" } func (x *CommentItemRep) GetStoreIdentity() string { if x != nil { return x.StoreIdentity } return "" } func (x *CommentItemRep) GetSpecIdentity() string { if x != nil { return x.SpecIdentity } return "" } func (x *CommentItemRep) GetCommentIdentity() string { if x != nil { return x.CommentIdentity } return "" } func (x *CommentItemRep) GetList() []*CommentItem { if x != nil { return x.List } return nil } func (x *CommentItemRep) GetProduct() string { if x != nil { return x.Product } return "" } func (x *CommentItemRep) GetProductSpec() string { if x != nil { return x.ProductSpec } return "" } type DetailBySpecRequest struct { state protoimpl.MessageState `protogen:"open.v1"` SpecNo string `protobuf:"bytes,1,opt,name=spec_no,proto3" json:"spec_no,omitempty"` // 产品规格编号 unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *DetailBySpecRequest) Reset() { *x = DetailBySpecRequest{} mi := &file_module_ec_mall_proto_product_proto_msgTypes[3] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *DetailBySpecRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*DetailBySpecRequest) ProtoMessage() {} func (x *DetailBySpecRequest) ProtoReflect() protoreflect.Message { mi := &file_module_ec_mall_proto_product_proto_msgTypes[3] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use DetailBySpecRequest.ProtoReflect.Descriptor instead. func (*DetailBySpecRequest) Descriptor() ([]byte, []int) { return file_module_ec_mall_proto_product_proto_rawDescGZIP(), []int{3} } func (x *DetailBySpecRequest) GetSpecNo() string { if x != nil { return x.SpecNo } return "" } type OpRequest struct { state protoimpl.MessageState `protogen:"open.v1"` Identity []string `protobuf:"bytes,1,rep,name=identity,proto3" json:"identity,omitempty"` // 需要被禁用的产品唯一标识 Status int32 `protobuf:"varint,2,opt,name=status,proto3" json:"status,omitempty"` // 更新的数据 unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *OpRequest) Reset() { *x = OpRequest{} mi := &file_module_ec_mall_proto_product_proto_msgTypes[4] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *OpRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*OpRequest) ProtoMessage() {} func (x *OpRequest) ProtoReflect() protoreflect.Message { mi := &file_module_ec_mall_proto_product_proto_msgTypes[4] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use OpRequest.ProtoReflect.Descriptor instead. func (*OpRequest) Descriptor() ([]byte, []int) { return file_module_ec_mall_proto_product_proto_rawDescGZIP(), []int{4} } func (x *OpRequest) GetIdentity() []string { if x != nil { return x.Identity } return nil } func (x *OpRequest) GetStatus() int32 { if x != nil { return x.Status } return 0 } type ModifyRequest struct { state protoimpl.MessageState `protogen:"open.v1"` Identity string `protobuf:"bytes,1,opt,name=identity,proto3" json:"identity,omitempty"` // 产品唯一标识 Status int32 `protobuf:"varint,2,opt,name=status,proto3" json:"status,omitempty"` // 商品状态:1-已上架,2-自动上架等待中(禁止web手动传入),3-禁用 ,4-草稿,5-未上架 unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *ModifyRequest) Reset() { *x = ModifyRequest{} mi := &file_module_ec_mall_proto_product_proto_msgTypes[5] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *ModifyRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*ModifyRequest) ProtoMessage() {} func (x *ModifyRequest) ProtoReflect() protoreflect.Message { mi := &file_module_ec_mall_proto_product_proto_msgTypes[5] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ModifyRequest.ProtoReflect.Descriptor instead. func (*ModifyRequest) Descriptor() ([]byte, []int) { return file_module_ec_mall_proto_product_proto_rawDescGZIP(), []int{5} } func (x *ModifyRequest) GetIdentity() string { if x != nil { return x.Identity } return "" } func (x *ModifyRequest) GetStatus() int32 { if x != nil { return x.Status } return 0 } type ListItem struct { state protoimpl.MessageState `protogen:"open.v1"` ProductId int64 `protobuf:"varint,2,opt,name=product_id,proto3" json:"product_id,omitempty"` // 产品id Product string `protobuf:"bytes,3,opt,name=product,proto3" json:"product,omitempty"` // 产品名称 SpecId int64 `protobuf:"varint,4,opt,name=spec_id,proto3" json:"spec_id,omitempty"` // 规格id Spec string `protobuf:"bytes,5,opt,name=spec,proto3" json:"spec,omitempty"` // 规格名称 SpecNo string `protobuf:"bytes,6,opt,name=spec_no,proto3" json:"spec_no,omitempty"` // 规格编号 Price int64 `protobuf:"varint,7,opt,name=price,proto3" json:"price,omitempty"` // 单价,单位分 Count int64 `protobuf:"varint,8,opt,name=count,proto3" json:"count,omitempty"` // 数量 Img string `protobuf:"bytes,9,opt,name=img,proto3" json:"img,omitempty"` // 产品图片 ProductIdentity string `protobuf:"bytes,10,opt,name=product_identity,proto3" json:"product_identity,omitempty"` // 产品唯一标识 SerialId string `protobuf:"bytes,11,opt,name=serial_id,proto3" json:"serial_id,omitempty"` // 产品序号 unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *ListItem) Reset() { *x = ListItem{} mi := &file_module_ec_mall_proto_product_proto_msgTypes[6] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *ListItem) String() string { return protoimpl.X.MessageStringOf(x) } func (*ListItem) ProtoMessage() {} func (x *ListItem) ProtoReflect() protoreflect.Message { mi := &file_module_ec_mall_proto_product_proto_msgTypes[6] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ListItem.ProtoReflect.Descriptor instead. func (*ListItem) Descriptor() ([]byte, []int) { return file_module_ec_mall_proto_product_proto_rawDescGZIP(), []int{6} } func (x *ListItem) GetProductId() int64 { if x != nil { return x.ProductId } return 0 } func (x *ListItem) GetProduct() string { if x != nil { return x.Product } return "" } func (x *ListItem) GetSpecId() int64 { if x != nil { return x.SpecId } return 0 } func (x *ListItem) GetSpec() string { if x != nil { return x.Spec } return "" } func (x *ListItem) GetSpecNo() string { if x != nil { return x.SpecNo } return "" } func (x *ListItem) GetPrice() int64 { if x != nil { return x.Price } return 0 } func (x *ListItem) GetCount() int64 { if x != nil { return x.Count } return 0 } func (x *ListItem) GetImg() string { if x != nil { return x.Img } return "" } func (x *ListItem) GetProductIdentity() string { if x != nil { return x.ProductIdentity } return "" } func (x *ListItem) GetSerialId() string { if x != nil { return x.SerialId } return "" } type ListWithIdRequest struct { state protoimpl.MessageState `protogen:"open.v1"` Id []int64 `protobuf:"varint,1,rep,packed,name=id,proto3" json:"id,omitempty"` // specId列表 unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *ListWithIdRequest) Reset() { *x = ListWithIdRequest{} mi := &file_module_ec_mall_proto_product_proto_msgTypes[7] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *ListWithIdRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*ListWithIdRequest) ProtoMessage() {} func (x *ListWithIdRequest) ProtoReflect() protoreflect.Message { mi := &file_module_ec_mall_proto_product_proto_msgTypes[7] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ListWithIdRequest.ProtoReflect.Descriptor instead. func (*ListWithIdRequest) Descriptor() ([]byte, []int) { return file_module_ec_mall_proto_product_proto_rawDescGZIP(), []int{7} } func (x *ListWithIdRequest) GetId() []int64 { if x != nil { return x.Id } return nil } type ListWithIdReply struct { state protoimpl.MessageState `protogen:"open.v1"` Data []*ListItem `protobuf:"bytes,1,rep,name=data,proto3" json:"data,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *ListWithIdReply) Reset() { *x = ListWithIdReply{} mi := &file_module_ec_mall_proto_product_proto_msgTypes[8] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *ListWithIdReply) String() string { return protoimpl.X.MessageStringOf(x) } func (*ListWithIdReply) ProtoMessage() {} func (x *ListWithIdReply) ProtoReflect() protoreflect.Message { mi := &file_module_ec_mall_proto_product_proto_msgTypes[8] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ListWithIdReply.ProtoReflect.Descriptor instead. func (*ListWithIdReply) Descriptor() ([]byte, []int) { return file_module_ec_mall_proto_product_proto_rawDescGZIP(), []int{8} } func (x *ListWithIdReply) GetData() []*ListItem { if x != nil { return x.Data } return nil } // ---- Reply 部分 type PhotoReply struct { state protoimpl.MessageState `protogen:"open.v1"` Count int64 `protobuf:"varint,1,opt,name=count,proto3" json:"count,omitempty"` Data []*PhotoItem `protobuf:"bytes,2,rep,name=data,proto3" json:"data,omitempty"` // unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *PhotoReply) Reset() { *x = PhotoReply{} mi := &file_module_ec_mall_proto_product_proto_msgTypes[9] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *PhotoReply) String() string { return protoimpl.X.MessageStringOf(x) } func (*PhotoReply) ProtoMessage() {} func (x *PhotoReply) ProtoReflect() protoreflect.Message { mi := &file_module_ec_mall_proto_product_proto_msgTypes[9] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use PhotoReply.ProtoReflect.Descriptor instead. func (*PhotoReply) Descriptor() ([]byte, []int) { return file_module_ec_mall_proto_product_proto_rawDescGZIP(), []int{9} } func (x *PhotoReply) GetCount() int64 { if x != nil { return x.Count } return 0 } func (x *PhotoReply) GetData() []*PhotoItem { if x != nil { return x.Data } return nil } type SpecReply struct { state protoimpl.MessageState `protogen:"open.v1"` Count int64 `protobuf:"varint,1,opt,name=count,proto3" json:"count,omitempty"` Data []*SpecItem `protobuf:"bytes,2,rep,name=data,proto3" json:"data,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *SpecReply) Reset() { *x = SpecReply{} mi := &file_module_ec_mall_proto_product_proto_msgTypes[10] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *SpecReply) String() string { return protoimpl.X.MessageStringOf(x) } func (*SpecReply) ProtoMessage() {} func (x *SpecReply) ProtoReflect() protoreflect.Message { mi := &file_module_ec_mall_proto_product_proto_msgTypes[10] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use SpecReply.ProtoReflect.Descriptor instead. func (*SpecReply) Descriptor() ([]byte, []int) { return file_module_ec_mall_proto_product_proto_rawDescGZIP(), []int{10} } func (x *SpecReply) GetCount() int64 { if x != nil { return x.Count } return 0 } func (x *SpecReply) GetData() []*SpecItem { if x != nil { return x.Data } return nil } type CommentListReply struct { state protoimpl.MessageState `protogen:"open.v1"` Count int64 `protobuf:"varint,1,opt,name=count,proto3" json:"count,omitempty"` // 数量 Data []*CommentItemRep `protobuf:"bytes,2,rep,name=data,proto3" json:"data,omitempty"` //评论列表 unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *CommentListReply) Reset() { *x = CommentListReply{} mi := &file_module_ec_mall_proto_product_proto_msgTypes[11] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *CommentListReply) String() string { return protoimpl.X.MessageStringOf(x) } func (*CommentListReply) ProtoMessage() {} func (x *CommentListReply) ProtoReflect() protoreflect.Message { mi := &file_module_ec_mall_proto_product_proto_msgTypes[11] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use CommentListReply.ProtoReflect.Descriptor instead. func (*CommentListReply) Descriptor() ([]byte, []int) { return file_module_ec_mall_proto_product_proto_rawDescGZIP(), []int{11} } func (x *CommentListReply) GetCount() int64 { if x != nil { return x.Count } return 0 } func (x *CommentListReply) GetData() []*CommentItemRep { if x != nil { return x.Data } return nil } type StatisticReply struct { state protoimpl.MessageState `protogen:"open.v1"` Total int64 `protobuf:"varint,1,opt,name=total,proto3" json:"total,omitempty"` // 当前产品总数 Selling int64 `protobuf:"varint,2,opt,name=selling,proto3" json:"selling,omitempty"` // 在售数量 Forbidden int64 `protobuf:"varint,3,opt,name=forbidden,proto3" json:"forbidden,omitempty"` // 禁用数量 Draft int64 `protobuf:"varint,4,opt,name=draft,proto3" json:"draft,omitempty"` // 草稿数量 unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *StatisticReply) Reset() { *x = StatisticReply{} mi := &file_module_ec_mall_proto_product_proto_msgTypes[12] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *StatisticReply) String() string { return protoimpl.X.MessageStringOf(x) } func (*StatisticReply) ProtoMessage() {} func (x *StatisticReply) ProtoReflect() protoreflect.Message { mi := &file_module_ec_mall_proto_product_proto_msgTypes[12] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use StatisticReply.ProtoReflect.Descriptor instead. func (*StatisticReply) Descriptor() ([]byte, []int) { return file_module_ec_mall_proto_product_proto_rawDescGZIP(), []int{12} } func (x *StatisticReply) GetTotal() int64 { if x != nil { return x.Total } return 0 } func (x *StatisticReply) GetSelling() int64 { if x != nil { return x.Selling } return 0 } func (x *StatisticReply) GetForbidden() int64 { if x != nil { return x.Forbidden } return 0 } func (x *StatisticReply) GetDraft() int64 { if x != nil { return x.Draft } return 0 } type OrgBySpecIdReply struct { state protoimpl.MessageState `protogen:"open.v1"` Id int64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` // 机构id Identity string `protobuf:"bytes,2,opt,name=identity,proto3" json:"identity,omitempty"` // 店铺唯一标识 Title string `protobuf:"bytes,3,opt,name=title,proto3" json:"title,omitempty"` // 机构名称 unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *OrgBySpecIdReply) Reset() { *x = OrgBySpecIdReply{} mi := &file_module_ec_mall_proto_product_proto_msgTypes[13] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *OrgBySpecIdReply) String() string { return protoimpl.X.MessageStringOf(x) } func (*OrgBySpecIdReply) ProtoMessage() {} func (x *OrgBySpecIdReply) ProtoReflect() protoreflect.Message { mi := &file_module_ec_mall_proto_product_proto_msgTypes[13] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use OrgBySpecIdReply.ProtoReflect.Descriptor instead. func (*OrgBySpecIdReply) Descriptor() ([]byte, []int) { return file_module_ec_mall_proto_product_proto_rawDescGZIP(), []int{13} } func (x *OrgBySpecIdReply) GetId() int64 { if x != nil { return x.Id } return 0 } func (x *OrgBySpecIdReply) GetIdentity() string { if x != nil { return x.Identity } return "" } func (x *OrgBySpecIdReply) GetTitle() string { if x != nil { return x.Title } return "" } // 备用的产品附加信息 type Subjoin struct { state protoimpl.MessageState `protogen:"open.v1"` CategoryPaths string `protobuf:"bytes,1,opt,name=category_paths,proto3" json:"category_paths,omitempty"` //分类路径 SubTitle string `protobuf:"bytes,2,opt,name=sub_title,proto3" json:"sub_title,omitempty"` //商品标题 Keyword string `protobuf:"bytes,3,opt,name=keyword,proto3" json:"keyword,omitempty"` //商品关键字 Stock int32 `protobuf:"varint,4,opt,name=stock,proto3" json:"stock,omitempty"` //库存 SalesPrice int64 `protobuf:"varint,5,opt,name=sales_price,proto3" json:"sales_price,omitempty"` //销售价 Args string `protobuf:"bytes,6,opt,name=args,proto3" json:"args,omitempty"` //商品相关参数JSON CommentTotal int32 `protobuf:"varint,7,opt,name=comment_total,proto3" json:"comment_total,omitempty"` //评论总数 SaleTotal int32 `protobuf:"varint,8,opt,name=sale_total,proto3" json:"sale_total,omitempty"` //销售总数 ViewTotal int32 `protobuf:"varint,9,opt,name=view_total,proto3" json:"view_total,omitempty"` //查看总数 ImageTotal int32 `protobuf:"varint,10,opt,name=image_total,proto3" json:"image_total,omitempty"` //图片总数 Recommend int32 `protobuf:"varint,11,opt,name=recommend,proto3" json:"recommend,omitempty"` //推荐码:0不推荐,1推荐的状态 Sort int32 `protobuf:"varint,12,opt,name=sort,proto3" json:"sort,omitempty"` //排序 Types int32 `protobuf:"varint,13,opt,name=types,proto3" json:"types,omitempty"` //商品类型:Product=1 实体商品,Service=2 服务,Membership=3 会员服务,Other=4 其它 Star int64 `protobuf:"varint,14,opt,name=star,proto3" json:"star,omitempty"` //商品星级 unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *Subjoin) Reset() { *x = Subjoin{} mi := &file_module_ec_mall_proto_product_proto_msgTypes[14] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *Subjoin) String() string { return protoimpl.X.MessageStringOf(x) } func (*Subjoin) ProtoMessage() {} func (x *Subjoin) ProtoReflect() protoreflect.Message { mi := &file_module_ec_mall_proto_product_proto_msgTypes[14] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Subjoin.ProtoReflect.Descriptor instead. func (*Subjoin) Descriptor() ([]byte, []int) { return file_module_ec_mall_proto_product_proto_rawDescGZIP(), []int{14} } func (x *Subjoin) GetCategoryPaths() string { if x != nil { return x.CategoryPaths } return "" } func (x *Subjoin) GetSubTitle() string { if x != nil { return x.SubTitle } return "" } func (x *Subjoin) GetKeyword() string { if x != nil { return x.Keyword } return "" } func (x *Subjoin) GetStock() int32 { if x != nil { return x.Stock } return 0 } func (x *Subjoin) GetSalesPrice() int64 { if x != nil { return x.SalesPrice } return 0 } func (x *Subjoin) GetArgs() string { if x != nil { return x.Args } return "" } func (x *Subjoin) GetCommentTotal() int32 { if x != nil { return x.CommentTotal } return 0 } func (x *Subjoin) GetSaleTotal() int32 { if x != nil { return x.SaleTotal } return 0 } func (x *Subjoin) GetViewTotal() int32 { if x != nil { return x.ViewTotal } return 0 } func (x *Subjoin) GetImageTotal() int32 { if x != nil { return x.ImageTotal } return 0 } func (x *Subjoin) GetRecommend() int32 { if x != nil { return x.Recommend } return 0 } func (x *Subjoin) GetSort() int32 { if x != nil { return x.Sort } return 0 } func (x *Subjoin) GetTypes() int32 { if x != nil { return x.Types } return 0 } func (x *Subjoin) GetStar() int64 { if x != nil { return x.Star } return 0 } type ListReply struct { state protoimpl.MessageState `protogen:"open.v1"` Count int64 `protobuf:"varint,1,opt,name=count,proto3" json:"count,omitempty"` // 数量 Data []*ProductItem `protobuf:"bytes,2,rep,name=data,proto3" json:"data,omitempty"` // 产品列表 unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *ListReply) Reset() { *x = ListReply{} mi := &file_module_ec_mall_proto_product_proto_msgTypes[15] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *ListReply) String() string { return protoimpl.X.MessageStringOf(x) } func (*ListReply) ProtoMessage() {} func (x *ListReply) ProtoReflect() protoreflect.Message { mi := &file_module_ec_mall_proto_product_proto_msgTypes[15] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ListReply.ProtoReflect.Descriptor instead. func (*ListReply) Descriptor() ([]byte, []int) { return file_module_ec_mall_proto_product_proto_rawDescGZIP(), []int{15} } func (x *ListReply) GetCount() int64 { if x != nil { return x.Count } return 0 } func (x *ListReply) GetData() []*ProductItem { if x != nil { return x.Data } return nil } type ProductBase struct { state protoimpl.MessageState `protogen:"open.v1"` Id int64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` //商品ID Identity string `protobuf:"bytes,2,opt,name=identity,proto3" json:"identity,omitempty"` //商品唯一码 SupplyId int64 `protobuf:"varint,4,opt,name=supply_id,proto3" json:"supply_id,omitempty"` //供应商ID CategoryId int64 `protobuf:"varint,6,opt,name=category_id,proto3" json:"category_id,omitempty"` //分类ID Title string `protobuf:"bytes,8,opt,name=title,proto3" json:"title,omitempty"` //商品标题 MeasuringName string `protobuf:"bytes,99,opt,name=measuring_name,proto3" json:"measuring_name,omitempty"` // 测量单位名称 SellMax int64 `protobuf:"varint,97,opt,name=sell_max,proto3" json:"sell_max,omitempty"` // 最大限购数量 SellMin int64 `protobuf:"varint,96,opt,name=sell_min,proto3" json:"sell_min,omitempty"` // 最小限购数量 Wastage int64 `protobuf:"varint,95,opt,name=wastage,proto3" json:"wastage,omitempty"` // 损耗率 StandardNumber string `protobuf:"bytes,94,opt,name=standard_number,proto3" json:"standard_number,omitempty"` // 产品标准号 Brand string `protobuf:"bytes,93,opt,name=brand,proto3" json:"brand,omitempty"` // 品牌名称 StockType int64 `protobuf:"varint,92,opt,name=stock_type,proto3" json:"stock_type,omitempty"` // 库存计数方式:1-买方下单减库存,2-完成签约减库存 Status int32 `protobuf:"varint,91,opt,name=status,proto3" json:"status,omitempty"` // 商品状态:0-未上架,1-已上架,2-自动上架等待中,3-禁用 ,4-草稿 PutawayTime string `protobuf:"bytes,90,opt,name=putaway_time,proto3" json:"putaway_time,omitempty"` // 预定的上架时间 YYYY-MM-DD HH:mm:ss CoverImage string `protobuf:"bytes,11,opt,name=cover_image,proto3" json:"cover_image,omitempty"` //商品封面图片 Images []string `protobuf:"bytes,24,rep,name=images,proto3" json:"images,omitempty"` // 产品图片 Content string `protobuf:"bytes,14,opt,name=content,proto3" json:"content,omitempty"` //商品详情 SerialId string `protobuf:"bytes,15,opt,name=serial_id,proto3" json:"serial_id,omitempty"` // 产品序号 unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *ProductBase) Reset() { *x = ProductBase{} mi := &file_module_ec_mall_proto_product_proto_msgTypes[16] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *ProductBase) String() string { return protoimpl.X.MessageStringOf(x) } func (*ProductBase) ProtoMessage() {} func (x *ProductBase) ProtoReflect() protoreflect.Message { mi := &file_module_ec_mall_proto_product_proto_msgTypes[16] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ProductBase.ProtoReflect.Descriptor instead. func (*ProductBase) Descriptor() ([]byte, []int) { return file_module_ec_mall_proto_product_proto_rawDescGZIP(), []int{16} } func (x *ProductBase) GetId() int64 { if x != nil { return x.Id } return 0 } func (x *ProductBase) GetIdentity() string { if x != nil { return x.Identity } return "" } func (x *ProductBase) GetSupplyId() int64 { if x != nil { return x.SupplyId } return 0 } func (x *ProductBase) GetCategoryId() int64 { if x != nil { return x.CategoryId } return 0 } func (x *ProductBase) GetTitle() string { if x != nil { return x.Title } return "" } func (x *ProductBase) GetMeasuringName() string { if x != nil { return x.MeasuringName } return "" } func (x *ProductBase) GetSellMax() int64 { if x != nil { return x.SellMax } return 0 } func (x *ProductBase) GetSellMin() int64 { if x != nil { return x.SellMin } return 0 } func (x *ProductBase) GetWastage() int64 { if x != nil { return x.Wastage } return 0 } func (x *ProductBase) GetStandardNumber() string { if x != nil { return x.StandardNumber } return "" } func (x *ProductBase) GetBrand() string { if x != nil { return x.Brand } return "" } func (x *ProductBase) GetStockType() int64 { if x != nil { return x.StockType } return 0 } func (x *ProductBase) GetStatus() int32 { if x != nil { return x.Status } return 0 } func (x *ProductBase) GetPutawayTime() string { if x != nil { return x.PutawayTime } return "" } func (x *ProductBase) GetCoverImage() string { if x != nil { return x.CoverImage } return "" } func (x *ProductBase) GetImages() []string { if x != nil { return x.Images } return nil } func (x *ProductBase) GetContent() string { if x != nil { return x.Content } return "" } func (x *ProductBase) GetSerialId() string { if x != nil { return x.SerialId } return "" } type SpecItem struct { state protoimpl.MessageState `protogen:"open.v1"` Id int64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` // Identity string `protobuf:"bytes,2,opt,name=identity,proto3" json:"identity,omitempty"` // 唯一标识 SupplyId int64 `protobuf:"varint,3,opt,name=supply_id,proto3" json:"supply_id,omitempty"` //供应商ID ProductIdentity string `protobuf:"bytes,4,opt,name=product_identity,proto3" json:"product_identity,omitempty"` // 产品唯一标识 StoreIdentity string `protobuf:"bytes,5,opt,name=store_identity,proto3" json:"store_identity,omitempty"` // 店铺唯一标识 Title string `protobuf:"bytes,6,opt,name=title,proto3" json:"title,omitempty"` // 名称 StockType int32 `protobuf:"varint,7,opt,name=stock_type,proto3" json:"stock_type,omitempty"` // 库存设置:1-设置库存限制,2-不设置库存限制 Stock int64 `protobuf:"varint,8,opt,name=stock,proto3" json:"stock,omitempty"` // 库存数量 Price int64 `protobuf:"varint,9,opt,name=price,proto3" json:"price,omitempty"` // 价格,单位:分 DirectSales int64 `protobuf:"varint,10,opt,name=direct_sales,proto3" json:"direct_sales,omitempty"` // 直营价格,单位:分 TpType int32 `protobuf:"varint,11,opt,name=tp_type,proto3" json:"tp_type,omitempty"` // 阶梯价设置:1-启用,2-不启用 DsTpType int32 `protobuf:"varint,12,opt,name=ds_tp_type,proto3" json:"ds_tp_type,omitempty"` // 直营阶梯价设置:1-启用,2-不启用 Img string `protobuf:"bytes,13,opt,name=img,proto3" json:"img,omitempty"` // 预览图 SpecNo string `protobuf:"bytes,14,opt,name=spec_no,proto3" json:"spec_no,omitempty"` // 规格编号 Keyword string `protobuf:"bytes,15,opt,name=keyword,proto3" json:"keyword,omitempty"` // 关键字 PurchasingPrice int64 `protobuf:"varint,16,opt,name=purchasing_price,proto3" json:"purchasing_price,omitempty"` // 进口价格,单位:分 Wholesale int64 `protobuf:"varint,17,opt,name=wholesale,proto3" json:"wholesale,omitempty"` // 代理价,单位:分 unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *SpecItem) Reset() { *x = SpecItem{} mi := &file_module_ec_mall_proto_product_proto_msgTypes[17] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *SpecItem) String() string { return protoimpl.X.MessageStringOf(x) } func (*SpecItem) ProtoMessage() {} func (x *SpecItem) ProtoReflect() protoreflect.Message { mi := &file_module_ec_mall_proto_product_proto_msgTypes[17] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use SpecItem.ProtoReflect.Descriptor instead. func (*SpecItem) Descriptor() ([]byte, []int) { return file_module_ec_mall_proto_product_proto_rawDescGZIP(), []int{17} } func (x *SpecItem) GetId() int64 { if x != nil { return x.Id } return 0 } func (x *SpecItem) GetIdentity() string { if x != nil { return x.Identity } return "" } func (x *SpecItem) GetSupplyId() int64 { if x != nil { return x.SupplyId } return 0 } func (x *SpecItem) GetProductIdentity() string { if x != nil { return x.ProductIdentity } return "" } func (x *SpecItem) GetStoreIdentity() string { if x != nil { return x.StoreIdentity } return "" } func (x *SpecItem) GetTitle() string { if x != nil { return x.Title } return "" } func (x *SpecItem) GetStockType() int32 { if x != nil { return x.StockType } return 0 } func (x *SpecItem) GetStock() int64 { if x != nil { return x.Stock } return 0 } func (x *SpecItem) GetPrice() int64 { if x != nil { return x.Price } return 0 } func (x *SpecItem) GetDirectSales() int64 { if x != nil { return x.DirectSales } return 0 } func (x *SpecItem) GetTpType() int32 { if x != nil { return x.TpType } return 0 } func (x *SpecItem) GetDsTpType() int32 { if x != nil { return x.DsTpType } return 0 } func (x *SpecItem) GetImg() string { if x != nil { return x.Img } return "" } func (x *SpecItem) GetSpecNo() string { if x != nil { return x.SpecNo } return "" } func (x *SpecItem) GetKeyword() string { if x != nil { return x.Keyword } return "" } func (x *SpecItem) GetPurchasingPrice() int64 { if x != nil { return x.PurchasingPrice } return 0 } func (x *SpecItem) GetWholesale() int64 { if x != nil { return x.Wholesale } return 0 } type PhotoItem struct { state protoimpl.MessageState `protogen:"open.v1"` Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // 图片名称 Identity string `protobuf:"bytes,2,opt,name=identity,proto3" json:"identity,omitempty"` // 图片唯一标识 ProductIdentity string `protobuf:"bytes,3,opt,name=product_identity,proto3" json:"product_identity,omitempty"` // 所属产品唯一标识 Url string `protobuf:"bytes,4,opt,name=url,proto3" json:"url,omitempty"` // 图片地址 Sort int32 `protobuf:"varint,5,opt,name=sort,proto3" json:"sort,omitempty"` // 排序方式 Types string `protobuf:"bytes,6,opt,name=types,proto3" json:"types,omitempty"` // cover封面,img普通图片 Id int64 `protobuf:"varint,7,opt,name=id,proto3" json:"id,omitempty"` // 图片id unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *PhotoItem) Reset() { *x = PhotoItem{} mi := &file_module_ec_mall_proto_product_proto_msgTypes[18] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *PhotoItem) String() string { return protoimpl.X.MessageStringOf(x) } func (*PhotoItem) ProtoMessage() {} func (x *PhotoItem) ProtoReflect() protoreflect.Message { mi := &file_module_ec_mall_proto_product_proto_msgTypes[18] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use PhotoItem.ProtoReflect.Descriptor instead. func (*PhotoItem) Descriptor() ([]byte, []int) { return file_module_ec_mall_proto_product_proto_rawDescGZIP(), []int{18} } func (x *PhotoItem) GetName() string { if x != nil { return x.Name } return "" } func (x *PhotoItem) GetIdentity() string { if x != nil { return x.Identity } return "" } func (x *PhotoItem) GetProductIdentity() string { if x != nil { return x.ProductIdentity } return "" } func (x *PhotoItem) GetUrl() string { if x != nil { return x.Url } return "" } func (x *PhotoItem) GetSort() int32 { if x != nil { return x.Sort } return 0 } func (x *PhotoItem) GetTypes() string { if x != nil { return x.Types } return "" } func (x *PhotoItem) GetId() int64 { if x != nil { return x.Id } return 0 } type CategoriesItem struct { state protoimpl.MessageState `protogen:"open.v1"` Id int64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` //ID Identity string `protobuf:"bytes,2,opt,name=identity,proto3" json:"identity,omitempty"` Title string `protobuf:"bytes,3,opt,name=title,proto3" json:"title,omitempty"` //名称 EnTitle string `protobuf:"bytes,4,opt,name=en_title,proto3" json:"en_title,omitempty"` //英文名称 ParentId int64 `protobuf:"varint,5,opt,name=parent_id,proto3" json:"parent_id,omitempty"` //上级ID Paths string `protobuf:"bytes,6,opt,name=paths,proto3" json:"paths,omitempty"` //路径 Intro string `protobuf:"bytes,7,opt,name=intro,proto3" json:"intro,omitempty"` //简介 Icon string `protobuf:"bytes,8,opt,name=icon,proto3" json:"icon,omitempty"` //图标 Sort int32 `protobuf:"varint,9,opt,name=sort,proto3" json:"sort,omitempty"` //排序 Status int32 `protobuf:"varint,10,opt,name=status,proto3" json:"status,omitempty"` // 状态:1-正常,2停用 CreatedAt string `protobuf:"bytes,11,opt,name=created_at,proto3" json:"created_at,omitempty"` // 创建时间 Categories []*CategoriesItem `protobuf:"bytes,12,rep,name=categories,proto3" json:"categories,omitempty"` // 子集 Keys string `protobuf:"bytes,13,opt,name=keys,proto3" json:"keys,omitempty"` //关键词 unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *CategoriesItem) Reset() { *x = CategoriesItem{} mi := &file_module_ec_mall_proto_product_proto_msgTypes[19] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *CategoriesItem) String() string { return protoimpl.X.MessageStringOf(x) } func (*CategoriesItem) ProtoMessage() {} func (x *CategoriesItem) ProtoReflect() protoreflect.Message { mi := &file_module_ec_mall_proto_product_proto_msgTypes[19] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use CategoriesItem.ProtoReflect.Descriptor instead. func (*CategoriesItem) Descriptor() ([]byte, []int) { return file_module_ec_mall_proto_product_proto_rawDescGZIP(), []int{19} } func (x *CategoriesItem) GetId() int64 { if x != nil { return x.Id } return 0 } func (x *CategoriesItem) GetIdentity() string { if x != nil { return x.Identity } return "" } func (x *CategoriesItem) GetTitle() string { if x != nil { return x.Title } return "" } func (x *CategoriesItem) GetEnTitle() string { if x != nil { return x.EnTitle } return "" } func (x *CategoriesItem) GetParentId() int64 { if x != nil { return x.ParentId } return 0 } func (x *CategoriesItem) GetPaths() string { if x != nil { return x.Paths } return "" } func (x *CategoriesItem) GetIntro() string { if x != nil { return x.Intro } return "" } func (x *CategoriesItem) GetIcon() string { if x != nil { return x.Icon } return "" } func (x *CategoriesItem) GetSort() int32 { if x != nil { return x.Sort } return 0 } func (x *CategoriesItem) GetStatus() int32 { if x != nil { return x.Status } return 0 } func (x *CategoriesItem) GetCreatedAt() string { if x != nil { return x.CreatedAt } return "" } func (x *CategoriesItem) GetCategories() []*CategoriesItem { if x != nil { return x.Categories } return nil } func (x *CategoriesItem) GetKeys() string { if x != nil { return x.Keys } return "" } type ProductItem struct { state protoimpl.MessageState `protogen:"open.v1"` Id int64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` //商品ID Identity string `protobuf:"bytes,2,opt,name=identity,proto3" json:"identity,omitempty"` //商品唯一码 SupplyId int64 `protobuf:"varint,3,opt,name=supply_id,proto3" json:"supply_id,omitempty"` //供应商ID CategoryId []int64 `protobuf:"varint,4,rep,packed,name=category_id,proto3" json:"category_id,omitempty"` //分类ID Title string `protobuf:"bytes,5,opt,name=title,proto3" json:"title,omitempty"` //商品标题 MeasuringName string `protobuf:"bytes,6,opt,name=measuring_name,proto3" json:"measuring_name,omitempty"` // 测量单位名称 SellMax int64 `protobuf:"varint,7,opt,name=sell_max,proto3" json:"sell_max,omitempty"` // 最大限购数量 SellMin int64 `protobuf:"varint,8,opt,name=sell_min,proto3" json:"sell_min,omitempty"` // 最小限购数量 Wastage int64 `protobuf:"varint,9,opt,name=wastage,proto3" json:"wastage,omitempty"` // 损耗率 StandardNumber string `protobuf:"bytes,10,opt,name=standard_number,proto3" json:"standard_number,omitempty"` // 产品标准号 Brand string `protobuf:"bytes,11,opt,name=brand,proto3" json:"brand,omitempty"` // 品牌名称 StockType int64 `protobuf:"varint,12,opt,name=stock_type,proto3" json:"stock_type,omitempty"` // 库存计数方式:1-买方下单减库存,2-完成签约减库存 Status int32 `protobuf:"varint,13,opt,name=status,proto3" json:"status,omitempty"` // 商品状态:1-已上架,2-自动上架等待中,3-禁用 ,4-草稿,5-未上架 PutawayTime string `protobuf:"bytes,14,opt,name=putaway_time,proto3" json:"putaway_time,omitempty"` // 预定的上架时间 YYYY-MM-DD HH:mm:ss CoverImage string `protobuf:"bytes,15,opt,name=cover_image,proto3" json:"cover_image,omitempty"` //商品封面图片 Content string `protobuf:"bytes,16,opt,name=content,proto3" json:"content,omitempty"` //商品详情 StoreId int64 `protobuf:"varint,17,opt,name=store_id,proto3" json:"store_id,omitempty"` // 店铺的ID StoreIdentity string `protobuf:"bytes,18,opt,name=store_identity,proto3" json:"store_identity,omitempty"` // 店铺唯一标识 TemplateId int32 `protobuf:"varint,19,opt,name=template_id,proto3" json:"template_id,omitempty"` // 运费模板id Note string `protobuf:"bytes,20,opt,name=note,proto3" json:"note,omitempty"` // 备注 Images []*PhotoItem `protobuf:"bytes,21,rep,name=images,proto3" json:"images,omitempty"` // 产品图片 Specification []*SpecItem `protobuf:"bytes,22,rep,name=specification,proto3" json:"specification,omitempty"` // 产品规格信息 RecentNumber int64 `protobuf:"varint,23,opt,name=recent_number,proto3" json:"recent_number,omitempty"` // 近期销售数量 SaleTotal int64 `protobuf:"varint,24,opt,name=sale_total,proto3" json:"sale_total,omitempty"` // 销售总数量 CreatedAt string `protobuf:"bytes,25,opt,name=created_at,proto3" json:"created_at,omitempty"` // 创建时间 Limitation int64 `protobuf:"varint,26,opt,name=limitation,proto3" json:"limitation,omitempty"` // 区域限制:1不限制,2限制 LiTemplateId int64 `protobuf:"varint,27,opt,name=liTemplate_id,proto3" json:"liTemplate_id,omitempty"` // 区域限制的模板id Price int64 `protobuf:"varint,28,opt,name=price,proto3" json:"price,omitempty"` // 售价(选择价格最低的规格数据) Stock int64 `protobuf:"varint,29,opt,name=stock,proto3" json:"stock,omitempty"` // 库存(选择价格最低的规格数据) Category string `protobuf:"bytes,30,opt,name=category,proto3" json:"category,omitempty"` // 分类名称 SerialId string `protobuf:"bytes,31,opt,name=serial_id,proto3" json:"serial_id,omitempty"` // 产品序号 GasTypes int64 `protobuf:"varint,32,opt,name=gas_types,proto3" json:"gas_types,omitempty"` // 产品分类2:1查看非燃气商品;2按瓶计算的产品;3按kg计算的产品 SpecId []int64 `protobuf:"varint,33,rep,packed,name=spec_id,proto3" json:"spec_id,omitempty"` // 规格ID Categories []*CategoriesItem `protobuf:"bytes,34,rep,name=categories,proto3" json:"categories,omitempty"` // 分类 SupplyName string `protobuf:"bytes,35,opt,name=supply_name,proto3" json:"supply_name,omitempty"` // 供应商名称 unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *ProductItem) Reset() { *x = ProductItem{} mi := &file_module_ec_mall_proto_product_proto_msgTypes[20] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *ProductItem) String() string { return protoimpl.X.MessageStringOf(x) } func (*ProductItem) ProtoMessage() {} func (x *ProductItem) ProtoReflect() protoreflect.Message { mi := &file_module_ec_mall_proto_product_proto_msgTypes[20] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ProductItem.ProtoReflect.Descriptor instead. func (*ProductItem) Descriptor() ([]byte, []int) { return file_module_ec_mall_proto_product_proto_rawDescGZIP(), []int{20} } func (x *ProductItem) GetId() int64 { if x != nil { return x.Id } return 0 } func (x *ProductItem) GetIdentity() string { if x != nil { return x.Identity } return "" } func (x *ProductItem) GetSupplyId() int64 { if x != nil { return x.SupplyId } return 0 } func (x *ProductItem) GetCategoryId() []int64 { if x != nil { return x.CategoryId } return nil } func (x *ProductItem) GetTitle() string { if x != nil { return x.Title } return "" } func (x *ProductItem) GetMeasuringName() string { if x != nil { return x.MeasuringName } return "" } func (x *ProductItem) GetSellMax() int64 { if x != nil { return x.SellMax } return 0 } func (x *ProductItem) GetSellMin() int64 { if x != nil { return x.SellMin } return 0 } func (x *ProductItem) GetWastage() int64 { if x != nil { return x.Wastage } return 0 } func (x *ProductItem) GetStandardNumber() string { if x != nil { return x.StandardNumber } return "" } func (x *ProductItem) GetBrand() string { if x != nil { return x.Brand } return "" } func (x *ProductItem) GetStockType() int64 { if x != nil { return x.StockType } return 0 } func (x *ProductItem) GetStatus() int32 { if x != nil { return x.Status } return 0 } func (x *ProductItem) GetPutawayTime() string { if x != nil { return x.PutawayTime } return "" } func (x *ProductItem) GetCoverImage() string { if x != nil { return x.CoverImage } return "" } func (x *ProductItem) GetContent() string { if x != nil { return x.Content } return "" } func (x *ProductItem) GetStoreId() int64 { if x != nil { return x.StoreId } return 0 } func (x *ProductItem) GetStoreIdentity() string { if x != nil { return x.StoreIdentity } return "" } func (x *ProductItem) GetTemplateId() int32 { if x != nil { return x.TemplateId } return 0 } func (x *ProductItem) GetNote() string { if x != nil { return x.Note } return "" } func (x *ProductItem) GetImages() []*PhotoItem { if x != nil { return x.Images } return nil } func (x *ProductItem) GetSpecification() []*SpecItem { if x != nil { return x.Specification } return nil } func (x *ProductItem) GetRecentNumber() int64 { if x != nil { return x.RecentNumber } return 0 } func (x *ProductItem) GetSaleTotal() int64 { if x != nil { return x.SaleTotal } return 0 } func (x *ProductItem) GetCreatedAt() string { if x != nil { return x.CreatedAt } return "" } func (x *ProductItem) GetLimitation() int64 { if x != nil { return x.Limitation } return 0 } func (x *ProductItem) GetLiTemplateId() int64 { if x != nil { return x.LiTemplateId } return 0 } func (x *ProductItem) GetPrice() int64 { if x != nil { return x.Price } return 0 } func (x *ProductItem) GetStock() int64 { if x != nil { return x.Stock } return 0 } func (x *ProductItem) GetCategory() string { if x != nil { return x.Category } return "" } func (x *ProductItem) GetSerialId() string { if x != nil { return x.SerialId } return "" } func (x *ProductItem) GetGasTypes() int64 { if x != nil { return x.GasTypes } return 0 } func (x *ProductItem) GetSpecId() []int64 { if x != nil { return x.SpecId } return nil } func (x *ProductItem) GetCategories() []*CategoriesItem { if x != nil { return x.Categories } return nil } func (x *ProductItem) GetSupplyName() string { if x != nil { return x.SupplyName } return "" } var File_module_ec_mall_proto_product_proto protoreflect.FileDescriptor const file_module_ec_mall_proto_product_proto_rawDesc = "" + "\n" + "\"module/ec/mall/proto/product.proto\x12\x04mall\x1a\x15protobuf/blocks.proto\"b\n" + "\bAttrItem\x12\x0e\n" + "\x02id\x18\x01 \x01(\x03R\x02id\x12\x12\n" + "\x04name\x18\x02 \x01(\tR\x04name\x12\x1c\n" + "\tparent_id\x18\x03 \x01(\x05R\tparent_id\x12\x14\n" + "\x05value\x18\x04 \x01(\tR\x05value\"\xc1\x03\n" + "\vCommentItem\x12\x0e\n" + "\x02id\x18\x01 \x01(\x03R\x02id\x12\x1a\n" + "\bidentity\x18\x02 \x01(\tR\bidentity\x12\x1e\n" + "\n" + "created_at\x18\x03 \x01(\tR\n" + "created_at\x12\x1c\n" + "\tnick_name\x18\x04 \x01(\tR\tnick_name\x12\x14\n" + "\x05score\x18\x05 \x01(\x05R\x05score\x12\x18\n" + "\acomment\x18\x06 \x01(\tR\acomment\x12\x14\n" + "\x05reply\x18\a \x01(\tR\x05reply\x12*\n" + "\x10product_identity\x18\b \x01(\tR\x10product_identity\x12&\n" + "\x0estore_identity\x18\t \x01(\tR\x0estore_identity\x12$\n" + "\rspec_identity\x18\n" + " \x01(\tR\rspec_identity\x12*\n" + "\x10comment_identity\x18\v \x01(\tR\x10comment_identity\x12\x18\n" + "\aproduct\x18\f \x01(\tR\aproduct\x12\"\n" + "\fproduct_spec\x18\r \x01(\tR\fproduct_spec\x12\x1e\n" + "\n" + "is_comment\x18\x0e \x01(\bR\n" + "is_comment\"\xcb\x03\n" + "\x0eCommentItemRep\x12\x0e\n" + "\x02id\x18\x01 \x01(\x03R\x02id\x12\x1a\n" + "\bidentity\x18\x02 \x01(\tR\bidentity\x12\x1e\n" + "\n" + "created_at\x18\x03 \x01(\tR\n" + "created_at\x12\x1c\n" + "\tnick_name\x18\x04 \x01(\tR\tnick_name\x12\x14\n" + "\x05score\x18\x05 \x01(\x05R\x05score\x12\x18\n" + "\acomment\x18\x06 \x01(\tR\acomment\x12\x14\n" + "\x05reply\x18\a \x01(\tR\x05reply\x12*\n" + "\x10product_identity\x18\b \x01(\tR\x10product_identity\x12&\n" + "\x0estore_identity\x18\t \x01(\tR\x0estore_identity\x12$\n" + "\rspec_identity\x18\n" + " \x01(\tR\rspec_identity\x12*\n" + "\x10comment_identity\x18\v \x01(\tR\x10comment_identity\x12%\n" + "\x04list\x18\f \x03(\v2\x11.mall.CommentItemR\x04list\x12\x18\n" + "\aproduct\x18\r \x01(\tR\aproduct\x12\"\n" + "\fproduct_spec\x18\x0e \x01(\tR\fproduct_spec\"/\n" + "\x13DetailBySpecRequest\x12\x18\n" + "\aspec_no\x18\x01 \x01(\tR\aspec_no\"?\n" + "\tOpRequest\x12\x1a\n" + "\bidentity\x18\x01 \x03(\tR\bidentity\x12\x16\n" + "\x06status\x18\x02 \x01(\x05R\x06status\"C\n" + "\rModifyRequest\x12\x1a\n" + "\bidentity\x18\x01 \x01(\tR\bidentity\x12\x16\n" + "\x06status\x18\x02 \x01(\x05R\x06status\"\x94\x02\n" + "\bListItem\x12\x1e\n" + "\n" + "product_id\x18\x02 \x01(\x03R\n" + "product_id\x12\x18\n" + "\aproduct\x18\x03 \x01(\tR\aproduct\x12\x18\n" + "\aspec_id\x18\x04 \x01(\x03R\aspec_id\x12\x12\n" + "\x04spec\x18\x05 \x01(\tR\x04spec\x12\x18\n" + "\aspec_no\x18\x06 \x01(\tR\aspec_no\x12\x14\n" + "\x05price\x18\a \x01(\x03R\x05price\x12\x14\n" + "\x05count\x18\b \x01(\x03R\x05count\x12\x10\n" + "\x03img\x18\t \x01(\tR\x03img\x12*\n" + "\x10product_identity\x18\n" + " \x01(\tR\x10product_identity\x12\x1c\n" + "\tserial_id\x18\v \x01(\tR\tserial_id\"#\n" + "\x11ListWithIdRequest\x12\x0e\n" + "\x02id\x18\x01 \x03(\x03R\x02id\"5\n" + "\x0fListWithIdReply\x12\"\n" + "\x04data\x18\x01 \x03(\v2\x0e.mall.ListItemR\x04data\"G\n" + "\n" + "PhotoReply\x12\x14\n" + "\x05count\x18\x01 \x01(\x03R\x05count\x12#\n" + "\x04data\x18\x02 \x03(\v2\x0f.mall.PhotoItemR\x04data\"E\n" + "\tSpecReply\x12\x14\n" + "\x05count\x18\x01 \x01(\x03R\x05count\x12\"\n" + "\x04data\x18\x02 \x03(\v2\x0e.mall.SpecItemR\x04data\"R\n" + "\x10CommentListReply\x12\x14\n" + "\x05count\x18\x01 \x01(\x03R\x05count\x12(\n" + "\x04data\x18\x02 \x03(\v2\x14.mall.CommentItemRepR\x04data\"t\n" + "\x0eStatisticReply\x12\x14\n" + "\x05total\x18\x01 \x01(\x03R\x05total\x12\x18\n" + "\aselling\x18\x02 \x01(\x03R\aselling\x12\x1c\n" + "\tforbidden\x18\x03 \x01(\x03R\tforbidden\x12\x14\n" + "\x05draft\x18\x04 \x01(\x03R\x05draft\"T\n" + "\x10OrgBySpecIdReply\x12\x0e\n" + "\x02id\x18\x01 \x01(\x03R\x02id\x12\x1a\n" + "\bidentity\x18\x02 \x01(\tR\bidentity\x12\x14\n" + "\x05title\x18\x03 \x01(\tR\x05title\"\x99\x03\n" + "\aSubjoin\x12&\n" + "\x0ecategory_paths\x18\x01 \x01(\tR\x0ecategory_paths\x12\x1c\n" + "\tsub_title\x18\x02 \x01(\tR\tsub_title\x12\x18\n" + "\akeyword\x18\x03 \x01(\tR\akeyword\x12\x14\n" + "\x05stock\x18\x04 \x01(\x05R\x05stock\x12 \n" + "\vsales_price\x18\x05 \x01(\x03R\vsales_price\x12\x12\n" + "\x04args\x18\x06 \x01(\tR\x04args\x12$\n" + "\rcomment_total\x18\a \x01(\x05R\rcomment_total\x12\x1e\n" + "\n" + "sale_total\x18\b \x01(\x05R\n" + "sale_total\x12\x1e\n" + "\n" + "view_total\x18\t \x01(\x05R\n" + "view_total\x12 \n" + "\vimage_total\x18\n" + " \x01(\x05R\vimage_total\x12\x1c\n" + "\trecommend\x18\v \x01(\x05R\trecommend\x12\x12\n" + "\x04sort\x18\f \x01(\x05R\x04sort\x12\x14\n" + "\x05types\x18\r \x01(\x05R\x05types\x12\x12\n" + "\x04star\x18\x0e \x01(\x03R\x04star\"H\n" + "\tListReply\x12\x14\n" + "\x05count\x18\x01 \x01(\x03R\x05count\x12%\n" + "\x04data\x18\x02 \x03(\v2\x11.mall.ProductItemR\x04data\"\x97\x04\n" + "\vProductBase\x12\x0e\n" + "\x02id\x18\x01 \x01(\x03R\x02id\x12\x1a\n" + "\bidentity\x18\x02 \x01(\tR\bidentity\x12\x1c\n" + "\tsupply_id\x18\x04 \x01(\x03R\tsupply_id\x12 \n" + "\vcategory_id\x18\x06 \x01(\x03R\vcategory_id\x12\x14\n" + "\x05title\x18\b \x01(\tR\x05title\x12&\n" + "\x0emeasuring_name\x18c \x01(\tR\x0emeasuring_name\x12\x1a\n" + "\bsell_max\x18a \x01(\x03R\bsell_max\x12\x1a\n" + "\bsell_min\x18` \x01(\x03R\bsell_min\x12\x18\n" + "\awastage\x18_ \x01(\x03R\awastage\x12(\n" + "\x0fstandard_number\x18^ \x01(\tR\x0fstandard_number\x12\x14\n" + "\x05brand\x18] \x01(\tR\x05brand\x12\x1e\n" + "\n" + "stock_type\x18\\ \x01(\x03R\n" + "stock_type\x12\x16\n" + "\x06status\x18[ \x01(\x05R\x06status\x12\"\n" + "\fputaway_time\x18Z \x01(\tR\fputaway_time\x12 \n" + "\vcover_image\x18\v \x01(\tR\vcover_image\x12\x16\n" + "\x06images\x18\x18 \x03(\tR\x06images\x12\x18\n" + "\acontent\x18\x0e \x01(\tR\acontent\x12\x1c\n" + "\tserial_id\x18\x0f \x01(\tR\tserial_id\"\xf8\x03\n" + "\bSpecItem\x12\x0e\n" + "\x02id\x18\x01 \x01(\x03R\x02id\x12\x1a\n" + "\bidentity\x18\x02 \x01(\tR\bidentity\x12\x1c\n" + "\tsupply_id\x18\x03 \x01(\x03R\tsupply_id\x12*\n" + "\x10product_identity\x18\x04 \x01(\tR\x10product_identity\x12&\n" + "\x0estore_identity\x18\x05 \x01(\tR\x0estore_identity\x12\x14\n" + "\x05title\x18\x06 \x01(\tR\x05title\x12\x1e\n" + "\n" + "stock_type\x18\a \x01(\x05R\n" + "stock_type\x12\x14\n" + "\x05stock\x18\b \x01(\x03R\x05stock\x12\x14\n" + "\x05price\x18\t \x01(\x03R\x05price\x12\"\n" + "\fdirect_sales\x18\n" + " \x01(\x03R\fdirect_sales\x12\x18\n" + "\atp_type\x18\v \x01(\x05R\atp_type\x12\x1e\n" + "\n" + "ds_tp_type\x18\f \x01(\x05R\n" + "ds_tp_type\x12\x10\n" + "\x03img\x18\r \x01(\tR\x03img\x12\x18\n" + "\aspec_no\x18\x0e \x01(\tR\aspec_no\x12\x18\n" + "\akeyword\x18\x0f \x01(\tR\akeyword\x12*\n" + "\x10purchasing_price\x18\x10 \x01(\x03R\x10purchasing_price\x12\x1c\n" + "\twholesale\x18\x11 \x01(\x03R\twholesale\"\xb3\x01\n" + "\tPhotoItem\x12\x12\n" + "\x04name\x18\x01 \x01(\tR\x04name\x12\x1a\n" + "\bidentity\x18\x02 \x01(\tR\bidentity\x12*\n" + "\x10product_identity\x18\x03 \x01(\tR\x10product_identity\x12\x10\n" + "\x03url\x18\x04 \x01(\tR\x03url\x12\x12\n" + "\x04sort\x18\x05 \x01(\x05R\x04sort\x12\x14\n" + "\x05types\x18\x06 \x01(\tR\x05types\x12\x0e\n" + "\x02id\x18\a \x01(\x03R\x02id\"\xe2\x02\n" + "\x0eCategoriesItem\x12\x0e\n" + "\x02id\x18\x01 \x01(\x03R\x02id\x12\x1a\n" + "\bidentity\x18\x02 \x01(\tR\bidentity\x12\x14\n" + "\x05title\x18\x03 \x01(\tR\x05title\x12\x1a\n" + "\ben_title\x18\x04 \x01(\tR\ben_title\x12\x1c\n" + "\tparent_id\x18\x05 \x01(\x03R\tparent_id\x12\x14\n" + "\x05paths\x18\x06 \x01(\tR\x05paths\x12\x14\n" + "\x05intro\x18\a \x01(\tR\x05intro\x12\x12\n" + "\x04icon\x18\b \x01(\tR\x04icon\x12\x12\n" + "\x04sort\x18\t \x01(\x05R\x04sort\x12\x16\n" + "\x06status\x18\n" + " \x01(\x05R\x06status\x12\x1e\n" + "\n" + "created_at\x18\v \x01(\tR\n" + "created_at\x124\n" + "\n" + "categories\x18\f \x03(\v2\x14.mall.CategoriesItemR\n" + "categories\x12\x12\n" + "\x04keys\x18\r \x01(\tR\x04keys\"\xdc\b\n" + "\vProductItem\x12\x0e\n" + "\x02id\x18\x01 \x01(\x03R\x02id\x12\x1a\n" + "\bidentity\x18\x02 \x01(\tR\bidentity\x12\x1c\n" + "\tsupply_id\x18\x03 \x01(\x03R\tsupply_id\x12 \n" + "\vcategory_id\x18\x04 \x03(\x03R\vcategory_id\x12\x14\n" + "\x05title\x18\x05 \x01(\tR\x05title\x12&\n" + "\x0emeasuring_name\x18\x06 \x01(\tR\x0emeasuring_name\x12\x1a\n" + "\bsell_max\x18\a \x01(\x03R\bsell_max\x12\x1a\n" + "\bsell_min\x18\b \x01(\x03R\bsell_min\x12\x18\n" + "\awastage\x18\t \x01(\x03R\awastage\x12(\n" + "\x0fstandard_number\x18\n" + " \x01(\tR\x0fstandard_number\x12\x14\n" + "\x05brand\x18\v \x01(\tR\x05brand\x12\x1e\n" + "\n" + "stock_type\x18\f \x01(\x03R\n" + "stock_type\x12\x16\n" + "\x06status\x18\r \x01(\x05R\x06status\x12\"\n" + "\fputaway_time\x18\x0e \x01(\tR\fputaway_time\x12 \n" + "\vcover_image\x18\x0f \x01(\tR\vcover_image\x12\x18\n" + "\acontent\x18\x10 \x01(\tR\acontent\x12\x1a\n" + "\bstore_id\x18\x11 \x01(\x03R\bstore_id\x12&\n" + "\x0estore_identity\x18\x12 \x01(\tR\x0estore_identity\x12 \n" + "\vtemplate_id\x18\x13 \x01(\x05R\vtemplate_id\x12\x12\n" + "\x04note\x18\x14 \x01(\tR\x04note\x12'\n" + "\x06images\x18\x15 \x03(\v2\x0f.mall.PhotoItemR\x06images\x124\n" + "\rspecification\x18\x16 \x03(\v2\x0e.mall.SpecItemR\rspecification\x12$\n" + "\rrecent_number\x18\x17 \x01(\x03R\rrecent_number\x12\x1e\n" + "\n" + "sale_total\x18\x18 \x01(\x03R\n" + "sale_total\x12\x1e\n" + "\n" + "created_at\x18\x19 \x01(\tR\n" + "created_at\x12\x1e\n" + "\n" + "limitation\x18\x1a \x01(\x03R\n" + "limitation\x12$\n" + "\rliTemplate_id\x18\x1b \x01(\x03R\rliTemplate_id\x12\x14\n" + "\x05price\x18\x1c \x01(\x03R\x05price\x12\x14\n" + "\x05stock\x18\x1d \x01(\x03R\x05stock\x12\x1a\n" + "\bcategory\x18\x1e \x01(\tR\bcategory\x12\x1c\n" + "\tserial_id\x18\x1f \x01(\tR\tserial_id\x12\x1c\n" + "\tgas_types\x18 \x01(\x03R\tgas_types\x12\x18\n" + "\aspec_id\x18! \x03(\x03R\aspec_id\x124\n" + "\n" + "categories\x18\" \x03(\v2\x14.mall.CategoriesItemR\n" + "categories\x12 \n" + "\vsupply_name\x18# \x01(\tR\vsupply_name2\xb7\n" + "\n" + "\aProduct\x128\n" + "\tItemFetch\x12\x18.blocks.MallFetchRequest\x1a\x0f.mall.ListReply\"\x00\x127\n" + "\n" + "ItemDetail\x12\x14.blocks.IdentRequest\x1a\x11.mall.ProductItem\"\x00\x12C\n" + "\x12ItemDetailBySerial\x12\x1a.blocks.StoreSerialRequest\x1a\x0f.mall.ListReply\"\x00\x12?\n" + "\x10ItemDetailBySpec\x12\x19.mall.DetailBySpecRequest\x1a\x0e.mall.ListItem\"\x00\x12>\n" + "\n" + "ItemCreate\x12\x11.mall.ProductItem\x1a\x1b.blocks.IdentityStatusReply\"\x00\x12A\n" + "\n" + "ItemDelete\x12\x14.blocks.IdentRequest\x1a\x1b.blocks.IdentityStatusReply\"\x00\x12@\n" + "\n" + "ItemModify\x12\x13.mall.ModifyRequest\x1a\x1b.blocks.IdentityStatusReply\"\x00\x12=\n" + "\vItemBatchOp\x12\x0f.mall.OpRequest\x1a\x1b.blocks.IdentityStatusReply\"\x00\x128\n" + "\tSpecFetch\x12\x18.blocks.MallFetchRequest\x1a\x0f.mall.SpecReply\"\x00\x12;\n" + "\n" + "SpecCreate\x12\x0e.mall.SpecItem\x1a\x1b.blocks.IdentityStatusReply\"\x00\x12;\n" + "\n" + "SpecModify\x12\x0e.mall.SpecItem\x1a\x1b.blocks.IdentityStatusReply\"\x00\x12A\n" + "\n" + "SpecDelete\x12\x14.blocks.IdentRequest\x1a\x1b.blocks.IdentityStatusReply\"\x00\x124\n" + "\n" + "SpecDetail\x12\x14.blocks.IdentRequest\x1a\x0e.mall.SpecItem\"\x00\x12=\n" + "\vPhotoCreate\x12\x0f.mall.PhotoItem\x1a\x1b.blocks.IdentityStatusReply\"\x00\x12B\n" + "\vPhotoDelete\x12\x14.blocks.IdentRequest\x1a\x1b.blocks.IdentityStatusReply\"\x00\x120\n" + "\tPhotoList\x12\x0f.mall.PhotoItem\x1a\x10.mall.PhotoReply\"\x00\x12B\n" + "\fCommentFetch\x12\x18.blocks.MallFetchRequest\x1a\x16.mall.CommentListReply\"\x00\x12A\n" + "\rCommentCreate\x12\x11.mall.CommentItem\x1a\x1b.blocks.IdentityStatusReply\"\x00\x12=\n" + "\tCommentRe\x12\x11.mall.CommentItem\x1a\x1b.blocks.IdentityStatusReply\"\x00\x12D\n" + "\rCommentDelete\x12\x14.blocks.IdentRequest\x1a\x1b.blocks.IdentityStatusReply\"\x00\x12A\n" + "\rCommentModify\x12\x11.mall.CommentItem\x1a\x1b.blocks.IdentityStatusReply\"\x00B!Z\x1fbsm/full/module/ec/mall/pb;mallb\x06proto3" var ( file_module_ec_mall_proto_product_proto_rawDescOnce sync.Once file_module_ec_mall_proto_product_proto_rawDescData []byte ) func file_module_ec_mall_proto_product_proto_rawDescGZIP() []byte { file_module_ec_mall_proto_product_proto_rawDescOnce.Do(func() { file_module_ec_mall_proto_product_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_module_ec_mall_proto_product_proto_rawDesc), len(file_module_ec_mall_proto_product_proto_rawDesc))) }) return file_module_ec_mall_proto_product_proto_rawDescData } var file_module_ec_mall_proto_product_proto_msgTypes = make([]protoimpl.MessageInfo, 21) var file_module_ec_mall_proto_product_proto_goTypes = []any{ (*AttrItem)(nil), // 0: mall.AttrItem (*CommentItem)(nil), // 1: mall.CommentItem (*CommentItemRep)(nil), // 2: mall.CommentItemRep (*DetailBySpecRequest)(nil), // 3: mall.DetailBySpecRequest (*OpRequest)(nil), // 4: mall.OpRequest (*ModifyRequest)(nil), // 5: mall.ModifyRequest (*ListItem)(nil), // 6: mall.ListItem (*ListWithIdRequest)(nil), // 7: mall.ListWithIdRequest (*ListWithIdReply)(nil), // 8: mall.ListWithIdReply (*PhotoReply)(nil), // 9: mall.PhotoReply (*SpecReply)(nil), // 10: mall.SpecReply (*CommentListReply)(nil), // 11: mall.CommentListReply (*StatisticReply)(nil), // 12: mall.StatisticReply (*OrgBySpecIdReply)(nil), // 13: mall.OrgBySpecIdReply (*Subjoin)(nil), // 14: mall.Subjoin (*ListReply)(nil), // 15: mall.ListReply (*ProductBase)(nil), // 16: mall.ProductBase (*SpecItem)(nil), // 17: mall.SpecItem (*PhotoItem)(nil), // 18: mall.PhotoItem (*CategoriesItem)(nil), // 19: mall.CategoriesItem (*ProductItem)(nil), // 20: mall.ProductItem (*protobuf.MallFetchRequest)(nil), // 21: blocks.MallFetchRequest (*protobuf.IdentRequest)(nil), // 22: blocks.IdentRequest (*protobuf.StoreSerialRequest)(nil), // 23: blocks.StoreSerialRequest (*protobuf.IdentityStatusReply)(nil), // 24: blocks.IdentityStatusReply } var file_module_ec_mall_proto_product_proto_depIdxs = []int32{ 1, // 0: mall.CommentItemRep.list:type_name -> mall.CommentItem 6, // 1: mall.ListWithIdReply.data:type_name -> mall.ListItem 18, // 2: mall.PhotoReply.data:type_name -> mall.PhotoItem 17, // 3: mall.SpecReply.data:type_name -> mall.SpecItem 2, // 4: mall.CommentListReply.data:type_name -> mall.CommentItemRep 20, // 5: mall.ListReply.data:type_name -> mall.ProductItem 19, // 6: mall.CategoriesItem.categories:type_name -> mall.CategoriesItem 18, // 7: mall.ProductItem.images:type_name -> mall.PhotoItem 17, // 8: mall.ProductItem.specification:type_name -> mall.SpecItem 19, // 9: mall.ProductItem.categories:type_name -> mall.CategoriesItem 21, // 10: mall.Product.ItemFetch:input_type -> blocks.MallFetchRequest 22, // 11: mall.Product.ItemDetail:input_type -> blocks.IdentRequest 23, // 12: mall.Product.ItemDetailBySerial:input_type -> blocks.StoreSerialRequest 3, // 13: mall.Product.ItemDetailBySpec:input_type -> mall.DetailBySpecRequest 20, // 14: mall.Product.ItemCreate:input_type -> mall.ProductItem 22, // 15: mall.Product.ItemDelete:input_type -> blocks.IdentRequest 5, // 16: mall.Product.ItemModify:input_type -> mall.ModifyRequest 4, // 17: mall.Product.ItemBatchOp:input_type -> mall.OpRequest 21, // 18: mall.Product.SpecFetch:input_type -> blocks.MallFetchRequest 17, // 19: mall.Product.SpecCreate:input_type -> mall.SpecItem 17, // 20: mall.Product.SpecModify:input_type -> mall.SpecItem 22, // 21: mall.Product.SpecDelete:input_type -> blocks.IdentRequest 22, // 22: mall.Product.SpecDetail:input_type -> blocks.IdentRequest 18, // 23: mall.Product.PhotoCreate:input_type -> mall.PhotoItem 22, // 24: mall.Product.PhotoDelete:input_type -> blocks.IdentRequest 18, // 25: mall.Product.PhotoList:input_type -> mall.PhotoItem 21, // 26: mall.Product.CommentFetch:input_type -> blocks.MallFetchRequest 1, // 27: mall.Product.CommentCreate:input_type -> mall.CommentItem 1, // 28: mall.Product.CommentRe:input_type -> mall.CommentItem 22, // 29: mall.Product.CommentDelete:input_type -> blocks.IdentRequest 1, // 30: mall.Product.CommentModify:input_type -> mall.CommentItem 15, // 31: mall.Product.ItemFetch:output_type -> mall.ListReply 20, // 32: mall.Product.ItemDetail:output_type -> mall.ProductItem 15, // 33: mall.Product.ItemDetailBySerial:output_type -> mall.ListReply 6, // 34: mall.Product.ItemDetailBySpec:output_type -> mall.ListItem 24, // 35: mall.Product.ItemCreate:output_type -> blocks.IdentityStatusReply 24, // 36: mall.Product.ItemDelete:output_type -> blocks.IdentityStatusReply 24, // 37: mall.Product.ItemModify:output_type -> blocks.IdentityStatusReply 24, // 38: mall.Product.ItemBatchOp:output_type -> blocks.IdentityStatusReply 10, // 39: mall.Product.SpecFetch:output_type -> mall.SpecReply 24, // 40: mall.Product.SpecCreate:output_type -> blocks.IdentityStatusReply 24, // 41: mall.Product.SpecModify:output_type -> blocks.IdentityStatusReply 24, // 42: mall.Product.SpecDelete:output_type -> blocks.IdentityStatusReply 17, // 43: mall.Product.SpecDetail:output_type -> mall.SpecItem 24, // 44: mall.Product.PhotoCreate:output_type -> blocks.IdentityStatusReply 24, // 45: mall.Product.PhotoDelete:output_type -> blocks.IdentityStatusReply 9, // 46: mall.Product.PhotoList:output_type -> mall.PhotoReply 11, // 47: mall.Product.CommentFetch:output_type -> mall.CommentListReply 24, // 48: mall.Product.CommentCreate:output_type -> blocks.IdentityStatusReply 24, // 49: mall.Product.CommentRe:output_type -> blocks.IdentityStatusReply 24, // 50: mall.Product.CommentDelete:output_type -> blocks.IdentityStatusReply 24, // 51: mall.Product.CommentModify:output_type -> blocks.IdentityStatusReply 31, // [31:52] is the sub-list for method output_type 10, // [10:31] is the sub-list for method input_type 10, // [10:10] is the sub-list for extension type_name 10, // [10:10] is the sub-list for extension extendee 0, // [0:10] is the sub-list for field type_name } func init() { file_module_ec_mall_proto_product_proto_init() } func file_module_ec_mall_proto_product_proto_init() { if File_module_ec_mall_proto_product_proto != nil { return } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: unsafe.Slice(unsafe.StringData(file_module_ec_mall_proto_product_proto_rawDesc), len(file_module_ec_mall_proto_product_proto_rawDesc)), NumEnums: 0, NumMessages: 21, NumExtensions: 0, NumServices: 1, }, GoTypes: file_module_ec_mall_proto_product_proto_goTypes, DependencyIndexes: file_module_ec_mall_proto_product_proto_depIdxs, MessageInfos: file_module_ec_mall_proto_product_proto_msgTypes, }.Build() File_module_ec_mall_proto_product_proto = out.File file_module_ec_mall_proto_product_proto_goTypes = nil file_module_ec_mall_proto_product_proto_depIdxs = nil }