diff --git a/generate/protobuf/trade.proto b/generate/protobuf/trade.proto index 473009f..ad8a605 100644 --- a/generate/protobuf/trade.proto +++ b/generate/protobuf/trade.proto @@ -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 查詢訂閱狀態 (啟用/過期/取消)