promotion.proto 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180
  1. syntax = "proto3";
  2. package ticket.service.sales.v1;
  3. import "github.com/gogo/protobuf/gogoproto/gogo.proto";
  4. option go_package = "v1";
  5. option (gogoproto.goproto_getters_all) = false;
  6. option (gogoproto.goproto_stringer_all) = false;
  7. option (gogoproto.stringer_all) = true;
  8. message Promo{
  9. int64 promo_id = 1 [(gogoproto.jsontag) = "promo_id", (gogoproto.customname)= "PromoID"];
  10. int32 type = 2 [(gogoproto.jsontag) = "type", (gogoproto.casttype) = "int16"];
  11. int64 item_id = 3 [(gogoproto.jsontag) = "item_id", (gogoproto.customname)= "ItemID"];
  12. int64 sku_id = 4 [(gogoproto.jsontag) = "sku_id", (gogoproto.customname)= "SKUID"];
  13. int64 extra = 5 [(gogoproto.jsontag) = "extra"];
  14. int64 expire_sec = 6 [(gogoproto.jsontag) = "expire_sec"];
  15. int64 sku_count = 7 [(gogoproto.jsontag) = "sku_count", (gogoproto.customname)= "SKUCount"];
  16. int64 amount = 8 [(gogoproto.jsontag) = "amount"];
  17. int64 buyer_count = 9 [(gogoproto.jsontag) = "buyer_count"];
  18. int64 begin_time = 10 [(gogoproto.jsontag) = "begin_time"];
  19. int64 end_time = 11 [(gogoproto.jsontag) = "end_time"];
  20. int32 status = 12 [(gogoproto.jsontag) = "status", (gogoproto.casttype) = "int16"];
  21. int64 ctime = 13 [(gogoproto.jsontag) = "ctime"];
  22. int64 mtime = 14 [(gogoproto.jsontag) = "mtime"];
  23. int64 priv_sku_id = 15 [(gogoproto.jsontag) = "priv_sku_id", (gogoproto.customname)= "PrivSKUID"];
  24. string usable_coupons = 16 [(gogoproto.jsontag) = "usable_coupons"];
  25. }
  26. message PromoGroup {
  27. int64 promo_id = 1 [(gogoproto.jsontag) = "promo_id", (gogoproto.customname)= "PromoID"];
  28. int64 group_id = 2 [(gogoproto.jsontag) = "group_id", (gogoproto.customname)= "GroupID"];
  29. int64 uid = 3 [(gogoproto.jsontag) = "uid", (gogoproto.customname)= "UID"];
  30. int64 order_count = 4 [(gogoproto.jsontag) = "order_count"];
  31. int32 status =5 [(gogoproto.jsontag) = "status", (gogoproto.casttype) = "int16"];
  32. int64 expire_at = 6 [(gogoproto.jsontag) = "expire_at"];
  33. int64 ctime = 7 [(gogoproto.jsontag) = "ctime"];
  34. int64 mtime = 8 [(gogoproto.jsontag) = "mtime"];
  35. }
  36. message PromoOrder {
  37. int64 promo_id = 1 [(gogoproto.jsontag) = "promo_id", (gogoproto.customname)= "PromoID"];
  38. int64 group_id = 2 [(gogoproto.jsontag) = "group_id", (gogoproto.customname)= "GroupID"];
  39. int64 order_id = 3 [(gogoproto.jsontag) = "order_id", (gogoproto.customname)= "OrderID"];
  40. int32 is_master = 4 [(gogoproto.jsontag) = "is_master", (gogoproto.casttype) = "int16"];
  41. int64 uid = 5 [(gogoproto.jsontag) = "uid", (gogoproto.customname)= "UID"];
  42. int32 status = 6 [(gogoproto.jsontag) = "status", (gogoproto.casttype) = "int16"];
  43. int64 ctime = 7 [(gogoproto.jsontag) = "ctime"];
  44. int64 mtime = 8 [(gogoproto.jsontag) = "mtime"];
  45. int64 sku_id = 9 [(gogoproto.jsontag) = "sku_id", (gogoproto.customname)= "SKUID"];
  46. }
  47. message CreatePromoRequest{
  48. int64 promo_id = 1 [(gogoproto.jsontag) = "promo_id",(gogoproto.moretags) = "form:\"promo_id\" validate:\"required\"", (gogoproto.customname)= "PromoID"];
  49. int32 type = 2 [(gogoproto.jsontag) = "type",(gogoproto.moretags) = "form:\"type\"", (gogoproto.casttype) = "int16"];
  50. int64 item_id = 3 [(gogoproto.jsontag) = "item_id",(gogoproto.moretags) = "form:\"item_id\" validate:\"required\"", (gogoproto.customname)= "ItemID"];
  51. int64 sku_id = 4 [(gogoproto.jsontag) = "sku_id",(gogoproto.moretags) = "form:\"sku_id\" validate:\"required\"", (gogoproto.customname)= "SKUID"];
  52. int64 extra = 5 [(gogoproto.jsontag) = "extra",(gogoproto.moretags) = "form:\"extra\" validate:\"required\""];
  53. int64 expire_sec = 6 [(gogoproto.jsontag) = "expire_sec",(gogoproto.moretags) = "form:\"expire_sec\" validate:\"required\""];
  54. int64 sku_count = 7 [(gogoproto.jsontag) = "sku_count",(gogoproto.moretags) = "form:\"sku_count\" validate:\"required\"", (gogoproto.customname)= "SKUCount"];
  55. int64 amount = 8 [(gogoproto.jsontag) = "amount",(gogoproto.moretags) = "form:\"amount\" validate:\"required\""];
  56. int64 buyer_count = 9 [(gogoproto.jsontag) = "buyer_count",(gogoproto.moretags) = "form:\"buyer_count\" validate:\"required\""];
  57. int64 begin_time = 10 [(gogoproto.jsontag) = "begin_time",(gogoproto.moretags) = "form:\"begin_time\" validate:\"required\""];
  58. int64 end_time = 11 [(gogoproto.jsontag) = "end_time",(gogoproto.moretags) = "form:\"end_time\" validate:\"required\""];
  59. int64 priv_sku_id = 12 [(gogoproto.jsontag) = "priv_sku_id",(gogoproto.moretags) = "form:\"priv_sku_id\"", (gogoproto.customname)= "PrivSKUID"];
  60. string usable_coupons = 13 [(gogoproto.jsontag) = "usable_coupons",(gogoproto.moretags) = "form:\"usable_coupons\""];
  61. }
  62. message OperatePromoRequest{
  63. int64 promo_id = 1 [(gogoproto.jsontag) = "promo_id",(gogoproto.moretags) = "form:\"promo_id\" validate:\"required\"", (gogoproto.customname)= "PromoID"];
  64. int32 operate_type = 2 [(gogoproto.jsontag) = "operate_type",(gogoproto.moretags) = "form:\"operate_type\" validate:\"required\"", (gogoproto.casttype) = "int16"];
  65. }
  66. message CheckCreatePromoOrderRequest{
  67. int64 uid = 1 [(gogoproto.jsontag) = "uid",(gogoproto.moretags) = "form:\"uid\" validate:\"required\"", (gogoproto.customname)= "UID"];
  68. int64 sku_id = 2 [(gogoproto.jsontag) = "sku_id",(gogoproto.moretags) = "form:\"sku_id\" validate:\"required\"", (gogoproto.customname)= "SKUID"];
  69. int64 promo_id = 3 [(gogoproto.jsontag) = "promo_id",(gogoproto.moretags) = "form:\"promo_id\" validate:\"required\"", (gogoproto.customname)= "PromoID"];
  70. int64 group_id = 4 [(gogoproto.jsontag) = "group_id",(gogoproto.moretags) = "form:\"group_id\"", (gogoproto.customname)= "GroupID"];
  71. }
  72. message RepeatOrder{
  73. int64 order_id = 1 [(gogoproto.jsontag) = "order_id", (gogoproto.customname)= "OrderID"];
  74. int32 is_master = 2 [(gogoproto.jsontag) = "is_master", (gogoproto.casttype) = "int16"];
  75. int32 status = 3 [(gogoproto.jsontag) = "status", (gogoproto.casttype) = "int16"];
  76. }
  77. message CheckCreatePromoOrderResponse{
  78. int64 amount = 1 [(gogoproto.jsontag) = "amount"];
  79. int64 sku_id = 2 [(gogoproto.jsontag) = "sku_id", (gogoproto.customname)= "SKUID"];
  80. int64 priv_sku_id = 3 [(gogoproto.jsontag) = "priv_sku_id", (gogoproto.customname)= "PrivSKUID"];
  81. string usable_coupons = 4 [(gogoproto.jsontag) = "usable_coupons"];
  82. RepeatOrder repeat_order = 5 [(gogoproto.jsontag) = "repeat_order"];
  83. }
  84. message CreatePromoOrderRequest{
  85. int64 promo_id = 1 [(gogoproto.jsontag) = "promo_id",(gogoproto.moretags) = "form:\"promo_id\" validate:\"required\"", (gogoproto.customname)= "PromoID"];
  86. int64 order_id = 2 [(gogoproto.jsontag) = "order_id",(gogoproto.moretags) = "form:\"order_id\" validate:\"required\"", (gogoproto.customname)= "OrderID"];
  87. int64 group_id = 3 [(gogoproto.jsontag) = "group_id",(gogoproto.moretags) = "form:\"group_id\"", (gogoproto.customname)= "GroupID"];
  88. int64 uid = 4 [(gogoproto.jsontag) = "uid",(gogoproto.moretags) = "form:\"uid\" validate:\"required\"", (gogoproto.customname)= "UID"];
  89. int64 promo_sku_id = 5 [(gogoproto.jsontag) = "promo_sku_id",(gogoproto.moretags) = "form:\"promo_sku_id\" validate:\"required\"", (gogoproto.customname)= "PromoSKUID"];
  90. int64 ctime = 6 [(gogoproto.jsontag) = "ctime",(gogoproto.moretags) = "form:\"ctime\" validate:\"required\""];
  91. int64 pay_money = 7 [(gogoproto.jsontag) = "pay_money",(gogoproto.moretags) = "form:\"pay_money\""];
  92. }
  93. message CommonResponse {
  94. int64 res = 1 [(gogoproto.jsontag) = "res"];
  95. }
  96. message PromoID{
  97. int64 promo_id = 1 [(gogoproto.jsontag) = "promo_id",(gogoproto.moretags) = "form:\"promo_id\" validate:\"required\"", (gogoproto.customname)= "PromoID"];
  98. }
  99. message OrderID{
  100. int64 order_id = 1 [(gogoproto.jsontag) = "order_id",(gogoproto.moretags) = "form:\"order_id\" validate:\"required\"", (gogoproto.customname)= "OrderID"];
  101. }
  102. message GroupID{
  103. int64 group_id = 1 [(gogoproto.jsontag) = "group_id",(gogoproto.moretags) = "form:\"group_id\" validate:\"required\"", (gogoproto.customname)= "GroupID"];
  104. }
  105. message GetPromoGroupInfoRequest{
  106. int64 order_id = 1 [(gogoproto.jsontag) = "order_id",(gogoproto.moretags) = "form:\"order_id\" validate:\"required\"", (gogoproto.customname)= "OrderID"];
  107. }
  108. message GetPromoGroupInfoResponse {
  109. int64 promo_id = 1 [(gogoproto.jsontag) = "promo_id", (gogoproto.customname)= "PromoID"];
  110. int64 sku_count = 2 [(gogoproto.jsontag) = "sku_count", (gogoproto.customname)= "SKUCount"];
  111. int64 amount = 3 [(gogoproto.jsontag) = "amount"];
  112. int64 group_id = 4 [(gogoproto.jsontag) = "group_id", (gogoproto.customname)= "GroupID"];
  113. int64 order_count = 5 [(gogoproto.jsontag) = "order_count"];
  114. int64 expire_at = 6 [(gogoproto.jsontag) = "expire_at"];
  115. int32 status = 7 [(gogoproto.jsontag) = "status", (gogoproto.casttype) = "int16"];
  116. int64 ctime = 8 [(gogoproto.jsontag) = "ctime"];
  117. }
  118. message CheckIssueResponse {
  119. int64 promo_id = 1 [(gogoproto.jsontag) = "promo_id", (gogoproto.customname)= "PromoID"];
  120. int64 group_id = 2 [(gogoproto.jsontag) = "group_id", (gogoproto.customname)= "GroupID"];
  121. repeated OrderID paid_orders = 3 [(gogoproto.jsontag) = "paid_orders"];
  122. }
  123. message FinishIssueRequest {
  124. int64 promo_id = 1 [(gogoproto.jsontag) = "promo_id",(gogoproto.moretags) = "form:\"promo_id\" validate:\"required\"", (gogoproto.customname)= "PromoID"];
  125. int64 group_id = 2 [(gogoproto.jsontag) = "group_id",(gogoproto.moretags) = "form:\"group_id\" validate:\"required\"", (gogoproto.customname)= "GroupID"];
  126. }
  127. message GroupFailedRequest {
  128. int64 group_id = 1 [(gogoproto.jsontag) = "group_id",(gogoproto.moretags) = "form:\"group_id\" validate:\"required\"", (gogoproto.customname)= "GroupID"];
  129. int64 cancel_num = 2 [(gogoproto.jsontag) = "cancel_num",(gogoproto.moretags) = "form:\"cancel_num\" validate:\"required\""];
  130. }
  131. message EditPromoRequest {
  132. int64 promo_id = 1 [(gogoproto.jsontag) = "promo_id",(gogoproto.moretags) = "form:\"promo_id\" validate:\"required\"", (gogoproto.customname)= "PromoID"];
  133. int64 amount = 2 [(gogoproto.jsontag) = "amount",(gogoproto.moretags) = "form:\"amount\""];
  134. int64 expire_sec = 3 [(gogoproto.jsontag) = "expire_sec",(gogoproto.moretags) = "form:\"expire_sec\""];
  135. int64 begin_time = 4 [(gogoproto.jsontag) = "begin_time",(gogoproto.moretags) = "form:\"begin_time\""];
  136. int64 end_time = 5 [(gogoproto.jsontag) = "end_time",(gogoproto.moretags) = "form:\"end_time\""];
  137. int64 priv_sku_id = 6 [(gogoproto.jsontag) = "priv_sku_id",(gogoproto.moretags) = "form:\"priv_sku_id\"", (gogoproto.customname)= "PrivSKUID"];
  138. string usable_coupons = 7 [(gogoproto.jsontag) = "usable_coupons",(gogoproto.moretags) = "form:\"usable_coupons\""];
  139. int64 sku_count = 8 [(gogoproto.jsontag) = "sku_count",(gogoproto.moretags) = "form:\"sku_count\"", (gogoproto.customname)= "SKUCount"];
  140. }
  141. service Promotion{
  142. rpc CreatePromo(CreatePromoRequest) returns(PromoID){};
  143. rpc GetPromo(PromoID) returns(Promo){};
  144. rpc OperatePromo(OperatePromoRequest) returns(CommonResponse){};
  145. rpc EditPromo(EditPromoRequest) returns(CommonResponse){};
  146. rpc GetPromoGroupInfo(GetPromoGroupInfoRequest) returns(GetPromoGroupInfoResponse){};
  147. rpc GroupFailed(GroupFailedRequest) returns(GroupID){};
  148. rpc CheckCreateStatus(CheckCreatePromoOrderRequest) returns (CheckCreatePromoOrderResponse){};
  149. rpc CreatePromoOrder(CreatePromoOrderRequest) returns(OrderID){};
  150. rpc PromoPayNotify(OrderID) returns(OrderID){};
  151. rpc CancelOrder(OrderID) returns(OrderID){};
  152. rpc CheckIssue(OrderID) returns(CheckIssueResponse){};
  153. rpc FinishIssue(FinishIssueRequest) returns(GroupID){};
  154. rpc PromoRefundNotify(OrderID) returns(OrderID){};
  155. }