You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

3092 lines
102 KiB

2 years ago
//*
// @Auth:ShenZ
// @Description:
// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// protoc-gen-go v1.26.0
// protoc v3.18.1
// source: cart.proto
package proto
import (
context "context"
grpc "google.golang.org/grpc"
codes "google.golang.org/grpc/codes"
status "google.golang.org/grpc/status"
2 years ago
protoreflect "google.golang.org/protobuf/reflect/protoreflect"
protoimpl "google.golang.org/protobuf/runtime/protoimpl"
reflect "reflect"
sync "sync"
)
const (
// Verify that this generated code is sufficiently up-to-date.
_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
// Verify that runtime/protoimpl is sufficiently up-to-date.
_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
)
// ID int32 `json:"id"`
// UserId int32 `json:"userId"`
// ProductId int32 `gorm:"product_id" json:"productId"`
// ProductSkuId int32 `gorm:"product_sku_id" json:"productSkuId"`
// ProductName string `json:"productName"`
// ProductMainPicture string `gorm:"product_main_picture" json:"productMainPicture"`
// Number int32 `gorm:"default:1" json:"number"`
// CreateUser int32 `gorm:"default:1" json:"createUser"`
// CreateTime time.Time `json:"createTime"`
// UpdateUser int32 `json:"updateUser"`
// UpdateTime time.Time `json:"updateTime"`
// IsDeleted bool `json:"isDeleted"`
type ShoppingCart struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Id int32 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
UserId int32 `protobuf:"varint,2,opt,name=userId,proto3" json:"userId,omitempty"`
ProductId int32 `protobuf:"varint,3,opt,name=productId,proto3" json:"productId,omitempty"`
ProductSkuId int32 `protobuf:"varint,4,opt,name=productSkuId,proto3" json:"productSkuId,omitempty"`
ProductName string `protobuf:"bytes,5,opt,name=productName,proto3" json:"productName,omitempty"`
ProductMainPicture string `protobuf:"bytes,6,opt,name=productMainPicture,proto3" json:"productMainPicture,omitempty"`
Number int32 `protobuf:"varint,7,opt,name=number,proto3" json:"number,omitempty"`
// 查询修改所需
UpdateTime string `protobuf:"bytes,8,opt,name=updateTime,proto3" json:"updateTime,omitempty"`
CrateTime string `protobuf:"bytes,9,opt,name=crateTime,proto3" json:"crateTime,omitempty"`
CreateUser int32 `protobuf:"varint,10,opt,name=createUser,proto3" json:"createUser,omitempty"`
UpdateUser int32 `protobuf:"varint,11,opt,name=updateUser,proto3" json:"updateUser,omitempty"`
IsDeleted bool `protobuf:"varint,12,opt,name=isDeleted,proto3" json:"isDeleted,omitempty"`
2 years ago
}
func (x *ShoppingCart) Reset() {
*x = ShoppingCart{}
if protoimpl.UnsafeEnabled {
mi := &file_cart_proto_msgTypes[0]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ShoppingCart) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ShoppingCart) ProtoMessage() {}
func (x *ShoppingCart) ProtoReflect() protoreflect.Message {
mi := &file_cart_proto_msgTypes[0]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use ShoppingCart.ProtoReflect.Descriptor instead.
func (*ShoppingCart) Descriptor() ([]byte, []int) {
return file_cart_proto_rawDescGZIP(), []int{0}
}
func (x *ShoppingCart) GetId() int32 {
if x != nil {
return x.Id
}
return 0
}
func (x *ShoppingCart) GetUserId() int32 {
if x != nil {
return x.UserId
}
return 0
}
func (x *ShoppingCart) GetProductId() int32 {
if x != nil {
return x.ProductId
}
return 0
}
func (x *ShoppingCart) GetProductSkuId() int32 {
if x != nil {
return x.ProductSkuId
}
return 0
}
func (x *ShoppingCart) GetProductName() string {
if x != nil {
return x.ProductName
}
return ""
}
func (x *ShoppingCart) GetProductMainPicture() string {
if x != nil {
return x.ProductMainPicture
}
return ""
}
func (x *ShoppingCart) GetNumber() int32 {
if x != nil {
return x.Number
}
return 0
}
func (x *ShoppingCart) GetUpdateTime() string {
if x != nil {
return x.UpdateTime
}
return ""
}
func (x *ShoppingCart) GetCrateTime() string {
if x != nil {
return x.CrateTime
}
return ""
}
func (x *ShoppingCart) GetCreateUser() int32 {
if x != nil {
return x.CreateUser
}
return 0
}
func (x *ShoppingCart) GetUpdateUser() int32 {
if x != nil {
return x.UpdateUser
}
return 0
}
func (x *ShoppingCart) GetIsDeleted() bool {
if x != nil {
return x.IsDeleted
}
return false
}
2 years ago
// 请求 request struct
type AddCartReq struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Number int32 `protobuf:"varint,1,opt,name=number,proto3" json:"number,omitempty"`
ProductId int32 `protobuf:"varint,2,opt,name=productId,proto3" json:"productId,omitempty"`
ProductSkuId int32 `protobuf:"varint,3,opt,name=productSkuId,proto3" json:"productSkuId,omitempty"`
ProductName string `protobuf:"bytes,4,opt,name=productName,proto3" json:"productName,omitempty"`
ProductMainPicture string `protobuf:"bytes,5,opt,name=productMainPicture,proto3" json:"productMainPicture,omitempty"`
UserId int32 `protobuf:"varint,6,opt,name=userId,proto3" json:"userId,omitempty"`
Id int32 `protobuf:"varint,7,opt,name=id,proto3" json:"id,omitempty"`
CreateUser int32 `protobuf:"varint,8,opt,name=createUser,proto3" json:"createUser,omitempty"`
2 years ago
}
func (x *AddCartReq) Reset() {
*x = AddCartReq{}
if protoimpl.UnsafeEnabled {
mi := &file_cart_proto_msgTypes[1]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *AddCartReq) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*AddCartReq) ProtoMessage() {}
func (x *AddCartReq) ProtoReflect() protoreflect.Message {
mi := &file_cart_proto_msgTypes[1]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use AddCartReq.ProtoReflect.Descriptor instead.
func (*AddCartReq) Descriptor() ([]byte, []int) {
return file_cart_proto_rawDescGZIP(), []int{1}
}
func (x *AddCartReq) GetNumber() int32 {
if x != nil {
return x.Number
}
return 0
}
func (x *AddCartReq) GetProductId() int32 {
if x != nil {
return x.ProductId
}
return 0
}
func (x *AddCartReq) GetProductSkuId() int32 {
if x != nil {
return x.ProductSkuId
}
return 0
}
func (x *AddCartReq) GetProductName() string {
if x != nil {
return x.ProductName
}
return ""
}
func (x *AddCartReq) GetProductMainPicture() string {
if x != nil {
return x.ProductMainPicture
}
return ""
}
func (x *AddCartReq) GetUserId() int32 {
if x != nil {
return x.UserId
}
return 0
}
func (x *AddCartReq) GetId() int32 {
if x != nil {
return x.Id
}
return 0
}
func (x *AddCartReq) GetCreateUser() int32 {
if x != nil {
return x.CreateUser
}
return 0
}
2 years ago
// *
// "productSimple": {
// "id": 15,
// "name": "SKG K3颈椎按摩仪护颈仪颈部按摩器礼品",
// "startingPrice": 259.00,
// "mainPicture": "https://msb-edu-prod.oss-cn-beijing.aliyuncs.com/mall-product/productyou.mashibing.com_goods_detail_15.png",
// "labelList": null,
// "singleBuyLimit": 0,
// "isEnable": true,
// "productType": 1
// },
// "productSkuSimple": {
// "skuId": 31,
// "attributeSymbolList": "8",
// "name": "SKG 4098蓝牙款颈椎仪",
// "sellPrice": 359.00,
// "stock": 100
// },
// "shoppingCartNumber": 2, //增加购物车数量
// "canSetShoppingCartNumber": 2, //实际最大可设置购物车数量
// "isBeyondMaxLimit": false //是否超出最大限制
type AddCartResp struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
ProductSimple *ProductDetail `protobuf:"bytes,1,opt,name=productSimple,proto3" json:"productSimple,omitempty"`
ProductSkuSimple *ProductSku `protobuf:"bytes,2,opt,name=productSkuSimple,proto3" json:"productSkuSimple,omitempty"`
ShoppingCartNumber int64 `protobuf:"varint,3,opt,name=shoppingCartNumber,proto3" json:"shoppingCartNumber,omitempty"`
CanSetShoppingCartNumber int64 `protobuf:"varint,4,opt,name=canSetShoppingCartNumber,proto3" json:"canSetShoppingCartNumber,omitempty"`
IsBeyondMaxLimit bool `protobuf:"varint,5,opt,name=isBeyondMaxLimit,proto3" json:"isBeyondMaxLimit,omitempty"`
ID int32 `protobuf:"varint,6,opt,name=ID,proto3" json:"ID,omitempty"`
2 years ago
}
func (x *AddCartResp) Reset() {
*x = AddCartResp{}
if protoimpl.UnsafeEnabled {
mi := &file_cart_proto_msgTypes[2]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *AddCartResp) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*AddCartResp) ProtoMessage() {}
func (x *AddCartResp) ProtoReflect() protoreflect.Message {
mi := &file_cart_proto_msgTypes[2]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use AddCartResp.ProtoReflect.Descriptor instead.
func (*AddCartResp) Descriptor() ([]byte, []int) {
return file_cart_proto_rawDescGZIP(), []int{2}
}
func (x *AddCartResp) GetProductSimple() *ProductDetail {
if x != nil {
return x.ProductSimple
}
return nil
}
func (x *AddCartResp) GetProductSkuSimple() *ProductSku {
if x != nil {
return x.ProductSkuSimple
}
return nil
}
func (x *AddCartResp) GetShoppingCartNumber() int64 {
if x != nil {
return x.ShoppingCartNumber
}
return 0
}
func (x *AddCartResp) GetCanSetShoppingCartNumber() int64 {
if x != nil {
return x.CanSetShoppingCartNumber
}
return 0
}
func (x *AddCartResp) GetIsBeyondMaxLimit() bool {
if x != nil {
return x.IsBeyondMaxLimit
}
return false
}
func (x *AddCartResp) GetID() int32 {
if x != nil {
return x.ID
}
return 0
}
type UpdateCartReq struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Id int32 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
UserId int32 `protobuf:"varint,2,opt,name=userId,proto3" json:"userId,omitempty"`
ProductId int32 `protobuf:"varint,3,opt,name=productId,proto3" json:"productId,omitempty"`
ProductSkuId int32 `protobuf:"varint,4,opt,name=productSkuId,proto3" json:"productSkuId,omitempty"`
ProductName string `protobuf:"bytes,5,opt,name=productName,proto3" json:"productName,omitempty"`
ProductMainPicture string `protobuf:"bytes,6,opt,name=productMainPicture,proto3" json:"productMainPicture,omitempty"`
Number int32 `protobuf:"varint,7,opt,name=number,proto3" json:"number,omitempty"`
// 查询修改所需
UpdateTime string `protobuf:"bytes,8,opt,name=updateTime,proto3" json:"updateTime,omitempty"`
CrateTime string `protobuf:"bytes,9,opt,name=crateTime,proto3" json:"crateTime,omitempty"`
CreateUser int32 `protobuf:"varint,10,opt,name=createUser,proto3" json:"createUser,omitempty"`
UpdateUser int32 `protobuf:"varint,11,opt,name=updateUser,proto3" json:"updateUser,omitempty"`
IsDeleted bool `protobuf:"varint,12,opt,name=isDeleted,proto3" json:"isDeleted,omitempty"`
}
func (x *UpdateCartReq) Reset() {
*x = UpdateCartReq{}
if protoimpl.UnsafeEnabled {
mi := &file_cart_proto_msgTypes[3]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *UpdateCartReq) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*UpdateCartReq) ProtoMessage() {}
func (x *UpdateCartReq) ProtoReflect() protoreflect.Message {
mi := &file_cart_proto_msgTypes[3]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use UpdateCartReq.ProtoReflect.Descriptor instead.
func (*UpdateCartReq) Descriptor() ([]byte, []int) {
return file_cart_proto_rawDescGZIP(), []int{3}
}
func (x *UpdateCartReq) GetId() int32 {
if x != nil {
return x.Id
}
return 0
}
func (x *UpdateCartReq) GetUserId() int32 {
if x != nil {
return x.UserId
}
return 0
}
func (x *UpdateCartReq) GetProductId() int32 {
if x != nil {
return x.ProductId
}
return 0
}
func (x *UpdateCartReq) GetProductSkuId() int32 {
if x != nil {
return x.ProductSkuId
}
return 0
}
func (x *UpdateCartReq) GetProductName() string {
if x != nil {
return x.ProductName
}
return ""
}
func (x *UpdateCartReq) GetProductMainPicture() string {
if x != nil {
return x.ProductMainPicture
}
return ""
}
func (x *UpdateCartReq) GetNumber() int32 {
if x != nil {
return x.Number
}
return 0
}
func (x *UpdateCartReq) GetUpdateTime() string {
if x != nil {
return x.UpdateTime
}
return ""
}
func (x *UpdateCartReq) GetCrateTime() string {
if x != nil {
return x.CrateTime
}
return ""
}
func (x *UpdateCartReq) GetCreateUser() int32 {
if x != nil {
return x.CreateUser
}
return 0
}
func (x *UpdateCartReq) GetUpdateUser() int32 {
if x != nil {
return x.UpdateUser
}
return 0
}
func (x *UpdateCartReq) GetIsDeleted() bool {
if x != nil {
return x.IsDeleted
}
return false
}
type UpdateCartResp struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
ShoppingCartNumber int64 `protobuf:"varint,3,opt,name=shoppingCartNumber,proto3" json:"shoppingCartNumber,omitempty"`
CanSetShoppingCartNumber int64 `protobuf:"varint,4,opt,name=canSetShoppingCartNumber,proto3" json:"canSetShoppingCartNumber,omitempty"`
IsBeyondMaxLimit bool `protobuf:"varint,5,opt,name=isBeyondMaxLimit,proto3" json:"isBeyondMaxLimit,omitempty"`
ID int32 `protobuf:"varint,6,opt,name=ID,proto3" json:"ID,omitempty"`
}
func (x *UpdateCartResp) Reset() {
*x = UpdateCartResp{}
if protoimpl.UnsafeEnabled {
mi := &file_cart_proto_msgTypes[4]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *UpdateCartResp) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*UpdateCartResp) ProtoMessage() {}
func (x *UpdateCartResp) ProtoReflect() protoreflect.Message {
mi := &file_cart_proto_msgTypes[4]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use UpdateCartResp.ProtoReflect.Descriptor instead.
func (*UpdateCartResp) Descriptor() ([]byte, []int) {
return file_cart_proto_rawDescGZIP(), []int{4}
}
func (x *UpdateCartResp) GetShoppingCartNumber() int64 {
if x != nil {
return x.ShoppingCartNumber
}
return 0
}
func (x *UpdateCartResp) GetCanSetShoppingCartNumber() int64 {
if x != nil {
return x.CanSetShoppingCartNumber
}
return 0
}
func (x *UpdateCartResp) GetIsBeyondMaxLimit() bool {
if x != nil {
return x.IsBeyondMaxLimit
}
return false
}
func (x *UpdateCartResp) GetID() int32 {
if x != nil {
return x.ID
}
return 0
}
type FindCartReq struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Id int32 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
UserId int32 `protobuf:"varint,2,opt,name=userId,proto3" json:"userId,omitempty"`
IsDeleted bool `protobuf:"varint,3,opt,name=isDeleted,proto3" json:"isDeleted,omitempty"`
}
func (x *FindCartReq) Reset() {
*x = FindCartReq{}
if protoimpl.UnsafeEnabled {
mi := &file_cart_proto_msgTypes[5]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *FindCartReq) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*FindCartReq) ProtoMessage() {}
func (x *FindCartReq) ProtoReflect() protoreflect.Message {
mi := &file_cart_proto_msgTypes[5]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use FindCartReq.ProtoReflect.Descriptor instead.
func (*FindCartReq) Descriptor() ([]byte, []int) {
return file_cart_proto_rawDescGZIP(), []int{5}
}
func (x *FindCartReq) GetId() int32 {
if x != nil {
return x.Id
}
return 0
}
func (x *FindCartReq) GetUserId() int32 {
if x != nil {
return x.UserId
}
return 0
}
func (x *FindCartReq) GetIsDeleted() bool {
if x != nil {
return x.IsDeleted
}
return false
}
type FindCartResp struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
ShoppingCart *ShoppingCart `protobuf:"bytes,1,opt,name=shoppingCart,proto3" json:"shoppingCart,omitempty"`
}
func (x *FindCartResp) Reset() {
*x = FindCartResp{}
if protoimpl.UnsafeEnabled {
mi := &file_cart_proto_msgTypes[6]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *FindCartResp) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*FindCartResp) ProtoMessage() {}
func (x *FindCartResp) ProtoReflect() protoreflect.Message {
mi := &file_cart_proto_msgTypes[6]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use FindCartResp.ProtoReflect.Descriptor instead.
func (*FindCartResp) Descriptor() ([]byte, []int) {
return file_cart_proto_rawDescGZIP(), []int{6}
}
func (x *FindCartResp) GetShoppingCart() *ShoppingCart {
if x != nil {
return x.ShoppingCart
}
return nil
}
2 years ago
type Product struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Id int32 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
StartingPrice int32 `protobuf:"varint,3,opt,name=startingPrice,proto3" json:"startingPrice,omitempty"`
MainPicture string `protobuf:"bytes,4,opt,name=mainPicture,proto3" json:"mainPicture,omitempty"`
LabelList map[string]string `protobuf:"bytes,5,rep,name=labelList,proto3" json:"labelList,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
SingleBuyLimit int32 `protobuf:"varint,6,opt,name=singleBuyLimit,proto3" json:"singleBuyLimit,omitempty"`
Token string `protobuf:"bytes,7,opt,name=token,proto3" json:"token,omitempty"`
IsEnable bool `protobuf:"varint,8,opt,name=isEnable,proto3" json:"isEnable,omitempty"`
ProductType int32 `protobuf:"varint,9,opt,name=productType,proto3" json:"productType,omitempty"`
}
func (x *Product) Reset() {
*x = Product{}
if protoimpl.UnsafeEnabled {
mi := &file_cart_proto_msgTypes[7]
2 years ago
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *Product) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*Product) ProtoMessage() {}
func (x *Product) ProtoReflect() protoreflect.Message {
mi := &file_cart_proto_msgTypes[7]
2 years ago
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use Product.ProtoReflect.Descriptor instead.
func (*Product) Descriptor() ([]byte, []int) {
return file_cart_proto_rawDescGZIP(), []int{7}
2 years ago
}
func (x *Product) GetId() int32 {
if x != nil {
return x.Id
}
return 0
}
func (x *Product) GetName() string {
if x != nil {
return x.Name
}
return ""
}
func (x *Product) GetStartingPrice() int32 {
if x != nil {
return x.StartingPrice
}
return 0
}
func (x *Product) GetMainPicture() string {
if x != nil {
return x.MainPicture
}
return ""
}
func (x *Product) GetLabelList() map[string]string {
if x != nil {
return x.LabelList
}
return nil
}
func (x *Product) GetSingleBuyLimit() int32 {
if x != nil {
return x.SingleBuyLimit
}
return 0
}
func (x *Product) GetToken() string {
if x != nil {
return x.Token
}
return ""
}
func (x *Product) GetIsEnable() bool {
if x != nil {
return x.IsEnable
}
return false
}
func (x *Product) GetProductType() int32 {
if x != nil {
return x.ProductType
}
return 0
}
// 请求 request struct
type PageReq struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Length int32 `protobuf:"varint,1,opt,name=length,proto3" json:"length,omitempty"`
PageIndex int32 `protobuf:"varint,2,opt,name=pageIndex,proto3" json:"pageIndex,omitempty"`
}
func (x *PageReq) Reset() {
*x = PageReq{}
if protoimpl.UnsafeEnabled {
mi := &file_cart_proto_msgTypes[8]
2 years ago
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *PageReq) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*PageReq) ProtoMessage() {}
func (x *PageReq) ProtoReflect() protoreflect.Message {
mi := &file_cart_proto_msgTypes[8]
2 years ago
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use PageReq.ProtoReflect.Descriptor instead.
func (*PageReq) Descriptor() ([]byte, []int) {
return file_cart_proto_rawDescGZIP(), []int{8}
2 years ago
}
func (x *PageReq) GetLength() int32 {
if x != nil {
return x.Length
}
return 0
}
func (x *PageReq) GetPageIndex() int32 {
if x != nil {
return x.PageIndex
}
return 0
}
// *
type PageResp struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Product []*Product `protobuf:"bytes,1,rep,name=product,proto3" json:"product,omitempty"`
Total int64 `protobuf:"varint,2,opt,name=total,proto3" json:"total,omitempty"`
Rows int64 `protobuf:"varint,3,opt,name=rows,proto3" json:"rows,omitempty"`
}
func (x *PageResp) Reset() {
*x = PageResp{}
if protoimpl.UnsafeEnabled {
mi := &file_cart_proto_msgTypes[9]
2 years ago
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *PageResp) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*PageResp) ProtoMessage() {}
func (x *PageResp) ProtoReflect() protoreflect.Message {
mi := &file_cart_proto_msgTypes[9]
2 years ago
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use PageResp.ProtoReflect.Descriptor instead.
func (*PageResp) Descriptor() ([]byte, []int) {
return file_cart_proto_rawDescGZIP(), []int{9}
2 years ago
}
func (x *PageResp) GetProduct() []*Product {
if x != nil {
return x.Product
}
return nil
}
func (x *PageResp) GetTotal() int64 {
if x != nil {
return x.Total
}
return 0
}
func (x *PageResp) GetRows() int64 {
if x != nil {
return x.Rows
}
return 0
}
// *
// ID int32 `json:"id"`
// Name string `json:"name"`
// ProductType int32 `gorm:"default:1" json:"productType"`
// CategoryId int32 `json:"categoryId"`
// StartingPrice float32 `json:"startingPrice"`
// TotalStock int32 `gorm:"default:1234" json:"totalStock"`
// MainPicture string `gorm:"default:1" json:"mainPicture"`
// RemoteAreaPostage float32 `json:"remoteAreaPostage"`
// SingleBuyLimit int32 `json:"singleBuyLimit"`
// IsEnable bool `json:"isEnable"`
// Remark string `gorm:"default:1" json:"remark"`
// CreateUser int32 `gorm:"default:1" json:"createUser"`
// CreateTime time.Time `json:"createTime"`
// UpdateUser int32 `json:"updateUser"`
// UpdateTime time.Time `json:"updateTime"`
// IsDeleted bool `json:"isDeleted"`
// Detail string `gorm:"dtail" json:"detail"` //商品详情页面
// PictureList []string `gorm:"pictureList" json:"pictureList"` //商品详情需要的图片
type ProductDetail struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Id int32 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
ProductType int32 `protobuf:"varint,3,opt,name=productType,proto3" json:"productType,omitempty"`
CategoryId int32 `protobuf:"varint,4,opt,name=categoryId,proto3" json:"categoryId,omitempty"`
StartingPrice float32 `protobuf:"fixed32,5,opt,name=startingPrice,proto3" json:"startingPrice,omitempty"`
TotalStock int32 `protobuf:"varint,6,opt,name=totalStock,proto3" json:"totalStock,omitempty"`
MainPicture string `protobuf:"bytes,7,opt,name=mainPicture,proto3" json:"mainPicture,omitempty"`
RemoteAreaPostage float32 `protobuf:"fixed32,8,opt,name=remoteAreaPostage,proto3" json:"remoteAreaPostage,omitempty"`
SingleBuyLimit int32 `protobuf:"varint,9,opt,name=singleBuyLimit,proto3" json:"singleBuyLimit,omitempty"`
IsEnable bool `protobuf:"varint,10,opt,name=isEnable,proto3" json:"isEnable,omitempty"`
Remark string `protobuf:"bytes,11,opt,name=remark,proto3" json:"remark,omitempty"`
CreateUser int32 `protobuf:"varint,12,opt,name=createUser,proto3" json:"createUser,omitempty"`
CreateTime string `protobuf:"bytes,13,opt,name=createTime,proto3" json:"createTime,omitempty"` //go get google.golang.org/protobuf/ptypes/timestamp
UpdateUser int32 `protobuf:"varint,14,opt,name=updateUser,proto3" json:"updateUser,omitempty"`
UpdateTime string `protobuf:"bytes,15,opt,name=updateTime,proto3" json:"updateTime,omitempty"`
IsDeleted bool `protobuf:"varint,16,opt,name=IsDeleted,proto3" json:"IsDeleted,omitempty"`
Detail string `protobuf:"bytes,17,opt,name=detail,proto3" json:"detail,omitempty"`
PictureList string `protobuf:"bytes,18,opt,name=pictureList,proto3" json:"pictureList,omitempty"`
}
func (x *ProductDetail) Reset() {
*x = ProductDetail{}
if protoimpl.UnsafeEnabled {
mi := &file_cart_proto_msgTypes[10]
2 years ago
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ProductDetail) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ProductDetail) ProtoMessage() {}
func (x *ProductDetail) ProtoReflect() protoreflect.Message {
mi := &file_cart_proto_msgTypes[10]
2 years ago
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use ProductDetail.ProtoReflect.Descriptor instead.
func (*ProductDetail) Descriptor() ([]byte, []int) {
return file_cart_proto_rawDescGZIP(), []int{10}
2 years ago
}
func (x *ProductDetail) GetId() int32 {
if x != nil {
return x.Id
}
return 0
}
func (x *ProductDetail) GetName() string {
if x != nil {
return x.Name
}
return ""
}
func (x *ProductDetail) GetProductType() int32 {
if x != nil {
return x.ProductType
}
return 0
}
func (x *ProductDetail) GetCategoryId() int32 {
if x != nil {
return x.CategoryId
}
return 0
}
func (x *ProductDetail) GetStartingPrice() float32 {
if x != nil {
return x.StartingPrice
}
return 0
}
func (x *ProductDetail) GetTotalStock() int32 {
if x != nil {
return x.TotalStock
}
return 0
}
func (x *ProductDetail) GetMainPicture() string {
if x != nil {
return x.MainPicture
}
return ""
}
func (x *ProductDetail) GetRemoteAreaPostage() float32 {
if x != nil {
return x.RemoteAreaPostage
}
return 0
}
func (x *ProductDetail) GetSingleBuyLimit() int32 {
if x != nil {
return x.SingleBuyLimit
}
return 0
}
func (x *ProductDetail) GetIsEnable() bool {
if x != nil {
return x.IsEnable
}
return false
}
func (x *ProductDetail) GetRemark() string {
if x != nil {
return x.Remark
}
return ""
}
func (x *ProductDetail) GetCreateUser() int32 {
if x != nil {
return x.CreateUser
}
return 0
}
func (x *ProductDetail) GetCreateTime() string {
if x != nil {
return x.CreateTime
}
return ""
}
func (x *ProductDetail) GetUpdateUser() int32 {
if x != nil {
return x.UpdateUser
}
return 0
}
func (x *ProductDetail) GetUpdateTime() string {
if x != nil {
return x.UpdateTime
}
return ""
}
func (x *ProductDetail) GetIsDeleted() bool {
if x != nil {
return x.IsDeleted
}
return false
}
func (x *ProductDetail) GetDetail() string {
if x != nil {
return x.Detail
}
return ""
}
func (x *ProductDetail) GetPictureList() string {
if x != nil {
return x.PictureList
}
return ""
}
// 请求 request struct
type ProductDetailReq struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Id int32 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
}
func (x *ProductDetailReq) Reset() {
*x = ProductDetailReq{}
if protoimpl.UnsafeEnabled {
mi := &file_cart_proto_msgTypes[11]
2 years ago
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ProductDetailReq) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ProductDetailReq) ProtoMessage() {}
func (x *ProductDetailReq) ProtoReflect() protoreflect.Message {
mi := &file_cart_proto_msgTypes[11]
2 years ago
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use ProductDetailReq.ProtoReflect.Descriptor instead.
func (*ProductDetailReq) Descriptor() ([]byte, []int) {
return file_cart_proto_rawDescGZIP(), []int{11}
2 years ago
}
func (x *ProductDetailReq) GetId() int32 {
if x != nil {
return x.Id
}
return 0
}
// *
type ProductDetailResp struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
ProductDetail []*ProductDetail `protobuf:"bytes,1,rep,name=productDetail,proto3" json:"productDetail,omitempty"`
}
func (x *ProductDetailResp) Reset() {
*x = ProductDetailResp{}
if protoimpl.UnsafeEnabled {
mi := &file_cart_proto_msgTypes[12]
2 years ago
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ProductDetailResp) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ProductDetailResp) ProtoMessage() {}
func (x *ProductDetailResp) ProtoReflect() protoreflect.Message {
mi := &file_cart_proto_msgTypes[12]
2 years ago
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use ProductDetailResp.ProtoReflect.Descriptor instead.
func (*ProductDetailResp) Descriptor() ([]byte, []int) {
return file_cart_proto_rawDescGZIP(), []int{12}
2 years ago
}
func (x *ProductDetailResp) GetProductDetail() []*ProductDetail {
if x != nil {
return x.ProductDetail
}
return nil
}
// SkuId int32 `gorm:"column:id" json:"skuId"`
// Name string
// AttributeSymbolList string `gorm:"column:attribute_symbolList" json:"attributeSymbolList"`
// SellPrice float32 `gorm:"column:sell_price" json:"sellPrice"`
// Stock int32 `gorm:"default:1"`
type ProductSku struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
SkuId int32 `protobuf:"varint,1,opt,name=skuId,proto3" json:"skuId,omitempty"`
Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
AttributeSymbolList string `protobuf:"bytes,3,opt,name=attributeSymbolList,proto3" json:"attributeSymbolList,omitempty"`
SellPrice float32 `protobuf:"fixed32,4,opt,name=sellPrice,proto3" json:"sellPrice,omitempty"`
Stock int32 `protobuf:"varint,5,opt,name=stock,proto3" json:"stock,omitempty"`
}
func (x *ProductSku) Reset() {
*x = ProductSku{}
if protoimpl.UnsafeEnabled {
mi := &file_cart_proto_msgTypes[13]
2 years ago
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ProductSku) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ProductSku) ProtoMessage() {}
func (x *ProductSku) ProtoReflect() protoreflect.Message {
mi := &file_cart_proto_msgTypes[13]
2 years ago
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use ProductSku.ProtoReflect.Descriptor instead.
func (*ProductSku) Descriptor() ([]byte, []int) {
return file_cart_proto_rawDescGZIP(), []int{13}
2 years ago
}
func (x *ProductSku) GetSkuId() int32 {
if x != nil {
return x.SkuId
}
return 0
}
func (x *ProductSku) GetName() string {
if x != nil {
return x.Name
}
return ""
}
func (x *ProductSku) GetAttributeSymbolList() string {
if x != nil {
return x.AttributeSymbolList
}
return ""
}
func (x *ProductSku) GetSellPrice() float32 {
if x != nil {
return x.SellPrice
}
return 0
}
func (x *ProductSku) GetStock() int32 {
if x != nil {
return x.Stock
}
return 0
}
// 请求 request struct
type ProductSkuReq struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
ProductId int32 `protobuf:"varint,1,opt,name=productId,proto3" json:"productId,omitempty"`
}
func (x *ProductSkuReq) Reset() {
*x = ProductSkuReq{}
if protoimpl.UnsafeEnabled {
mi := &file_cart_proto_msgTypes[14]
2 years ago
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ProductSkuReq) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ProductSkuReq) ProtoMessage() {}
func (x *ProductSkuReq) ProtoReflect() protoreflect.Message {
mi := &file_cart_proto_msgTypes[14]
2 years ago
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use ProductSkuReq.ProtoReflect.Descriptor instead.
func (*ProductSkuReq) Descriptor() ([]byte, []int) {
return file_cart_proto_rawDescGZIP(), []int{14}
2 years ago
}
func (x *ProductSkuReq) GetProductId() int32 {
if x != nil {
return x.ProductId
}
return 0
}
// *
type ProductSkuResp struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
ProductSku []*ProductSku `protobuf:"bytes,1,rep,name=productSku,proto3" json:"productSku,omitempty"`
}
func (x *ProductSkuResp) Reset() {
*x = ProductSkuResp{}
if protoimpl.UnsafeEnabled {
mi := &file_cart_proto_msgTypes[15]
2 years ago
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ProductSkuResp) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ProductSkuResp) ProtoMessage() {}
func (x *ProductSkuResp) ProtoReflect() protoreflect.Message {
mi := &file_cart_proto_msgTypes[15]
2 years ago
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use ProductSkuResp.ProtoReflect.Descriptor instead.
func (*ProductSkuResp) Descriptor() ([]byte, []int) {
return file_cart_proto_rawDescGZIP(), []int{15}
2 years ago
}
func (x *ProductSkuResp) GetProductSku() []*ProductSku {
if x != nil {
return x.ProductSku
}
return nil
}
2 years ago
// 获取 分布式 token
type TokenReq struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Uuid string `protobuf:"bytes,1,opt,name=uuid,proto3" json:"uuid,omitempty"`
}
func (x *TokenReq) Reset() {
*x = TokenReq{}
if protoimpl.UnsafeEnabled {
mi := &file_cart_proto_msgTypes[16]
2 years ago
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *TokenReq) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*TokenReq) ProtoMessage() {}
func (x *TokenReq) ProtoReflect() protoreflect.Message {
mi := &file_cart_proto_msgTypes[16]
2 years ago
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use TokenReq.ProtoReflect.Descriptor instead.
func (*TokenReq) Descriptor() ([]byte, []int) {
return file_cart_proto_rawDescGZIP(), []int{16}
2 years ago
}
func (x *TokenReq) GetUuid() string {
if x != nil {
return x.Uuid
}
return ""
}
// 响应 resp struct
type TokenResp struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Token string `protobuf:"bytes,1,opt,name=token,proto3" json:"token,omitempty"`
IsLogin bool `protobuf:"varint,2,opt,name=isLogin,proto3" json:"isLogin,omitempty"`
}
func (x *TokenResp) Reset() {
*x = TokenResp{}
if protoimpl.UnsafeEnabled {
mi := &file_cart_proto_msgTypes[17]
2 years ago
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *TokenResp) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*TokenResp) ProtoMessage() {}
func (x *TokenResp) ProtoReflect() protoreflect.Message {
mi := &file_cart_proto_msgTypes[17]
2 years ago
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use TokenResp.ProtoReflect.Descriptor instead.
func (*TokenResp) Descriptor() ([]byte, []int) {
return file_cart_proto_rawDescGZIP(), []int{17}
2 years ago
}
func (x *TokenResp) GetToken() string {
if x != nil {
return x.Token
}
return ""
}
func (x *TokenResp) GetIsLogin() bool {
if x != nil {
return x.IsLogin
}
return false
}
2 years ago
// 修改库存
type UpdateSkuReq struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
ProductSku *ProductSku `protobuf:"bytes,1,opt,name=productSku,proto3" json:"productSku,omitempty"`
}
func (x *UpdateSkuReq) Reset() {
*x = UpdateSkuReq{}
if protoimpl.UnsafeEnabled {
mi := &file_cart_proto_msgTypes[18]
2 years ago
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *UpdateSkuReq) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*UpdateSkuReq) ProtoMessage() {}
func (x *UpdateSkuReq) ProtoReflect() protoreflect.Message {
mi := &file_cart_proto_msgTypes[18]
2 years ago
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use UpdateSkuReq.ProtoReflect.Descriptor instead.
func (*UpdateSkuReq) Descriptor() ([]byte, []int) {
return file_cart_proto_rawDescGZIP(), []int{18}
2 years ago
}
func (x *UpdateSkuReq) GetProductSku() *ProductSku {
if x != nil {
return x.ProductSku
}
return nil
}
type UpdateSkuResp struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
IsSuccess bool `protobuf:"varint,1,opt,name=isSuccess,proto3" json:"isSuccess,omitempty"`
}
func (x *UpdateSkuResp) Reset() {
*x = UpdateSkuResp{}
if protoimpl.UnsafeEnabled {
mi := &file_cart_proto_msgTypes[19]
2 years ago
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *UpdateSkuResp) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*UpdateSkuResp) ProtoMessage() {}
func (x *UpdateSkuResp) ProtoReflect() protoreflect.Message {
mi := &file_cart_proto_msgTypes[19]
2 years ago
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use UpdateSkuResp.ProtoReflect.Descriptor instead.
func (*UpdateSkuResp) Descriptor() ([]byte, []int) {
return file_cart_proto_rawDescGZIP(), []int{19}
2 years ago
}
func (x *UpdateSkuResp) GetIsSuccess() bool {
if x != nil {
return x.IsSuccess
}
return false
}
// 计算订单价格 请求
type OrderTotalReq struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
CartIds []int32 `protobuf:"varint,1,rep,packed,name=cartIds,proto3" json:"cartIds,omitempty"`
}
func (x *OrderTotalReq) Reset() {
*x = OrderTotalReq{}
if protoimpl.UnsafeEnabled {
mi := &file_cart_proto_msgTypes[20]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *OrderTotalReq) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*OrderTotalReq) ProtoMessage() {}
func (x *OrderTotalReq) ProtoReflect() protoreflect.Message {
mi := &file_cart_proto_msgTypes[20]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use OrderTotalReq.ProtoReflect.Descriptor instead.
func (*OrderTotalReq) Descriptor() ([]byte, []int) {
return file_cart_proto_rawDescGZIP(), []int{20}
}
func (x *OrderTotalReq) GetCartIds() []int32 {
if x != nil {
return x.CartIds
}
return nil
}
// 计算订单价格 响应
type OrderTotalResp struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
TotalPrice float32 `protobuf:"fixed32,1,opt,name=totalPrice,proto3" json:"totalPrice,omitempty"`
}
func (x *OrderTotalResp) Reset() {
*x = OrderTotalResp{}
if protoimpl.UnsafeEnabled {
mi := &file_cart_proto_msgTypes[21]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *OrderTotalResp) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*OrderTotalResp) ProtoMessage() {}
func (x *OrderTotalResp) ProtoReflect() protoreflect.Message {
mi := &file_cart_proto_msgTypes[21]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use OrderTotalResp.ProtoReflect.Descriptor instead.
func (*OrderTotalResp) Descriptor() ([]byte, []int) {
return file_cart_proto_rawDescGZIP(), []int{21}
}
func (x *OrderTotalResp) GetTotalPrice() float32 {
if x != nil {
return x.TotalPrice
}
return 0
}
2 years ago
var File_cart_proto protoreflect.FileDescriptor
var file_cart_proto_rawDesc = []byte{
0x0a, 0x0a, 0x63, 0x61, 0x72, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x70, 0x72,
0x6f, 0x74, 0x6f, 0x22, 0xfe, 0x02, 0x0a, 0x0c, 0x53, 0x68, 0x6f, 0x70, 0x70, 0x69, 0x6e, 0x67,
2 years ago
0x43, 0x61, 0x72, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05,
0x52, 0x02, 0x69, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, 0x02,
0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09,
0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52,
0x09, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x49, 0x64, 0x12, 0x22, 0x0a, 0x0c, 0x70, 0x72,
0x6f, 0x64, 0x75, 0x63, 0x74, 0x53, 0x6b, 0x75, 0x49, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05,
0x52, 0x0c, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x53, 0x6b, 0x75, 0x49, 0x64, 0x12, 0x20,
0x0a, 0x0b, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20,
0x01, 0x28, 0x09, 0x52, 0x0b, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x4e, 0x61, 0x6d, 0x65,
0x12, 0x2e, 0x0a, 0x12, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x4d, 0x61, 0x69, 0x6e, 0x50,
0x69, 0x63, 0x74, 0x75, 0x72, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x70, 0x72,
0x6f, 0x64, 0x75, 0x63, 0x74, 0x4d, 0x61, 0x69, 0x6e, 0x50, 0x69, 0x63, 0x74, 0x75, 0x72, 0x65,
0x12, 0x16, 0x0a, 0x06, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05,
0x52, 0x06, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x1e, 0x0a, 0x0a, 0x75, 0x70, 0x64, 0x61,
0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x75, 0x70,
0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x72, 0x61, 0x74,
0x65, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x72, 0x61,
0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65,
0x55, 0x73, 0x65, 0x72, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x63, 0x72, 0x65, 0x61,
0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x12, 0x1e, 0x0a, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65,
0x55, 0x73, 0x65, 0x72, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61,
0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x12, 0x1c, 0x0a, 0x09, 0x69, 0x73, 0x44, 0x65, 0x6c, 0x65,
0x74, 0x65, 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x69, 0x73, 0x44, 0x65, 0x6c,
0x65, 0x74, 0x65, 0x64, 0x22, 0x80, 0x02, 0x0a, 0x0a, 0x41, 0x64, 0x64, 0x43, 0x61, 0x72, 0x74,
0x52, 0x65, 0x71, 0x12, 0x16, 0x0a, 0x06, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x01, 0x20,
0x01, 0x28, 0x05, 0x52, 0x06, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x1c, 0x0a, 0x09, 0x70,
0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09,
0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x49, 0x64, 0x12, 0x22, 0x0a, 0x0c, 0x70, 0x72, 0x6f,
0x64, 0x75, 0x63, 0x74, 0x53, 0x6b, 0x75, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52,
0x0c, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x53, 0x6b, 0x75, 0x49, 0x64, 0x12, 0x20, 0x0a,
0x0b, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01,
0x28, 0x09, 0x52, 0x0b, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12,
0x2e, 0x0a, 0x12, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x4d, 0x61, 0x69, 0x6e, 0x50, 0x69,
0x63, 0x74, 0x75, 0x72, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x70, 0x72, 0x6f,
0x64, 0x75, 0x63, 0x74, 0x4d, 0x61, 0x69, 0x6e, 0x50, 0x69, 0x63, 0x74, 0x75, 0x72, 0x65, 0x12,
0x16, 0x0a, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52,
0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x07, 0x20,
0x01, 0x28, 0x05, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74,
0x65, 0x55, 0x73, 0x65, 0x72, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x63, 0x72, 0x65,
0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x22, 0xb0, 0x02, 0x0a, 0x0b, 0x41, 0x64, 0x64, 0x43,
0x61, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x3a, 0x0a, 0x0d, 0x70, 0x72, 0x6f, 0x64, 0x75,
0x63, 0x74, 0x53, 0x69, 0x6d, 0x70, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14,
0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, 0x65,
0x74, 0x61, 0x69, 0x6c, 0x52, 0x0d, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x53, 0x69, 0x6d,
0x70, 0x6c, 0x65, 0x12, 0x3d, 0x0a, 0x10, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x53, 0x6b,
0x75, 0x53, 0x69, 0x6d, 0x70, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e,
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x53, 0x6b, 0x75,
0x52, 0x10, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x53, 0x6b, 0x75, 0x53, 0x69, 0x6d, 0x70,
0x6c, 0x65, 0x12, 0x2e, 0x0a, 0x12, 0x73, 0x68, 0x6f, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x43, 0x61,
0x72, 0x74, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x12,
0x73, 0x68, 0x6f, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x43, 0x61, 0x72, 0x74, 0x4e, 0x75, 0x6d, 0x62,
0x65, 0x72, 0x12, 0x3a, 0x0a, 0x18, 0x63, 0x61, 0x6e, 0x53, 0x65, 0x74, 0x53, 0x68, 0x6f, 0x70,
0x70, 0x69, 0x6e, 0x67, 0x43, 0x61, 0x72, 0x74, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x04,
0x20, 0x01, 0x28, 0x03, 0x52, 0x18, 0x63, 0x61, 0x6e, 0x53, 0x65, 0x74, 0x53, 0x68, 0x6f, 0x70,
0x70, 0x69, 0x6e, 0x67, 0x43, 0x61, 0x72, 0x74, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x2a,
0x0a, 0x10, 0x69, 0x73, 0x42, 0x65, 0x79, 0x6f, 0x6e, 0x64, 0x4d, 0x61, 0x78, 0x4c, 0x69, 0x6d,
0x69, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x69, 0x73, 0x42, 0x65, 0x79, 0x6f,
0x6e, 0x64, 0x4d, 0x61, 0x78, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x44,
0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x49, 0x44, 0x22, 0xff, 0x02, 0x0a, 0x0d, 0x55,
0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x61, 0x72, 0x74, 0x52, 0x65, 0x71, 0x12, 0x0e, 0x0a, 0x02,
0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x69, 0x64, 0x12, 0x16, 0x0a, 0x06,
0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x75, 0x73,
0x65, 0x72, 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x49,
0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74,
0x49, 0x64, 0x12, 0x22, 0x0a, 0x0c, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x53, 0x6b, 0x75,
0x49, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63,
0x74, 0x53, 0x6b, 0x75, 0x49, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63,
0x74, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x70, 0x72, 0x6f,
0x64, 0x75, 0x63, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x2e, 0x0a, 0x12, 0x70, 0x72, 0x6f, 0x64,
0x75, 0x63, 0x74, 0x4d, 0x61, 0x69, 0x6e, 0x50, 0x69, 0x63, 0x74, 0x75, 0x72, 0x65, 0x18, 0x06,
0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x4d, 0x61, 0x69,
0x6e, 0x50, 0x69, 0x63, 0x74, 0x75, 0x72, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x6e, 0x75, 0x6d, 0x62,
0x65, 0x72, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72,
0x12, 0x1e, 0x0a, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x08,
0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65,
0x12, 0x1c, 0x0a, 0x09, 0x63, 0x72, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x09, 0x20,
0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x72, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1e,
0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x18, 0x0a, 0x20, 0x01,
0x28, 0x05, 0x52, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x12, 0x1e,
0x0a, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x18, 0x0b, 0x20, 0x01,
0x28, 0x05, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x12, 0x1c,
0x0a, 0x09, 0x69, 0x73, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28,
0x08, 0x52, 0x09, 0x69, 0x73, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x22, 0xb8, 0x01, 0x0a,
0x0e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x61, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12,
0x2e, 0x0a, 0x12, 0x73, 0x68, 0x6f, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x43, 0x61, 0x72, 0x74, 0x4e,
0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x12, 0x73, 0x68, 0x6f,
0x70, 0x70, 0x69, 0x6e, 0x67, 0x43, 0x61, 0x72, 0x74, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12,
0x3a, 0x0a, 0x18, 0x63, 0x61, 0x6e, 0x53, 0x65, 0x74, 0x53, 0x68, 0x6f, 0x70, 0x70, 0x69, 0x6e,
0x67, 0x43, 0x61, 0x72, 0x74, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28,
0x03, 0x52, 0x18, 0x63, 0x61, 0x6e, 0x53, 0x65, 0x74, 0x53, 0x68, 0x6f, 0x70, 0x70, 0x69, 0x6e,
0x67, 0x43, 0x61, 0x72, 0x74, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x2a, 0x0a, 0x10, 0x69,
0x73, 0x42, 0x65, 0x79, 0x6f, 0x6e, 0x64, 0x4d, 0x61, 0x78, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x18,
0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x69, 0x73, 0x42, 0x65, 0x79, 0x6f, 0x6e, 0x64, 0x4d,
0x61, 0x78, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x49, 0x44, 0x18, 0x06, 0x20,
0x01, 0x28, 0x05, 0x52, 0x02, 0x49, 0x44, 0x22, 0x53, 0x0a, 0x0b, 0x46, 0x69, 0x6e, 0x64, 0x43,
0x61, 0x72, 0x74, 0x52, 0x65, 0x71, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01,
0x28, 0x05, 0x52, 0x02, 0x69, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64,
0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x1c,
0x0a, 0x09, 0x69, 0x73, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28,
0x08, 0x52, 0x09, 0x69, 0x73, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x22, 0x47, 0x0a, 0x0c,
0x46, 0x69, 0x6e, 0x64, 0x43, 0x61, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x37, 0x0a, 0x0c,
0x73, 0x68, 0x6f, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x43, 0x61, 0x72, 0x74, 0x18, 0x01, 0x20, 0x01,
0x28, 0x0b, 0x32, 0x13, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x53, 0x68, 0x6f, 0x70, 0x70,
0x69, 0x6e, 0x67, 0x43, 0x61, 0x72, 0x74, 0x52, 0x0c, 0x73, 0x68, 0x6f, 0x70, 0x70, 0x69, 0x6e,
0x67, 0x43, 0x61, 0x72, 0x74, 0x22, 0xec, 0x02, 0x0a, 0x07, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63,
0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x69,
0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52,
0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x24, 0x0a, 0x0d, 0x73, 0x74, 0x61, 0x72, 0x74, 0x69, 0x6e,
0x67, 0x50, 0x72, 0x69, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, 0x73, 0x74,
0x61, 0x72, 0x74, 0x69, 0x6e, 0x67, 0x50, 0x72, 0x69, 0x63, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x6d,
0x61, 0x69, 0x6e, 0x50, 0x69, 0x63, 0x74, 0x75, 0x72, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09,
0x52, 0x0b, 0x6d, 0x61, 0x69, 0x6e, 0x50, 0x69, 0x63, 0x74, 0x75, 0x72, 0x65, 0x12, 0x3b, 0x0a,
0x09, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x4c, 0x69, 0x73, 0x74, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b,
0x32, 0x1d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74,
0x2e, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52,
0x09, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x26, 0x0a, 0x0e, 0x73, 0x69,
0x6e, 0x67, 0x6c, 0x65, 0x42, 0x75, 0x79, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x06, 0x20, 0x01,
0x28, 0x05, 0x52, 0x0e, 0x73, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x42, 0x75, 0x79, 0x4c, 0x69, 0x6d,
0x69, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28,
0x09, 0x52, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x69, 0x73, 0x45, 0x6e,
0x61, 0x62, 0x6c, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x69, 0x73, 0x45, 0x6e,
0x61, 0x62, 0x6c, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x54,
0x79, 0x70, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x70, 0x72, 0x6f, 0x64, 0x75,
0x63, 0x74, 0x54, 0x79, 0x70, 0x65, 0x1a, 0x3c, 0x0a, 0x0e, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x4c,
0x69, 0x73, 0x74, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18,
0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61,
0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65,
0x3a, 0x02, 0x38, 0x01, 0x22, 0x3f, 0x0a, 0x07, 0x50, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x12,
0x16, 0x0a, 0x06, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52,
0x06, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x12, 0x1c, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x49,
0x6e, 0x64, 0x65, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65,
0x49, 0x6e, 0x64, 0x65, 0x78, 0x22, 0x5e, 0x0a, 0x08, 0x50, 0x61, 0x67, 0x65, 0x52, 0x65, 0x73,
0x70, 0x12, 0x28, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x18, 0x01, 0x20, 0x03,
0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x50, 0x72, 0x6f, 0x64, 0x75,
0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x74,
0x6f, 0x74, 0x61, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x74, 0x6f, 0x74, 0x61,
0x6c, 0x12, 0x12, 0x0a, 0x04, 0x72, 0x6f, 0x77, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52,
0x04, 0x72, 0x6f, 0x77, 0x73, 0x22, 0xbf, 0x04, 0x0a, 0x0d, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63,
0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20,
0x01, 0x28, 0x05, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18,
0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x70,
0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x54, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05,
0x52, 0x0b, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1e, 0x0a,
0x0a, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x49, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28,
0x05, 0x52, 0x0a, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x49, 0x64, 0x12, 0x24, 0x0a,
0x0d, 0x73, 0x74, 0x61, 0x72, 0x74, 0x69, 0x6e, 0x67, 0x50, 0x72, 0x69, 0x63, 0x65, 0x18, 0x05,
0x20, 0x01, 0x28, 0x02, 0x52, 0x0d, 0x73, 0x74, 0x61, 0x72, 0x74, 0x69, 0x6e, 0x67, 0x50, 0x72,
0x69, 0x63, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x53, 0x74, 0x6f, 0x63,
0x6b, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x53, 0x74,
0x6f, 0x63, 0x6b, 0x12, 0x20, 0x0a, 0x0b, 0x6d, 0x61, 0x69, 0x6e, 0x50, 0x69, 0x63, 0x74, 0x75,
0x72, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6d, 0x61, 0x69, 0x6e, 0x50, 0x69,
0x63, 0x74, 0x75, 0x72, 0x65, 0x12, 0x2c, 0x0a, 0x11, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x41,
0x72, 0x65, 0x61, 0x50, 0x6f, 0x73, 0x74, 0x61, 0x67, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x02,
0x52, 0x11, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x41, 0x72, 0x65, 0x61, 0x50, 0x6f, 0x73, 0x74,
0x61, 0x67, 0x65, 0x12, 0x26, 0x0a, 0x0e, 0x73, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x42, 0x75, 0x79,
0x4c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, 0x73, 0x69, 0x6e,
0x67, 0x6c, 0x65, 0x42, 0x75, 0x79, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x69,
0x73, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x69,
0x73, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x6d, 0x61, 0x72,
0x6b, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x65, 0x6d, 0x61, 0x72, 0x6b, 0x12,
0x1e, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x18, 0x0c, 0x20,
0x01, 0x28, 0x05, 0x52, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x12,
0x1e, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x0d, 0x20,
0x01, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12,
0x1e, 0x0a, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x18, 0x0e, 0x20,
0x01, 0x28, 0x05, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x12,
0x1e, 0x0a, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x0f, 0x20,
0x01, 0x28, 0x09, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12,
0x1c, 0x0a, 0x09, 0x49, 0x73, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x18, 0x10, 0x20, 0x01,
0x28, 0x08, 0x52, 0x09, 0x49, 0x73, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x12, 0x16, 0x0a,
0x06, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x18, 0x11, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x64,
0x65, 0x74, 0x61, 0x69, 0x6c, 0x12, 0x20, 0x0a, 0x0b, 0x70, 0x69, 0x63, 0x74, 0x75, 0x72, 0x65,
0x4c, 0x69, 0x73, 0x74, 0x18, 0x12, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x70, 0x69, 0x63, 0x74,
0x75, 0x72, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x22, 0x22, 0x0a, 0x10, 0x50, 0x72, 0x6f, 0x64, 0x75,
0x63, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x52, 0x65, 0x71, 0x12, 0x0e, 0x0a, 0x02, 0x69,
0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x69, 0x64, 0x22, 0x4f, 0x0a, 0x11, 0x50,
0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x52, 0x65, 0x73, 0x70,
0x12, 0x3a, 0x0a, 0x0d, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69,
0x6c, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e,
0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x52, 0x0d, 0x70,
0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x22, 0x9c, 0x01, 0x0a,
0x0a, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x53, 0x6b, 0x75, 0x12, 0x14, 0x0a, 0x05, 0x73,
0x6b, 0x75, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x73, 0x6b, 0x75, 0x49,
0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52,
0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x30, 0x0a, 0x13, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75,
0x74, 0x65, 0x53, 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x4c, 0x69, 0x73, 0x74, 0x18, 0x03, 0x20, 0x01,
0x28, 0x09, 0x52, 0x13, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x53, 0x79, 0x6d,
0x62, 0x6f, 0x6c, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x65, 0x6c, 0x6c, 0x50,
0x72, 0x69, 0x63, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x02, 0x52, 0x09, 0x73, 0x65, 0x6c, 0x6c,
0x50, 0x72, 0x69, 0x63, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74, 0x6f, 0x63, 0x6b, 0x18, 0x05,
0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x73, 0x74, 0x6f, 0x63, 0x6b, 0x22, 0x2d, 0x0a, 0x0d, 0x50,
0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x53, 0x6b, 0x75, 0x52, 0x65, 0x71, 0x12, 0x1c, 0x0a, 0x09,
0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52,
0x09, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x49, 0x64, 0x22, 0x43, 0x0a, 0x0e, 0x50, 0x72,
0x6f, 0x64, 0x75, 0x63, 0x74, 0x53, 0x6b, 0x75, 0x52, 0x65, 0x73, 0x70, 0x12, 0x31, 0x0a, 0x0a,
0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x53, 0x6b, 0x75, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b,
0x32, 0x11, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74,
0x53, 0x6b, 0x75, 0x52, 0x0a, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x53, 0x6b, 0x75, 0x22,
0x1e, 0x0a, 0x08, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x71, 0x12, 0x12, 0x0a, 0x04, 0x75,
0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x75, 0x69, 0x64, 0x22,
0x3b, 0x0a, 0x09, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x12, 0x14, 0x0a, 0x05,
0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x6f, 0x6b,
0x65, 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x69, 0x73, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x18, 0x02, 0x20,
0x01, 0x28, 0x08, 0x52, 0x07, 0x69, 0x73, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x22, 0x41, 0x0a, 0x0c,
0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x6b, 0x75, 0x52, 0x65, 0x71, 0x12, 0x31, 0x0a, 0x0a,
0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x53, 0x6b, 0x75, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b,
0x32, 0x11, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74,
0x53, 0x6b, 0x75, 0x52, 0x0a, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x53, 0x6b, 0x75, 0x22,
0x2d, 0x0a, 0x0d, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x6b, 0x75, 0x52, 0x65, 0x73, 0x70,
0x12, 0x1c, 0x0a, 0x09, 0x69, 0x73, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20,
0x01, 0x28, 0x08, 0x52, 0x09, 0x69, 0x73, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x22, 0x29,
0x0a, 0x0d, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x52, 0x65, 0x71, 0x12,
0x18, 0x0a, 0x07, 0x63, 0x61, 0x72, 0x74, 0x49, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x05,
0x52, 0x07, 0x63, 0x61, 0x72, 0x74, 0x49, 0x64, 0x73, 0x22, 0x30, 0x0a, 0x0e, 0x4f, 0x72, 0x64,
0x65, 0x72, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x12, 0x1e, 0x0a, 0x0a, 0x74,
0x6f, 0x74, 0x61, 0x6c, 0x50, 0x72, 0x69, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x02, 0x52,
0x0a, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x50, 0x72, 0x69, 0x63, 0x65, 0x32, 0x3d, 0x0a, 0x07, 0x41,
0x64, 0x64, 0x43, 0x61, 0x72, 0x74, 0x12, 0x32, 0x0a, 0x07, 0x41, 0x64, 0x64, 0x43, 0x61, 0x72,
0x74, 0x12, 0x11, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x41, 0x64, 0x64, 0x43, 0x61, 0x72,
0x74, 0x52, 0x65, 0x71, 0x1a, 0x12, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x41, 0x64, 0x64,
0x43, 0x61, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x22, 0x00, 0x32, 0x49, 0x0a, 0x0a, 0x55, 0x70,
0x64, 0x61, 0x74, 0x65, 0x43, 0x61, 0x72, 0x74, 0x12, 0x3b, 0x0a, 0x0a, 0x55, 0x70, 0x64, 0x61,
0x74, 0x65, 0x43, 0x61, 0x72, 0x74, 0x12, 0x14, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x55,
0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x61, 0x72, 0x74, 0x52, 0x65, 0x71, 0x1a, 0x15, 0x2e, 0x70,
0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x61, 0x72, 0x74, 0x52,
0x65, 0x73, 0x70, 0x22, 0x00, 0x32, 0x41, 0x0a, 0x08, 0x46, 0x69, 0x6e, 0x64, 0x43, 0x61, 0x72,
0x74, 0x12, 0x35, 0x0a, 0x08, 0x46, 0x69, 0x6e, 0x64, 0x43, 0x61, 0x72, 0x74, 0x12, 0x12, 0x2e,
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x43, 0x61, 0x72, 0x74, 0x52, 0x65,
0x71, 0x1a, 0x13, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x43, 0x61,
0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x22, 0x00, 0x32, 0x31, 0x0a, 0x04, 0x50, 0x61, 0x67, 0x65,
0x12, 0x29, 0x0a, 0x04, 0x50, 0x61, 0x67, 0x65, 0x12, 0x0e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
0x2e, 0x50, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x1a, 0x0f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
0x2e, 0x50, 0x61, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x22, 0x00, 0x32, 0x5d, 0x0a, 0x11, 0x53,
0x68, 0x6f, 0x77, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c,
0x12, 0x48, 0x0a, 0x11, 0x53, 0x68, 0x6f, 0x77, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44,
0x65, 0x74, 0x61, 0x69, 0x6c, 0x12, 0x17, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x50, 0x72,
0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x52, 0x65, 0x71, 0x1a, 0x18,
0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, 0x65,
0x74, 0x61, 0x69, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x22, 0x00, 0x32, 0x51, 0x0a, 0x0e, 0x53, 0x68,
0x6f, 0x77, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x53, 0x6b, 0x75, 0x12, 0x3f, 0x0a, 0x0e,
0x53, 0x68, 0x6f, 0x77, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x53, 0x6b, 0x75, 0x12, 0x14,
0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x53, 0x6b,
0x75, 0x52, 0x65, 0x71, 0x1a, 0x15, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x50, 0x72, 0x6f,
0x64, 0x75, 0x63, 0x74, 0x53, 0x6b, 0x75, 0x52, 0x65, 0x73, 0x70, 0x22, 0x00, 0x32, 0x52, 0x0a,
0x0d, 0x53, 0x68, 0x6f, 0x77, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x53, 0x6b, 0x75, 0x12, 0x41,
0x0a, 0x0d, 0x53, 0x68, 0x6f, 0x77, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x53, 0x6b, 0x75, 0x12,
0x17, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44,
0x65, 0x74, 0x61, 0x69, 0x6c, 0x52, 0x65, 0x71, 0x1a, 0x15, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
0x2e, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x53, 0x6b, 0x75, 0x52, 0x65, 0x73, 0x70, 0x22,
0x00, 0x32, 0x43, 0x0a, 0x0c, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x54, 0x6f, 0x6b, 0x65,
0x6e, 0x12, 0x33, 0x0a, 0x0c, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x54, 0x6f, 0x6b, 0x65,
0x6e, 0x12, 0x0f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52,
0x65, 0x71, 0x1a, 0x10, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x54, 0x6f, 0x6b, 0x65, 0x6e,
0x52, 0x65, 0x73, 0x70, 0x22, 0x00, 0x32, 0x45, 0x0a, 0x09, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65,
0x53, 0x6b, 0x75, 0x12, 0x38, 0x0a, 0x09, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x6b, 0x75,
0x12, 0x13, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53,
0x6b, 0x75, 0x52, 0x65, 0x71, 0x1a, 0x14, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x55, 0x70,
0x64, 0x61, 0x74, 0x65, 0x53, 0x6b, 0x75, 0x52, 0x65, 0x73, 0x70, 0x22, 0x00, 0x32, 0x4f, 0x0a,
0x0d, 0x47, 0x65, 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x12, 0x3e,
0x0a, 0x0d, 0x47, 0x65, 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x12,
0x14, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x54, 0x6f, 0x74,
0x61, 0x6c, 0x52, 0x65, 0x71, 0x1a, 0x15, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x4f, 0x72,
0x64, 0x65, 0x72, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x22, 0x00, 0x42, 0x0a,
0x5a, 0x08, 0x2e, 0x2f, 0x3b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74,
0x6f, 0x33,
2 years ago
}
var (
file_cart_proto_rawDescOnce sync.Once
file_cart_proto_rawDescData = file_cart_proto_rawDesc
)
func file_cart_proto_rawDescGZIP() []byte {
file_cart_proto_rawDescOnce.Do(func() {
file_cart_proto_rawDescData = protoimpl.X.CompressGZIP(file_cart_proto_rawDescData)
})
return file_cart_proto_rawDescData
}
var file_cart_proto_msgTypes = make([]protoimpl.MessageInfo, 23)
2 years ago
var file_cart_proto_goTypes = []interface{}{
(*ShoppingCart)(nil), // 0: proto.ShoppingCart
(*AddCartReq)(nil), // 1: proto.AddCartReq
(*AddCartResp)(nil), // 2: proto.AddCartResp
(*UpdateCartReq)(nil), // 3: proto.UpdateCartReq
(*UpdateCartResp)(nil), // 4: proto.UpdateCartResp
(*FindCartReq)(nil), // 5: proto.FindCartReq
(*FindCartResp)(nil), // 6: proto.FindCartResp
(*Product)(nil), // 7: proto.Product
(*PageReq)(nil), // 8: proto.PageReq
(*PageResp)(nil), // 9: proto.PageResp
(*ProductDetail)(nil), // 10: proto.ProductDetail
(*ProductDetailReq)(nil), // 11: proto.ProductDetailReq
(*ProductDetailResp)(nil), // 12: proto.ProductDetailResp
(*ProductSku)(nil), // 13: proto.ProductSku
(*ProductSkuReq)(nil), // 14: proto.ProductSkuReq
(*ProductSkuResp)(nil), // 15: proto.ProductSkuResp
(*TokenReq)(nil), // 16: proto.TokenReq
(*TokenResp)(nil), // 17: proto.TokenResp
(*UpdateSkuReq)(nil), // 18: proto.UpdateSkuReq
(*UpdateSkuResp)(nil), // 19: proto.UpdateSkuResp
(*OrderTotalReq)(nil), // 20: proto.OrderTotalReq
(*OrderTotalResp)(nil), // 21: proto.OrderTotalResp
nil, // 22: proto.Product.LabelListEntry
2 years ago
}
var file_cart_proto_depIdxs = []int32{
10, // 0: proto.AddCartResp.productSimple:type_name -> proto.ProductDetail
13, // 1: proto.AddCartResp.productSkuSimple:type_name -> proto.ProductSku
0, // 2: proto.FindCartResp.shoppingCart:type_name -> proto.ShoppingCart
22, // 3: proto.Product.labelList:type_name -> proto.Product.LabelListEntry
7, // 4: proto.PageResp.product:type_name -> proto.Product
10, // 5: proto.ProductDetailResp.productDetail:type_name -> proto.ProductDetail
13, // 6: proto.ProductSkuResp.productSku:type_name -> proto.ProductSku
13, // 7: proto.UpdateSkuReq.productSku:type_name -> proto.ProductSku
1, // 8: proto.AddCart.AddCart:input_type -> proto.AddCartReq
3, // 9: proto.UpdateCart.UpdateCart:input_type -> proto.UpdateCartReq
5, // 10: proto.FindCart.FindCart:input_type -> proto.FindCartReq
8, // 11: proto.Page.Page:input_type -> proto.PageReq
11, // 12: proto.ShowProductDetail.ShowProductDetail:input_type -> proto.ProductDetailReq
14, // 13: proto.ShowProductSku.ShowProductSku:input_type -> proto.ProductSkuReq
11, // 14: proto.ShowDetailSku.ShowDetailSku:input_type -> proto.ProductDetailReq
16, // 15: proto.GetUserToken.GetUserToken:input_type -> proto.TokenReq
18, // 16: proto.UpdateSku.UpdateSku:input_type -> proto.UpdateSkuReq
20, // 17: proto.GetOrderTotal.GetOrderTotal:input_type -> proto.OrderTotalReq
2, // 18: proto.AddCart.AddCart:output_type -> proto.AddCartResp
4, // 19: proto.UpdateCart.UpdateCart:output_type -> proto.UpdateCartResp
6, // 20: proto.FindCart.FindCart:output_type -> proto.FindCartResp
9, // 21: proto.Page.Page:output_type -> proto.PageResp
12, // 22: proto.ShowProductDetail.ShowProductDetail:output_type -> proto.ProductDetailResp
15, // 23: proto.ShowProductSku.ShowProductSku:output_type -> proto.ProductSkuResp
15, // 24: proto.ShowDetailSku.ShowDetailSku:output_type -> proto.ProductSkuResp
17, // 25: proto.GetUserToken.GetUserToken:output_type -> proto.TokenResp
19, // 26: proto.UpdateSku.UpdateSku:output_type -> proto.UpdateSkuResp
21, // 27: proto.GetOrderTotal.GetOrderTotal:output_type -> proto.OrderTotalResp
18, // [18:28] is the sub-list for method output_type
8, // [8:18] is the sub-list for method input_type
8, // [8:8] is the sub-list for extension type_name
8, // [8:8] is the sub-list for extension extendee
0, // [0:8] is the sub-list for field type_name
2 years ago
}
func init() { file_cart_proto_init() }
func file_cart_proto_init() {
if File_cart_proto != nil {
return
}
if !protoimpl.UnsafeEnabled {
file_cart_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ShoppingCart); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_cart_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*AddCartReq); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_cart_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*AddCartResp); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_cart_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*UpdateCartReq); i {
2 years ago
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_cart_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*UpdateCartResp); i {
2 years ago
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_cart_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*FindCartReq); i {
2 years ago
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_cart_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*FindCartResp); i {
2 years ago
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_cart_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*Product); i {
2 years ago
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_cart_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*PageReq); i {
2 years ago
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_cart_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*PageResp); i {
2 years ago
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_cart_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ProductDetail); i {
2 years ago
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_cart_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ProductDetailReq); i {
2 years ago
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
2 years ago
file_cart_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ProductDetailResp); i {
2 years ago
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_cart_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ProductSku); i {
2 years ago
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
2 years ago
file_cart_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ProductSkuReq); i {
2 years ago
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_cart_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ProductSkuResp); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_cart_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*TokenReq); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_cart_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*TokenResp); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_cart_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*UpdateSkuReq); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_cart_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} {
2 years ago
switch v := v.(*UpdateSkuResp); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_cart_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*OrderTotalReq); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_cart_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*OrderTotalResp); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
2 years ago
}
type x struct{}
out := protoimpl.TypeBuilder{
File: protoimpl.DescBuilder{
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
RawDescriptor: file_cart_proto_rawDesc,
NumEnums: 0,
NumMessages: 23,
2 years ago
NumExtensions: 0,
NumServices: 10,
2 years ago
},
GoTypes: file_cart_proto_goTypes,
DependencyIndexes: file_cart_proto_depIdxs,
MessageInfos: file_cart_proto_msgTypes,
}.Build()
File_cart_proto = out.File
file_cart_proto_rawDesc = nil
file_cart_proto_goTypes = nil
file_cart_proto_depIdxs = nil
}
// Reference imports to suppress errors if they are not otherwise used.
var _ context.Context
var _ grpc.ClientConnInterface
// This is a compile-time assertion to ensure that this generated file
// is compatible with the grpc package it is being compiled against.
const _ = grpc.SupportPackageIsVersion6
// AddCartClient is the client API for AddCart service.
//
// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.
type AddCartClient interface {
// rpc 服务
AddCart(ctx context.Context, in *AddCartReq, opts ...grpc.CallOption) (*AddCartResp, error)
}
type addCartClient struct {
cc grpc.ClientConnInterface
}
func NewAddCartClient(cc grpc.ClientConnInterface) AddCartClient {
return &addCartClient{cc}
}
func (c *addCartClient) AddCart(ctx context.Context, in *AddCartReq, opts ...grpc.CallOption) (*AddCartResp, error) {
out := new(AddCartResp)
err := c.cc.Invoke(ctx, "/proto.AddCart/AddCart", in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
// AddCartServer is the server API for AddCart service.
type AddCartServer interface {
// rpc 服务
AddCart(context.Context, *AddCartReq) (*AddCartResp, error)
}
// UnimplementedAddCartServer can be embedded to have forward compatible implementations.
type UnimplementedAddCartServer struct {
}
func (*UnimplementedAddCartServer) AddCart(context.Context, *AddCartReq) (*AddCartResp, error) {
return nil, status.Errorf(codes.Unimplemented, "method AddCart not implemented")
}
func RegisterAddCartServer(s *grpc.Server, srv AddCartServer) {
s.RegisterService(&_AddCart_serviceDesc, srv)
}
func _AddCart_AddCart_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(AddCartReq)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(AddCartServer).AddCart(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/proto.AddCart/AddCart",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(AddCartServer).AddCart(ctx, req.(*AddCartReq))
}
return interceptor(ctx, in, info, handler)
}
var _AddCart_serviceDesc = grpc.ServiceDesc{
ServiceName: "proto.AddCart",
HandlerType: (*AddCartServer)(nil),
Methods: []grpc.MethodDesc{
{
MethodName: "AddCart",
Handler: _AddCart_AddCart_Handler,
},
},
Streams: []grpc.StreamDesc{},
Metadata: "cart.proto",
}
// UpdateCartClient is the client API for UpdateCart service.
//
// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.
type UpdateCartClient interface {
// rpc 服务
UpdateCart(ctx context.Context, in *UpdateCartReq, opts ...grpc.CallOption) (*UpdateCartResp, error)
}
type updateCartClient struct {
cc grpc.ClientConnInterface
}
func NewUpdateCartClient(cc grpc.ClientConnInterface) UpdateCartClient {
return &updateCartClient{cc}
}
func (c *updateCartClient) UpdateCart(ctx context.Context, in *UpdateCartReq, opts ...grpc.CallOption) (*UpdateCartResp, error) {
out := new(UpdateCartResp)
err := c.cc.Invoke(ctx, "/proto.UpdateCart/UpdateCart", in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
// UpdateCartServer is the server API for UpdateCart service.
type UpdateCartServer interface {
// rpc 服务
UpdateCart(context.Context, *UpdateCartReq) (*UpdateCartResp, error)
}
// UnimplementedUpdateCartServer can be embedded to have forward compatible implementations.
type UnimplementedUpdateCartServer struct {
}
func (*UnimplementedUpdateCartServer) UpdateCart(context.Context, *UpdateCartReq) (*UpdateCartResp, error) {
return nil, status.Errorf(codes.Unimplemented, "method UpdateCart not implemented")
}
func RegisterUpdateCartServer(s *grpc.Server, srv UpdateCartServer) {
s.RegisterService(&_UpdateCart_serviceDesc, srv)
}
func _UpdateCart_UpdateCart_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(UpdateCartReq)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(UpdateCartServer).UpdateCart(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/proto.UpdateCart/UpdateCart",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(UpdateCartServer).UpdateCart(ctx, req.(*UpdateCartReq))
}
return interceptor(ctx, in, info, handler)
}
var _UpdateCart_serviceDesc = grpc.ServiceDesc{
ServiceName: "proto.UpdateCart",
HandlerType: (*UpdateCartServer)(nil),
Methods: []grpc.MethodDesc{
{
MethodName: "UpdateCart",
Handler: _UpdateCart_UpdateCart_Handler,
},
},
Streams: []grpc.StreamDesc{},
Metadata: "cart.proto",
}
// FindCartClient is the client API for FindCart service.
//
// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.
type FindCartClient interface {
FindCart(ctx context.Context, in *FindCartReq, opts ...grpc.CallOption) (*FindCartResp, error)
}
type findCartClient struct {
cc grpc.ClientConnInterface
}
func NewFindCartClient(cc grpc.ClientConnInterface) FindCartClient {
return &findCartClient{cc}
}
func (c *findCartClient) FindCart(ctx context.Context, in *FindCartReq, opts ...grpc.CallOption) (*FindCartResp, error) {
out := new(FindCartResp)
err := c.cc.Invoke(ctx, "/proto.FindCart/FindCart", in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
// FindCartServer is the server API for FindCart service.
type FindCartServer interface {
FindCart(context.Context, *FindCartReq) (*FindCartResp, error)
}
// UnimplementedFindCartServer can be embedded to have forward compatible implementations.
type UnimplementedFindCartServer struct {
}
func (*UnimplementedFindCartServer) FindCart(context.Context, *FindCartReq) (*FindCartResp, error) {
return nil, status.Errorf(codes.Unimplemented, "method FindCart not implemented")
}
func RegisterFindCartServer(s *grpc.Server, srv FindCartServer) {
s.RegisterService(&_FindCart_serviceDesc, srv)
}
func _FindCart_FindCart_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(FindCartReq)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(FindCartServer).FindCart(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/proto.FindCart/FindCart",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(FindCartServer).FindCart(ctx, req.(*FindCartReq))
}
return interceptor(ctx, in, info, handler)
}
var _FindCart_serviceDesc = grpc.ServiceDesc{
ServiceName: "proto.FindCart",
HandlerType: (*FindCartServer)(nil),
Methods: []grpc.MethodDesc{
{
MethodName: "FindCart",
Handler: _FindCart_FindCart_Handler,
},
},
Streams: []grpc.StreamDesc{},
Metadata: "cart.proto",
}
// PageClient is the client API for Page service.
//
// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.
type PageClient interface {
// rpc 服务
Page(ctx context.Context, in *PageReq, opts ...grpc.CallOption) (*PageResp, error)
}
type pageClient struct {
cc grpc.ClientConnInterface
}
func NewPageClient(cc grpc.ClientConnInterface) PageClient {
return &pageClient{cc}
}
func (c *pageClient) Page(ctx context.Context, in *PageReq, opts ...grpc.CallOption) (*PageResp, error) {
out := new(PageResp)
err := c.cc.Invoke(ctx, "/proto.Page/Page", in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
// PageServer is the server API for Page service.
type PageServer interface {
// rpc 服务
Page(context.Context, *PageReq) (*PageResp, error)
}
// UnimplementedPageServer can be embedded to have forward compatible implementations.
type UnimplementedPageServer struct {
}
func (*UnimplementedPageServer) Page(context.Context, *PageReq) (*PageResp, error) {
return nil, status.Errorf(codes.Unimplemented, "method Page not implemented")
}
func RegisterPageServer(s *grpc.Server, srv PageServer) {
s.RegisterService(&_Page_serviceDesc, srv)
}
func _Page_Page_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(PageReq)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(PageServer).Page(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/proto.Page/Page",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(PageServer).Page(ctx, req.(*PageReq))
}
return interceptor(ctx, in, info, handler)
}
var _Page_serviceDesc = grpc.ServiceDesc{
ServiceName: "proto.Page",
HandlerType: (*PageServer)(nil),
Methods: []grpc.MethodDesc{
{
MethodName: "Page",
Handler: _Page_Page_Handler,
},
},
Streams: []grpc.StreamDesc{},
Metadata: "cart.proto",
}
// ShowProductDetailClient is the client API for ShowProductDetail service.
//
// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.
type ShowProductDetailClient interface {
// rpc 服务
ShowProductDetail(ctx context.Context, in *ProductDetailReq, opts ...grpc.CallOption) (*ProductDetailResp, error)
}
type showProductDetailClient struct {
cc grpc.ClientConnInterface
}
func NewShowProductDetailClient(cc grpc.ClientConnInterface) ShowProductDetailClient {
return &showProductDetailClient{cc}
}
func (c *showProductDetailClient) ShowProductDetail(ctx context.Context, in *ProductDetailReq, opts ...grpc.CallOption) (*ProductDetailResp, error) {
out := new(ProductDetailResp)
err := c.cc.Invoke(ctx, "/proto.ShowProductDetail/ShowProductDetail", in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
// ShowProductDetailServer is the server API for ShowProductDetail service.
type ShowProductDetailServer interface {
// rpc 服务
ShowProductDetail(context.Context, *ProductDetailReq) (*ProductDetailResp, error)
}
// UnimplementedShowProductDetailServer can be embedded to have forward compatible implementations.
type UnimplementedShowProductDetailServer struct {
}
func (*UnimplementedShowProductDetailServer) ShowProductDetail(context.Context, *ProductDetailReq) (*ProductDetailResp, error) {
return nil, status.Errorf(codes.Unimplemented, "method ShowProductDetail not implemented")
}
func RegisterShowProductDetailServer(s *grpc.Server, srv ShowProductDetailServer) {
s.RegisterService(&_ShowProductDetail_serviceDesc, srv)
}
func _ShowProductDetail_ShowProductDetail_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(ProductDetailReq)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(ShowProductDetailServer).ShowProductDetail(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/proto.ShowProductDetail/ShowProductDetail",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(ShowProductDetailServer).ShowProductDetail(ctx, req.(*ProductDetailReq))
}
return interceptor(ctx, in, info, handler)
}
var _ShowProductDetail_serviceDesc = grpc.ServiceDesc{
ServiceName: "proto.ShowProductDetail",
HandlerType: (*ShowProductDetailServer)(nil),
Methods: []grpc.MethodDesc{
{
MethodName: "ShowProductDetail",
Handler: _ShowProductDetail_ShowProductDetail_Handler,
},
},
Streams: []grpc.StreamDesc{},
Metadata: "cart.proto",
}
// ShowProductSkuClient is the client API for ShowProductSku service.
//
// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.
type ShowProductSkuClient interface {
// rpc 服务
ShowProductSku(ctx context.Context, in *ProductSkuReq, opts ...grpc.CallOption) (*ProductSkuResp, error)
}
type showProductSkuClient struct {
cc grpc.ClientConnInterface
}
func NewShowProductSkuClient(cc grpc.ClientConnInterface) ShowProductSkuClient {
return &showProductSkuClient{cc}
}
func (c *showProductSkuClient) ShowProductSku(ctx context.Context, in *ProductSkuReq, opts ...grpc.CallOption) (*ProductSkuResp, error) {
out := new(ProductSkuResp)
err := c.cc.Invoke(ctx, "/proto.ShowProductSku/ShowProductSku", in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
// ShowProductSkuServer is the server API for ShowProductSku service.
type ShowProductSkuServer interface {
// rpc 服务
ShowProductSku(context.Context, *ProductSkuReq) (*ProductSkuResp, error)
}
// UnimplementedShowProductSkuServer can be embedded to have forward compatible implementations.
type UnimplementedShowProductSkuServer struct {
}
func (*UnimplementedShowProductSkuServer) ShowProductSku(context.Context, *ProductSkuReq) (*ProductSkuResp, error) {
return nil, status.Errorf(codes.Unimplemented, "method ShowProductSku not implemented")
}
func RegisterShowProductSkuServer(s *grpc.Server, srv ShowProductSkuServer) {
s.RegisterService(&_ShowProductSku_serviceDesc, srv)
}
func _ShowProductSku_ShowProductSku_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(ProductSkuReq)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(ShowProductSkuServer).ShowProductSku(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/proto.ShowProductSku/ShowProductSku",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(ShowProductSkuServer).ShowProductSku(ctx, req.(*ProductSkuReq))
}
return interceptor(ctx, in, info, handler)
}
var _ShowProductSku_serviceDesc = grpc.ServiceDesc{
ServiceName: "proto.ShowProductSku",
HandlerType: (*ShowProductSkuServer)(nil),
Methods: []grpc.MethodDesc{
{
MethodName: "ShowProductSku",
Handler: _ShowProductSku_ShowProductSku_Handler,
},
},
Streams: []grpc.StreamDesc{},
Metadata: "cart.proto",
}
// ShowDetailSkuClient is the client API for ShowDetailSku service.
//
// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.
type ShowDetailSkuClient interface {
// rpc 服务
ShowDetailSku(ctx context.Context, in *ProductDetailReq, opts ...grpc.CallOption) (*ProductSkuResp, error)
}
type showDetailSkuClient struct {
cc grpc.ClientConnInterface
}
func NewShowDetailSkuClient(cc grpc.ClientConnInterface) ShowDetailSkuClient {
return &showDetailSkuClient{cc}
}
func (c *showDetailSkuClient) ShowDetailSku(ctx context.Context, in *ProductDetailReq, opts ...grpc.CallOption) (*ProductSkuResp, error) {
out := new(ProductSkuResp)
err := c.cc.Invoke(ctx, "/proto.ShowDetailSku/ShowDetailSku", in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
// ShowDetailSkuServer is the server API for ShowDetailSku service.
type ShowDetailSkuServer interface {
// rpc 服务
ShowDetailSku(context.Context, *ProductDetailReq) (*ProductSkuResp, error)
}
// UnimplementedShowDetailSkuServer can be embedded to have forward compatible implementations.
type UnimplementedShowDetailSkuServer struct {
}
func (*UnimplementedShowDetailSkuServer) ShowDetailSku(context.Context, *ProductDetailReq) (*ProductSkuResp, error) {
return nil, status.Errorf(codes.Unimplemented, "method ShowDetailSku not implemented")
}
func RegisterShowDetailSkuServer(s *grpc.Server, srv ShowDetailSkuServer) {
s.RegisterService(&_ShowDetailSku_serviceDesc, srv)
}
func _ShowDetailSku_ShowDetailSku_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(ProductDetailReq)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(ShowDetailSkuServer).ShowDetailSku(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/proto.ShowDetailSku/ShowDetailSku",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(ShowDetailSkuServer).ShowDetailSku(ctx, req.(*ProductDetailReq))
}
return interceptor(ctx, in, info, handler)
}
var _ShowDetailSku_serviceDesc = grpc.ServiceDesc{
ServiceName: "proto.ShowDetailSku",
HandlerType: (*ShowDetailSkuServer)(nil),
Methods: []grpc.MethodDesc{
{
MethodName: "ShowDetailSku",
Handler: _ShowDetailSku_ShowDetailSku_Handler,
},
},
Streams: []grpc.StreamDesc{},
Metadata: "cart.proto",
}
// GetUserTokenClient is the client API for GetUserToken service.
//
// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.
type GetUserTokenClient interface {
// rpc 服务
GetUserToken(ctx context.Context, in *TokenReq, opts ...grpc.CallOption) (*TokenResp, error)
}
type getUserTokenClient struct {
cc grpc.ClientConnInterface
}
func NewGetUserTokenClient(cc grpc.ClientConnInterface) GetUserTokenClient {
return &getUserTokenClient{cc}
}
func (c *getUserTokenClient) GetUserToken(ctx context.Context, in *TokenReq, opts ...grpc.CallOption) (*TokenResp, error) {
out := new(TokenResp)
err := c.cc.Invoke(ctx, "/proto.GetUserToken/GetUserToken", in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
// GetUserTokenServer is the server API for GetUserToken service.
type GetUserTokenServer interface {
// rpc 服务
GetUserToken(context.Context, *TokenReq) (*TokenResp, error)
}
// UnimplementedGetUserTokenServer can be embedded to have forward compatible implementations.
type UnimplementedGetUserTokenServer struct {
}
func (*UnimplementedGetUserTokenServer) GetUserToken(context.Context, *TokenReq) (*TokenResp, error) {
return nil, status.Errorf(codes.Unimplemented, "method GetUserToken not implemented")
}
func RegisterGetUserTokenServer(s *grpc.Server, srv GetUserTokenServer) {
s.RegisterService(&_GetUserToken_serviceDesc, srv)
}
func _GetUserToken_GetUserToken_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(TokenReq)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(GetUserTokenServer).GetUserToken(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/proto.GetUserToken/GetUserToken",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(GetUserTokenServer).GetUserToken(ctx, req.(*TokenReq))
}
return interceptor(ctx, in, info, handler)
}
var _GetUserToken_serviceDesc = grpc.ServiceDesc{
ServiceName: "proto.GetUserToken",
HandlerType: (*GetUserTokenServer)(nil),
Methods: []grpc.MethodDesc{
{
MethodName: "GetUserToken",
Handler: _GetUserToken_GetUserToken_Handler,
},
},
Streams: []grpc.StreamDesc{},
Metadata: "cart.proto",
}
// UpdateSkuClient is the client API for UpdateSku service.
//
// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.
type UpdateSkuClient interface {
UpdateSku(ctx context.Context, in *UpdateSkuReq, opts ...grpc.CallOption) (*UpdateSkuResp, error)
}
type updateSkuClient struct {
cc grpc.ClientConnInterface
}
func NewUpdateSkuClient(cc grpc.ClientConnInterface) UpdateSkuClient {
return &updateSkuClient{cc}
}
func (c *updateSkuClient) UpdateSku(ctx context.Context, in *UpdateSkuReq, opts ...grpc.CallOption) (*UpdateSkuResp, error) {
out := new(UpdateSkuResp)
err := c.cc.Invoke(ctx, "/proto.UpdateSku/UpdateSku", in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
// UpdateSkuServer is the server API for UpdateSku service.
type UpdateSkuServer interface {
UpdateSku(context.Context, *UpdateSkuReq) (*UpdateSkuResp, error)
}
// UnimplementedUpdateSkuServer can be embedded to have forward compatible implementations.
type UnimplementedUpdateSkuServer struct {
}
func (*UnimplementedUpdateSkuServer) UpdateSku(context.Context, *UpdateSkuReq) (*UpdateSkuResp, error) {
return nil, status.Errorf(codes.Unimplemented, "method UpdateSku not implemented")
}
func RegisterUpdateSkuServer(s *grpc.Server, srv UpdateSkuServer) {
s.RegisterService(&_UpdateSku_serviceDesc, srv)
}
func _UpdateSku_UpdateSku_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(UpdateSkuReq)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(UpdateSkuServer).UpdateSku(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/proto.UpdateSku/UpdateSku",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(UpdateSkuServer).UpdateSku(ctx, req.(*UpdateSkuReq))
}
return interceptor(ctx, in, info, handler)
}
var _UpdateSku_serviceDesc = grpc.ServiceDesc{
ServiceName: "proto.UpdateSku",
HandlerType: (*UpdateSkuServer)(nil),
Methods: []grpc.MethodDesc{
{
MethodName: "UpdateSku",
Handler: _UpdateSku_UpdateSku_Handler,
},
},
Streams: []grpc.StreamDesc{},
Metadata: "cart.proto",
}
// GetOrderTotalClient is the client API for GetOrderTotal service.
//
// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.
type GetOrderTotalClient interface {
// rpc 服务
GetOrderTotal(ctx context.Context, in *OrderTotalReq, opts ...grpc.CallOption) (*OrderTotalResp, error)
}
type getOrderTotalClient struct {
cc grpc.ClientConnInterface
}
func NewGetOrderTotalClient(cc grpc.ClientConnInterface) GetOrderTotalClient {
return &getOrderTotalClient{cc}
}
func (c *getOrderTotalClient) GetOrderTotal(ctx context.Context, in *OrderTotalReq, opts ...grpc.CallOption) (*OrderTotalResp, error) {
out := new(OrderTotalResp)
err := c.cc.Invoke(ctx, "/proto.GetOrderTotal/GetOrderTotal", in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
// GetOrderTotalServer is the server API for GetOrderTotal service.
type GetOrderTotalServer interface {
// rpc 服务
GetOrderTotal(context.Context, *OrderTotalReq) (*OrderTotalResp, error)
}
// UnimplementedGetOrderTotalServer can be embedded to have forward compatible implementations.
type UnimplementedGetOrderTotalServer struct {
}
func (*UnimplementedGetOrderTotalServer) GetOrderTotal(context.Context, *OrderTotalReq) (*OrderTotalResp, error) {
return nil, status.Errorf(codes.Unimplemented, "method GetOrderTotal not implemented")
}
func RegisterGetOrderTotalServer(s *grpc.Server, srv GetOrderTotalServer) {
s.RegisterService(&_GetOrderTotal_serviceDesc, srv)
}
func _GetOrderTotal_GetOrderTotal_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(OrderTotalReq)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(GetOrderTotalServer).GetOrderTotal(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/proto.GetOrderTotal/GetOrderTotal",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(GetOrderTotalServer).GetOrderTotal(ctx, req.(*OrderTotalReq))
}
return interceptor(ctx, in, info, handler)
}
var _GetOrderTotal_serviceDesc = grpc.ServiceDesc{
ServiceName: "proto.GetOrderTotal",
HandlerType: (*GetOrderTotalServer)(nil),
Methods: []grpc.MethodDesc{
{
MethodName: "GetOrderTotal",
Handler: _GetOrderTotal_GetOrderTotal_Handler,
},
},
Streams: []grpc.StreamDesc{},
Metadata: "cart.proto",
}