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.

217 lines
5.9 KiB

2 years ago
/**
* @Auth:ShenZ
* @Description:
*/
syntax = "proto3"; // 版本号
option go_package="./;proto"; //参数1 表示生成到哪个目录 参数2 表示生成的文件的package
package proto ; //默认在哪个包
//结构体
/*
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"`
*/
message ShoppingCart {
int32 id = 1;
int32 userId = 2;
int32 productId =3;
int32 productSkuId = 4;
string productName = 5;
string productMainPicture = 6;
int32 number = 7;
}
/**
{
"number": 0,
"productId": 0,
"productSkuId": 0
}
**/
//请求 request struct
message AddCartReq {
int32 number = 1;
int32 productId = 2;
int32 productSkuId =3;
string productName = 4;
string productMainPicture = 5;
int32 userId =6;
}
//响应 resp struct
/**
"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 //是否超出最大限制
**/
message AddCartResp{
ProductDetail productSimple = 1;
ProductSku productSkuSimple =2;
int64 shoppingCartNumber = 3;
int64 canSetShoppingCartNumber = 4;
bool isBeyondMaxLimit = 5;
}
//RPC 服务 接口
service AddCart {
//rpc 服务
rpc AddCart (AddCartReq) returns (AddCartResp){}
}
message Product {
int32 id = 1;
string name = 2;
int32 startingPrice =3;
string mainPicture = 4;
map<string,string> labelList = 5;
int32 singleBuyLimit = 6;
string token = 7;
bool isEnable = 8;
int32 productType = 9;
}
/**
{
"clientId": 0,
"phone": "",
"systemId": 0,
"verificationCode": ""
}
**/
//请求 request struct
message PageReq {
int32 length = 1;
int32 pageIndex = 2;
}
//响应 resp struct
/**
**/
message PageResp{
repeated Product product = 1;
int64 total =2;
int64 rows = 3;
}
//RPC 服务 接口
service Page {
//rpc 服务
rpc Page (PageReq) returns (PageResp){}
}
/**
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"` //商品详情需要的图片
*/
message ProductDetail {
int32 id = 1;
string name = 2;
int32 productType =3;
int32 categoryId = 4;
float startingPrice =5;
int32 totalStock = 6;
string mainPicture =7;
float remoteAreaPostage = 8;
int32 singleBuyLimit =9;
bool isEnable =10;
string remark =11;
int32 createUser =12 ;
string createTime = 13; //go get google.golang.org/protobuf/ptypes/timestamp
int32 updateUser =14;
string updateTime =15;
bool IsDeleted =16;
string detail =17;
string pictureList =18;
}
//请求 request struct
message ProductDetailReq {
int32 id = 1;
}
//响应 resp struct
/**
**/
message ProductDetailResp{
repeated ProductDetail productDetail = 1;
}
//RPC 服务 接口
service ShowProductDetail {
//rpc 服务
rpc ShowProductDetail (ProductDetailReq) returns (ProductDetailResp){}
}
/*
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"`
*/
message ProductSku {
int32 skuId = 1;
string name = 2;
string attributeSymbolList =3;
float sellPrice = 4;
int32 stock =5;
}
//请求 request struct
message ProductSkuReq {
int32 productId = 1;
}
//响应 resp struct
/**
**/
message ProductSkuResp{
repeated ProductSku productSku = 1;
}
//RPC 服务 接口
service ShowProductSku {
//rpc 服务
rpc ShowProductSku (ProductSkuReq) returns (ProductSkuResp){}
}
//商品库存详情 服务 接口
service ShowDetailSku {
//rpc 服务
rpc ShowDetailSku (ProductDetailReq) returns (ProductSkuResp){}
}