capsule.proto 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366
  1. syntax = "proto3";
  2. package live.liveadmin.v1;
  3. option go_package = "v1";
  4. import "github.com/gogo/protobuf/gogoproto/gogo.proto";
  5. service Capsule{
  6. // `internal:"true"`
  7. rpc get_coin_list(GetCoinListReqAdmin) returns (GetCoinListRespAdmin);
  8. // `method:"POST" internal:"true"`
  9. rpc update_coin_config(UpdateCoinConfigReqAdmin) returns (UpdateCoinConfigRespAdmin);
  10. // `method:"POST" internal:"true"`
  11. rpc update_coin_status(UpdateCoinStatusReqAdmin) returns (UpdateCoinStatusRespAdmin);
  12. // `method:"POST" internal:"true"`
  13. rpc delete_coin(DeleteCoinReqAdmin) returns (DeleteCoinRespAdmin);
  14. // `internal:"true"`
  15. rpc get_pool_list(GetPoolListReqAdmin) returns (GetPoolListRespAdmin);
  16. // `method:"POST" internal:"true"`
  17. rpc update_pool(UpdatePoolReqAdmin) returns (UpdatePoolRespAdmin);
  18. // `method:"POST" internal:"true"`
  19. rpc delete_pool(DeletePoolReqAdmin) returns (DeletePoolRespAdmin);
  20. // `method:"POST" internal:"true"`
  21. rpc update_pool_status(UpdatePoolStatusReqAdmin) returns (UpdatePoolStatusRespAdmin);
  22. // `internal:"true"`
  23. rpc get_pool_prize(GetPoolPrizeReqAdmin) returns (GetPoolPrizeRespAdmin);
  24. // `internal:"true"`
  25. rpc get_prize_type (GetPrizeTypeReq) returns (GetPrizeTypeResp);
  26. // `internal:"true"`
  27. rpc get_prize_expire (GetPrizeExpireReq) returns (GetPrizeExpireResp);
  28. // `method:"POST" internal:"true"`
  29. rpc update_pool_prize(UpdatePoolPrizeReqAdmin) returns (UpdatePoolPrizeRespAdmin);
  30. // `method:"POST" internal:"true" `
  31. rpc delete_pool_prize(DeletePoolPrizeReqAdmin) returns (DeletePoolPrizeRespAdmin);
  32. // `internal:"true"`
  33. rpc get_coupon_list (CapsuleGetCouponListReq) returns (CapsuleGetCouponListResp);
  34. }
  35. message GetCoinListReqAdmin{
  36. //页码,从1开始
  37. int64 page = 1 [(gogoproto.moretags) = 'form:"page" validate:"required"'];
  38. //页面的大小
  39. int64 page_size = 2 [(gogoproto.moretags) = 'form:"page_size" validate:"required"'];
  40. }
  41. message GetCoinListRespAdmin{
  42. int64 total = 1 [(gogoproto.jsontag) = "total"]; //
  43. int64 total_page = 2 [(gogoproto.jsontag) = "total_page"];
  44. repeated List list = 3 [(gogoproto.jsontag) = "list"];
  45. message List{
  46. //扭蛋ID
  47. int64 id = 1 [(gogoproto.jsontag) = "id"];
  48. //名称 普通扭蛋, 梦幻扭蛋
  49. string title = 2 [(gogoproto.jsontag) = "title"];
  50. //转化数量
  51. int64 change_num = 3 [(gogoproto.jsontag) = "change_num"];
  52. //开始时间
  53. string start_time = 4 [(gogoproto.jsontag) = "start_time"];
  54. //结束时间
  55. string end_time = 5 [(gogoproto.jsontag) = "end_time"];
  56. //状态 0为下线,1为上线
  57. int64 status = 6 [(gogoproto.jsontag) = "status"];
  58. //获得方式 1为所有瓜子道具,2为所有金瓜子道具,3为指定道具ID
  59. int64 gift_type = 7 [(gogoproto.jsontag) = "gift_type"];
  60. // 道具的ID
  61. string gift_config = 8 [(gogoproto.jsontag) = "gift_config"];
  62. //活动分区
  63. repeated Area_ids area_ids = 9 [(gogoproto.jsontag) = "area_ids"];
  64. message Area_ids{
  65. // 父分区ID
  66. int64 parent_id = 1 [(gogoproto.jsontag) = "parent_id"];
  67. // 是否全选
  68. int64 is_all = 2 [(gogoproto.jsontag) = "is_all"];
  69. // 子分区ID
  70. repeated int64 list = 3 [(gogoproto.jsontag) = "list"];
  71. }
  72. }
  73. }
  74. message UpdateCoinConfigReqAdmin{
  75. //扭蛋ID
  76. int64 id = 1 [(gogoproto.moretags) = 'form:"id"'];
  77. //名称 普通扭蛋, 梦幻扭蛋
  78. string title = 2 [(gogoproto.moretags) = 'form:"title" validate:"required"'];
  79. //转化数量
  80. int64 change_num = 3 [(gogoproto.moretags) = 'form:"change_num" validate:"required"'];
  81. //开始时间
  82. string start_time = 4 [(gogoproto.moretags) = 'form:"start_time" validate:"required"'];
  83. //结束时间
  84. string end_time = 5 [(gogoproto.moretags) = 'form:"end_time" validate:"required"'];
  85. //状态 0为下线,1为上线
  86. int64 status = 6 [(gogoproto.moretags) = 'form:"status" validate:"required"'];
  87. //获得方式 1为所有瓜子道具,2为所有金瓜子道具,3为指定道具ID
  88. int64 gift_type = 7 [(gogoproto.moretags) = 'form:"gift_type" validate:"required"'];
  89. // 道具的ID
  90. string gift_config = 8 [(gogoproto.moretags) = 'form:"gift_config"'];
  91. //里面是父分区ID,是否全选,分区ID
  92. string area_ids = 9 [(gogoproto.moretags) = 'form:"area_ids" validate:"required"'];
  93. }
  94. message UpdateCoinConfigRespAdmin{
  95. //状态
  96. bool status = 1 [(gogoproto.jsontag) = "status"];
  97. }
  98. message UpdateCoinStatusReqAdmin{
  99. //扭蛋币id
  100. int64 id = 1 [(gogoproto.moretags) = 'form:"id" validate:"required"'];
  101. //状态 0为下线,1为上线
  102. int64 status = 2 [(gogoproto.moretags) = 'form:"status"'];
  103. }
  104. message UpdateCoinStatusRespAdmin{
  105. //状态
  106. bool status = 1 [(gogoproto.jsontag) = "status"];
  107. }
  108. message DeleteCoinReqAdmin{
  109. //扭蛋币id
  110. int64 id = 1 [(gogoproto.moretags) = 'form:"id" validate:"required"'];
  111. }
  112. message DeleteCoinRespAdmin{
  113. //状态
  114. bool status = 1 [(gogoproto.jsontag) = "status"];
  115. }
  116. message GetPoolListReqAdmin{
  117. //页码
  118. int64 page = 1 [(gogoproto.moretags) = 'form:"page" validate:"required"'];
  119. //页面的大小
  120. int64 page_size = 2 [(gogoproto.moretags) = 'form:"page_size" validate:"required"'];
  121. }
  122. message GetPoolListRespAdmin{
  123. //总数
  124. int64 total = 1 [(gogoproto.jsontag) = "total"];
  125. //总页数
  126. int64 total_page = 2 [(gogoproto.jsontag) = "total_page"];
  127. repeated List list = 3 [(gogoproto.jsontag) = "list"];
  128. message List{
  129. // 奖池id
  130. int64 id = 1 [(gogoproto.jsontag) = "id"];
  131. // 扭蛋名称
  132. int64 coin_id = 2 [(gogoproto.jsontag) = "coin_id"];
  133. // 奖池名称
  134. string title = 3 [(gogoproto.jsontag) = "title"];
  135. // 奖池名称
  136. string coin_title = 8 [(gogoproto.jsontag) = "coin_title"];
  137. //开始时间
  138. string start_time = 4 [(gogoproto.jsontag) = "start_time"];
  139. //结束时间
  140. string end_time = 5 [(gogoproto.jsontag) = "end_time"];
  141. //状态 0为下线,1为上线
  142. int64 status = 6 [(gogoproto.jsontag) = "status"];
  143. //描述
  144. string rule = 7 [(gogoproto.jsontag) = "rule"];
  145. }
  146. }
  147. message UpdatePoolReqAdmin{
  148. // 奖池id
  149. int64 id = 1 [(gogoproto.moretags) = 'form:"id"'];
  150. // 扭蛋名称
  151. int64 coin_id = 2 [(gogoproto.moretags) = 'form:"coin_id" validate:"required"'];
  152. //奖池名称
  153. string title = 3 [(gogoproto.moretags) = 'form:"title" validate:"required"'];
  154. //开始时间
  155. string start_time = 4 [(gogoproto.moretags) = 'form:"start_time" validate:"required"'];
  156. //结束时间
  157. string end_time = 5 [(gogoproto.moretags) = 'form:"end_time" validate:"required"'];
  158. //描述
  159. string rule = 6 [(gogoproto.moretags) = 'form:"rule" validate:"required"'];
  160. }
  161. message UpdatePoolRespAdmin{
  162. //状态
  163. bool status = 1 [(gogoproto.jsontag) = "status"];
  164. }
  165. message DeletePoolReqAdmin{
  166. //奖池id
  167. int64 id = 1 [(gogoproto.moretags) = 'form:"id" validate:"required"'];
  168. }
  169. message DeletePoolRespAdmin{
  170. //状态
  171. bool status = 1 [(gogoproto.jsontag) = "status"];
  172. }
  173. message UpdatePoolStatusReqAdmin{
  174. //奖池id
  175. int64 id = 1 [(gogoproto.moretags) = 'form:"id" validate:"required"'];
  176. //状态 0为未上线,1为上线
  177. int64 status = 2 [(gogoproto.moretags) = 'form:"status"'];
  178. }
  179. message UpdatePoolStatusRespAdmin{
  180. //状态
  181. bool status = 1 [(gogoproto.jsontag) = "status"];
  182. }
  183. message GetPoolPrizeReqAdmin{
  184. //奖池id
  185. int64 pool_id = 1 [(gogoproto.moretags) = 'form:"pool_id" validate:"required"'];
  186. }
  187. message GetPoolPrizeRespAdmin{
  188. repeated List list = 1 [(gogoproto.jsontag) = "list"];
  189. message List{
  190. //奖励id
  191. int64 id = 1 [(gogoproto.jsontag) = "id"];
  192. //奖池id
  193. int64 pool_id = 2 [(gogoproto.jsontag) = "pool_id"];
  194. //奖品类型 1为道具,2为头衔,3为经验原石,4为经验曜石,5为贤者之石,6为小号小电视,7为舰长守护,8为提督守护,9为总督守护
  195. int64 type = 3 [(gogoproto.jsontag) = "type"];
  196. //数量
  197. int64 num = 4 [(gogoproto.jsontag) = "num"];
  198. //奖品真实id
  199. int64 object_id = 5 [(gogoproto.jsontag) = "object_id"];
  200. //web端图片
  201. string web_url = 6 [(gogoproto.jsontag) = "web_url"];
  202. //移动端图片
  203. string mobile_url = 7 [(gogoproto.jsontag) = "mobile_url"];
  204. //奖励描述
  205. string description = 8 [(gogoproto.jsontag) = "description"];
  206. //跳转地址
  207. string jump_url = 9 [(gogoproto.jsontag) = "jump_url"];
  208. //概率类型 1为普通,2为固定每天,3为固定每周
  209. int64 pro_type = 10 [(gogoproto.jsontag) = "pro_type"];
  210. //概率,3位小数,''为另一种概率模式
  211. string chance = 11 [(gogoproto.jsontag) = "chance"];
  212. //循环的数量 0为另一种概率模式
  213. int64 loop = 12 [(gogoproto.jsontag) = "loop"];
  214. //限制数量 0为另一种概率模式
  215. int64 limit = 13 [(gogoproto.jsontag) = "limit"];
  216. // 奖励名称
  217. string name = 14 [(gogoproto.jsontag) = "name"];
  218. // 权重
  219. int64 weight = 15 [(gogoproto.jsontag) = "weight"];
  220. // 白名单用户
  221. string white_uids = 16 [(gogoproto.jsontag) = "white_uids"];
  222. // 过期类型
  223. int64 expire = 17 [(gogoproto.jsontag) = "expire"];
  224. }
  225. }
  226. message UpdatePoolPrizeReqAdmin{
  227. //奖励id
  228. int64 id = 1 [(gogoproto.moretags) = 'form:"id"'];
  229. //奖池id
  230. int64 pool_id = 2 [(gogoproto.moretags) = 'form:"pool_id"'];
  231. //奖品类型 1为道具,2为头衔,3为经验原石,4为经验曜石,5为贤者之石,6为小号小电视,7为舰长守护,8为提督守护,9为总督守护
  232. int64 type = 3 [(gogoproto.moretags) = 'form:"type" validate:"required"'];
  233. //数量
  234. int64 num = 4 [(gogoproto.moretags) = 'form:"num" validate:"required"'];
  235. //奖品真实id
  236. int64 object_id = 5 [(gogoproto.moretags) = 'form:"object_id"'];
  237. //过期时间
  238. int64 expire = 6 [(gogoproto.moretags) = 'form:"expire"'];
  239. //web端图片
  240. string web_url = 7 [(gogoproto.moretags) = 'form:"web_url" validate:"required"'];
  241. //移动端图片
  242. string mobile_url = 8 [(gogoproto.moretags) = 'form:"mobile_url" validate:"required"'];
  243. //奖励描述
  244. string description = 9 [(gogoproto.moretags) = 'form:"description" validate:"required"'];
  245. //跳转地址
  246. string jump_url = 10 [(gogoproto.moretags) = 'form:"jump_url"'];
  247. //概率类型 1为普通,2为固定每天,3为固定每周,4位白名单
  248. int64 pro_type = 11 [(gogoproto.moretags) = 'form:"pro_type" validate:"required"'];
  249. //概率,3位小数,''为另一种概率模式
  250. string chance = 12 [(gogoproto.moretags) = 'form:"chance"'];
  251. //循环的数量 0为另一种概率模式
  252. int64 loop = 13 [(gogoproto.moretags) = 'form:"loop"'];
  253. //限制数量 0为另一种概率模式
  254. int64 limit = 14 [(gogoproto.moretags) = 'form:"limit"'];
  255. // 权重
  256. int64 weight = 15 [(gogoproto.moretags) = 'form:"weight"'];
  257. // 白名单用户
  258. string white_uids = 16 [(gogoproto.moretags) = 'form:"white_uids"'];
  259. }
  260. message UpdatePoolPrizeRespAdmin{
  261. //状态
  262. bool status = 1 [(gogoproto.jsontag) = "status"];
  263. //新增id
  264. int64 prize_id = 2 [(gogoproto.jsontag) = "prize_id"];
  265. }
  266. message DeletePoolPrizeReqAdmin{
  267. //奖励id
  268. int64 id = 1 [(gogoproto.moretags) = 'form:"id" validate:"required"'];
  269. }
  270. message DeletePoolPrizeRespAdmin{
  271. //状态
  272. bool status = 1 [(gogoproto.jsontag) = "status"];
  273. }
  274. message GetPrizeTypeReq {
  275. }
  276. message GetPrizeTypeResp {
  277. repeated List list = 3 [(gogoproto.jsontag) = "list"];
  278. message List {
  279. //
  280. int64 type = 1 [(gogoproto.jsontag) = "type"];
  281. //
  282. string name = 2 [(gogoproto.jsontag) = "name"];
  283. }
  284. }
  285. message GetPrizeExpireReq {
  286. }
  287. message GetPrizeExpireResp {
  288. repeated List list = 3 [(gogoproto.jsontag) = "list"];
  289. message List {
  290. //
  291. int64 expire = 1 [(gogoproto.jsontag) = "expire"];
  292. //
  293. string name = 2 [(gogoproto.jsontag) = "name"];
  294. }
  295. }
  296. message CapsuleGetCouponListReq {
  297. //
  298. int64 uid = 1 [(gogoproto.moretags) = 'form:"uid" validate:"required"'];
  299. }
  300. message CapsuleGetCouponListResp {
  301. message List {
  302. //
  303. int64 uid = 1 [(gogoproto.jsontag) = "uid"];
  304. // 中奖时间
  305. string award_time = 2 [(gogoproto.jsontag) = "award_time"];
  306. // 奖品名称
  307. string award_name = 3 [(gogoproto.jsontag) = "award_name"];
  308. // 券码
  309. string award_code = 4 [(gogoproto.jsontag) = "award_code"];
  310. // 0 重试 1 成功
  311. int64 status = 5 [(gogoproto.jsontag) = "status"];
  312. // 上次重试时间
  313. string retry_time = 6 [(gogoproto.jsontag) = "retry_time"];
  314. }
  315. repeated List list = 1 [(gogoproto.jsontag) = "list"];
  316. }