Files
full/module/ec/mall/pb/product.pb.go

2518 lines
79 KiB
Go
Raw Normal View History

// 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"` // 产品分类21查看非燃气商品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
}