add product service proto

This commit is contained in:
daniel.w 2024-10-25 15:21:57 +08:00
parent 7cf7dd6f4c
commit e01d14ab90
1 changed files with 80 additions and 2 deletions

View File

@ -280,7 +280,77 @@ service InventoryService {
}
// ========== 商品服務 ===========
service ProductService {}
// 商品請求和回應訊息
message ProductCreateReq {
string name = 1; // 商品名稱
string category = 2; // 商品分類
string description = 3; // 商品描述
double price = 4; // 商品價格
}
message ProductUpdateReq {
string product_id = 1; // 商品ID
string name = 2; // 商品名稱
string category = 3; // 商品分類
string description = 4; // 商品描述
double price = 5; // 商品價格
}
message ProductDeleteReq {
string product_id = 1; // 商品ID
}
message ProductQueryReq {
string product_id = 1; // 商品ID
}
message ProductResp {
string product_id = 1; // 商品ID
string name = 2; // 商品名稱
string category = 3; // 商品分類
string description = 4; // 商品描述
double price = 5; // 商品價格
bool is_available = 6; // 是否上架
}
message ProductListResp {
repeated ProductResp products = 1; // 所有商品清單
}
message CategoryQueryReq {
string category = 1; // 商品分類
}
message ProductPriceUpdateReq {
string product_id = 1; // 商品ID
double new_price = 2; // 新價格
}
message ProductStatusUpdateReq {
string product_id = 1; // 商品ID
bool is_available = 2; // 是否上架
}
service ProductService {
// CreateProduct 新增商品
rpc CreateProduct(ProductCreateReq) returns (ProductResp);
// UpdateProduct 更新商品資訊
rpc UpdateProduct(ProductUpdateReq) returns (ProductResp);
// DeleteProduct 刪除商品
rpc DeleteProduct(ProductDeleteReq) returns (OKResp);
// QueryProduct 查詢單一商品資訊
rpc QueryProduct(ProductQueryReq) returns (ProductResp);
// ListAllProducts 查詢所有商品資訊
rpc ListAllProducts(NoneReq) returns (ProductListResp);
// ListProductsByCategory 根據分類查詢商品
rpc ListProductsByCategory(CategoryQueryReq) returns (ProductListResp);
// UpdateProductPrice 更新商品價格
rpc UpdateProductPrice(ProductPriceUpdateReq) returns (OKResp);
// UpdateProductStatus 更新商品狀態 (上架/下架)
rpc UpdateProductStatus(ProductStatusUpdateReq) returns (OKResp);
}
// ========== 訂閱服務 ===========
// 訂閱請求和回應訊息
@ -312,8 +382,16 @@ message SubscriptionResp {
string status = 6; // 訂閱狀態 (例如: "active", "expired", "canceled")
}
message ListSubscriptionsReq {
int64 page_index=1;
int64 page_size=2;
optional string uid=3;
}
message SubscriptionListResp {
repeated SubscriptionResp subscriptions = 1; // 訂閱清單
Pager page = 2;
}
message SubscriptionRenewReq {
@ -341,7 +419,7 @@ service SubscriptionService {
// QuerySubscription 查詢單一訂閱資訊
rpc QuerySubscription(SubscriptionQueryReq) returns (SubscriptionResp);
// ListSubscriptions 查詢所有訂閱 (用於管理和監控)
rpc ListSubscriptions(NoneReq) returns (SubscriptionListResp);
rpc ListSubscriptions(ListSubscriptionsReq) returns (SubscriptionListResp);
// RenewSubscription 續訂訂閱
rpc RenewSubscription(SubscriptionRenewReq) returns (SubscriptionResp);
// CheckSubscriptionStatus 查詢訂閱狀態 (啟用/過期/取消)