update coupon service proto
This commit is contained in:
parent
25b422b907
commit
a575e4fc42
|
@ -301,7 +301,7 @@ message ProductCreateReq {
|
||||||
repeated string tags = 9; // 產品標籤(方便篩選)
|
repeated string tags = 9; // 產品標籤(方便篩選)
|
||||||
string sku = 10; // 庫存單位(Stock Keeping Unit)
|
string sku = 10; // 庫存單位(Stock Keeping Unit)
|
||||||
repeated string images = 11; // 商品照片網址
|
repeated string images = 11; // 商品照片網址
|
||||||
optional string coupon_id = 12; // 本商品專屬折扣碼 id
|
repeated string coupon_id = 12; // 本商品專屬折扣碼 id
|
||||||
}
|
}
|
||||||
|
|
||||||
message ProductUpdateReq {
|
message ProductUpdateReq {
|
||||||
|
@ -317,7 +317,7 @@ message ProductUpdateReq {
|
||||||
repeated string tags = 10; // 產品標籤(方便篩選)
|
repeated string tags = 10; // 產品標籤(方便篩選)
|
||||||
optional string sku = 11; // 庫存單位(Stock Keeping Unit)
|
optional string sku = 11; // 庫存單位(Stock Keeping Unit)
|
||||||
repeated string images = 12; // 商品照片網址
|
repeated string images = 12; // 商品照片網址
|
||||||
optional string coupon_id = 13; // 本商品專屬折扣碼 id
|
repeated string coupon_id = 13; // 本商品專屬折扣碼 id
|
||||||
optional bool is_available = 14; // 是否上架
|
optional bool is_available = 14; // 是否上架
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -330,20 +330,20 @@ message ProductQueryReq {
|
||||||
}
|
}
|
||||||
|
|
||||||
message ProductResp {
|
message ProductResp {
|
||||||
string product_id = 1; // 商品ID
|
string product_id = 1; // 商品ID
|
||||||
string name = 2; // 商品名稱
|
string name = 2; // 商品名稱
|
||||||
string description = 3; // 商品簡述
|
string description = 3; // 商品簡述
|
||||||
string content = 4; // 詳細商品內容
|
string content = 4; // 詳細商品內容
|
||||||
double price = 5; // 商品價格
|
double price = 5; // 商品價格
|
||||||
int64 amount_type = 6; // 1 有限數量 2 無限數量
|
int64 amount_type = 6; // 1 有限數量 2 無限數量
|
||||||
repeated string currency = 7; // 貨幣類型 (如 USD, TWD)
|
string currency = 7; // 貨幣類型 (如 USD, TWD)
|
||||||
repeated string brand = 8; // 產品品牌,可以看成channel_id or uid 就是誰得商品,用品牌比較通用
|
repeated string brand = 8; // 產品品牌,可以看成channel_id or uid 就是誰得商品,用品牌比較通用
|
||||||
string category = 9; // 商品分類
|
repeated string category = 9; // 商品分類
|
||||||
repeated string tags = 10; // 產品標籤(方便篩選)
|
repeated string tags = 10; // 產品標籤(方便篩選)
|
||||||
string sku = 11; // 庫存單位(Stock Keeping Unit)
|
string sku = 11; // 庫存單位(Stock Keeping Unit)
|
||||||
repeated string images = 12; // 商品照片網址
|
repeated string images = 12; // 商品照片網址
|
||||||
string coupon_id = 13; // 本商品專屬折扣碼 id
|
repeated string coupon_id = 13; // 本商品專屬折扣碼 id
|
||||||
bool is_available = 14; // 是否上架
|
bool is_available = 14; // 是否上架
|
||||||
}
|
}
|
||||||
|
|
||||||
message ProductListReq {
|
message ProductListReq {
|
||||||
|
@ -379,16 +379,22 @@ service ProductService {
|
||||||
|
|
||||||
// ========== 訂閱服務 ===========
|
// ========== 訂閱服務 ===========
|
||||||
|
|
||||||
// 訂閱請求和回應訊息
|
// 訂閱請求和回應訊息 (訂閱的話,在結束時間結束前,不能再次訂閱,但取消之後可以再次訂閱)
|
||||||
message SubscriptionCreateReq {
|
message SubscriptionCreateReq {
|
||||||
string user_id = 1; // 使用者ID
|
string uid = 1; // 使用者ID
|
||||||
string plan_id = 2; // 訂閱方案ID
|
string plan_id = 2; // 訂閱方案ID
|
||||||
string start_date = 3; // 訂閱開始日期
|
bool auto_renew = 3; // 是否自動續訂
|
||||||
|
optional int64 auto_renew_day = 4; // 自動續訂多久
|
||||||
|
int64 start_date = 5; // 訂閱開始日期
|
||||||
|
int64 end_date = 6; // 訂閱結束時間
|
||||||
}
|
}
|
||||||
|
|
||||||
message SubscriptionUpdateReq {
|
message SubscriptionUpdateReq {
|
||||||
string subscription_id = 1; // 訂閱ID
|
string subscription_id = 1; // 訂閱ID
|
||||||
string plan_id = 2; // 訂閱方案ID
|
optional int64 end_date = 2; // 訂閱結束時間(延長要訂閱的時間)
|
||||||
|
optional bool cancel = 3; // 是否取消訂閱
|
||||||
|
optional bool auto_renew = 4; // 是否自動續訂
|
||||||
|
optional int64 auto_renew_day = 5; // 自動續訂多久
|
||||||
}
|
}
|
||||||
|
|
||||||
message SubscriptionCancelReq {
|
message SubscriptionCancelReq {
|
||||||
|
@ -401,17 +407,22 @@ message SubscriptionQueryReq {
|
||||||
|
|
||||||
message SubscriptionResp {
|
message SubscriptionResp {
|
||||||
string subscription_id = 1; // 訂閱ID
|
string subscription_id = 1; // 訂閱ID
|
||||||
string user_id = 2; // 使用者ID
|
string uid = 2; // 使用者ID
|
||||||
string plan_id = 3; // 訂閱方案ID
|
string plan_id = 3; // 訂閱方案ID
|
||||||
string start_date = 4; // 訂閱開始日期
|
int64 start_date = 4; // 訂閱開始日期
|
||||||
string end_date = 5; // 訂閱結束日期
|
int64 end_date = 5; // 訂閱結束日期
|
||||||
string status = 6; // 訂閱狀態 (例如: "active", "expired", "canceled")
|
int64 status = 6; // 訂閱狀態 (例如: 1"active", 2"expired", 3"canceled")
|
||||||
|
bool auto_renew = 7; // 是否自動續訂
|
||||||
|
int64 auto_renew_day = 8; // 自動續訂多久
|
||||||
}
|
}
|
||||||
|
|
||||||
message ListSubscriptionsReq {
|
message ListSubscriptionsReq {
|
||||||
int64 page_index = 1;
|
int64 page_index = 1;
|
||||||
int64 page_size = 2;
|
int64 page_size = 2;
|
||||||
optional string uid = 3;
|
optional string uid = 3;
|
||||||
|
repeated string subscription_id = 4;
|
||||||
|
repeated string plan_id = 5;
|
||||||
|
int64 status = 6; // 訂閱狀態 (例如: 1"active", 2"expired", 3"canceled")
|
||||||
}
|
}
|
||||||
|
|
||||||
message SubscriptionListResp {
|
message SubscriptionListResp {
|
||||||
|
@ -421,7 +432,7 @@ message SubscriptionListResp {
|
||||||
|
|
||||||
message SubscriptionRenewReq {
|
message SubscriptionRenewReq {
|
||||||
string subscription_id = 1; // 訂閱ID
|
string subscription_id = 1; // 訂閱ID
|
||||||
string renewal_date = 2; // 續訂日期
|
int64 renewal_date = 2; // 續訂日期
|
||||||
}
|
}
|
||||||
|
|
||||||
message SubscriptionStatusQueryReq {
|
message SubscriptionStatusQueryReq {
|
||||||
|
@ -430,8 +441,7 @@ message SubscriptionStatusQueryReq {
|
||||||
|
|
||||||
message SubscriptionStatusResp {
|
message SubscriptionStatusResp {
|
||||||
string subscription_id = 1; // 訂閱ID
|
string subscription_id = 1; // 訂閱ID
|
||||||
string status = 2; // 訂閱狀態
|
int64 status = 2; // 訂閱狀態 (例如: 1"active", 2"expired", 3"canceled")
|
||||||
string message = 3; // 狀態訊息
|
|
||||||
}
|
}
|
||||||
|
|
||||||
service SubscriptionService {
|
service SubscriptionService {
|
||||||
|
@ -449,6 +459,98 @@ service SubscriptionService {
|
||||||
rpc RenewSubscription(SubscriptionRenewReq) returns (SubscriptionResp);
|
rpc RenewSubscription(SubscriptionRenewReq) returns (SubscriptionResp);
|
||||||
// CheckSubscriptionStatus 查詢訂閱狀態 (啟用/過期/取消)
|
// CheckSubscriptionStatus 查詢訂閱狀態 (啟用/過期/取消)
|
||||||
rpc CheckSubscriptionStatus(SubscriptionStatusQueryReq) returns (SubscriptionStatusResp);
|
rpc CheckSubscriptionStatus(SubscriptionStatusQueryReq) returns (SubscriptionStatusResp);
|
||||||
// RefreshSubscriptionStatus cron 改變訂閱的狀態(時間到了要過期),每 5 分鐘執行一次
|
// RefreshSubscriptionStatus cron 改變訂閱的狀態(時間到了要過期,需要續約自動續約),每 5 分鐘執行一次
|
||||||
rpc RefreshSubscriptionStatus(NoneReq) returns (OKResp);
|
rpc RefreshSubscriptionStatus(NoneReq) returns (OKResp);
|
||||||
|
}
|
||||||
|
|
||||||
|
// ========== 優惠券服務 ===========
|
||||||
|
|
||||||
|
message Coupon {
|
||||||
|
string coupon_id = 1; // 優惠券唯一識別碼
|
||||||
|
string code = 2; // 優惠碼
|
||||||
|
double discount = 3; // 折扣 (可以是百分比或固定金額)
|
||||||
|
string discount_type = 4; // 折扣類型 ("percent" 或 "fixed")
|
||||||
|
string start_date = 5; // 優惠券生效日期 (格式: YYYY-MM-DD)
|
||||||
|
string end_date = 6; // 優惠券結束日期 (格式: YYYY-MM-DD)
|
||||||
|
int32 usage_limit = 7; // 使用次數限制
|
||||||
|
int32 used_count = 8; // 已使用次數
|
||||||
|
string status = 9; // 優惠券狀態 ("active", "expired", "inactive")
|
||||||
|
repeated string applicable_product_ids = 10; // 可以使用此優惠券的產品ID列表
|
||||||
|
bool is_common = 11; // 是否通用
|
||||||
|
}
|
||||||
|
|
||||||
|
message CreateCouponReq {
|
||||||
|
string code = 1; // 優惠碼
|
||||||
|
double discount = 2; // 折扣金額或百分比
|
||||||
|
string discount_type = 3; // 折扣類型 ("percent" 或 "fixed")
|
||||||
|
int64 start_date = 4; // 生效日期 (格式: YYYY-MM-DD)
|
||||||
|
int64 end_date = 5; // 結束日期 (格式: YYYY-MM-DD)
|
||||||
|
int64 usage_limit = 6; // 使用次數限制
|
||||||
|
bool is_common = 7; // 是否通用
|
||||||
|
repeated string applicable_product_ids = 8; // 適用的產品ID列表
|
||||||
|
}
|
||||||
|
|
||||||
|
message UpdateCouponReq {
|
||||||
|
string coupon_id = 1; // 優惠券ID
|
||||||
|
string code = 2; // 優惠碼
|
||||||
|
double discount = 3; // 折扣金額或百分比
|
||||||
|
string discount_type = 4; // 折扣類型 ("percent" 或 "fixed")
|
||||||
|
int64 start_date = 5; // 生效日期
|
||||||
|
int64 end_date = 6; // 結束日期
|
||||||
|
int64 usage_limit = 7; // 使用次數限制
|
||||||
|
repeated string applicable_product_ids = 8; // 適用的產品ID列表
|
||||||
|
optional bool is_common = 9; // 是否通用
|
||||||
|
}
|
||||||
|
|
||||||
|
message CouponQueryReq {
|
||||||
|
string coupon_id = 1; // 優惠券ID
|
||||||
|
}
|
||||||
|
|
||||||
|
message CouponResp {
|
||||||
|
Coupon coupon = 1; // 優惠券詳情
|
||||||
|
}
|
||||||
|
|
||||||
|
message CouponListReq {
|
||||||
|
int64 page_index = 1;
|
||||||
|
int64 page_size = 2;
|
||||||
|
repeated string coupon_id = 3;
|
||||||
|
repeated string code = 4;
|
||||||
|
int64 start_date = 5; // 生效日期
|
||||||
|
int64 end_date = 6; // 結束日期
|
||||||
|
repeated string applicable_product_ids = 7; // 適用的產品ID列表
|
||||||
|
bool is_use_able = 8; // 是否是還可用的
|
||||||
|
}
|
||||||
|
|
||||||
|
message CouponListResp {
|
||||||
|
repeated Coupon coupons = 1; // 優惠券列表
|
||||||
|
Pager page = 2;
|
||||||
|
}
|
||||||
|
|
||||||
|
message ValidateCouponReq {
|
||||||
|
string product_id = 1; // 使用優惠券的產品ID
|
||||||
|
double order_amount = 2; // 訂單金額
|
||||||
|
optional string code = 3; // 優惠碼
|
||||||
|
optional string coupon_id = 4;
|
||||||
|
}
|
||||||
|
|
||||||
|
message CouponValidationResp {
|
||||||
|
bool is_valid = 1; // 是否有效
|
||||||
|
string message = 2; // 驗證結果訊息 (如無效的原因或有效的提示)
|
||||||
|
double discount_applied = 3; // 允許的折扣金額
|
||||||
|
string coupon_id = 4; // 驗證成功的優惠券ID
|
||||||
|
}
|
||||||
|
|
||||||
|
service CouponService {
|
||||||
|
// CreateCoupon 創建優惠券
|
||||||
|
rpc CreateCoupon(CreateCouponReq) returns (CouponResp);
|
||||||
|
// UpdateCoupon更新優惠券
|
||||||
|
rpc UpdateCoupon(UpdateCouponReq) returns (CouponResp);
|
||||||
|
// QueryCoupon查詢優惠券
|
||||||
|
rpc QueryCoupon(CouponQueryReq) returns (CouponResp);
|
||||||
|
// DeleteCoupon 刪除優惠券
|
||||||
|
rpc DeleteCoupon(CouponQueryReq) returns (OKResp);
|
||||||
|
// ListCoupons列出所有優惠券
|
||||||
|
rpc ListCoupons(CouponListReq) returns (CouponListResp);
|
||||||
|
// ValidateCoupon 驗證優惠券 (在下單或支付時使用)
|
||||||
|
rpc ValidateCoupon(ValidateCouponReq) returns (CouponValidationResp);
|
||||||
}
|
}
|
Loading…
Reference in New Issue