activity.proto 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100
  1. syntax = "proto3";
  2. package api.activity;
  3. import "google/api/annotations.proto";
  4. //import "google/protobuf/struct.proto";
  5. import "google/protobuf/empty.proto";
  6. option go_package = "git.ikuban.com/server/pw-protobuf/api/activity;activity";
  7. option java_multiple_files = true;
  8. option java_package = "api.activity";
  9. service Activity {
  10. // 签到列表
  11. rpc FindSignInList (google.protobuf.Empty) returns (FindSignInListReply){
  12. option (google.api.http) = {
  13. post: "/api/sign/list",
  14. body:"*"
  15. };
  16. };
  17. // 签到
  18. rpc Sign (SignRequest) returns (google.protobuf.Empty){
  19. option (google.api.http) = {
  20. post: "/api/sign",
  21. body:"*"
  22. };
  23. };
  24. // 补签双倍
  25. rpc GetSignDouble (google.protobuf.Empty) returns (google.protobuf.Empty){
  26. option (google.api.http) = {
  27. post: "/api/sign/again",
  28. body:"*"
  29. };
  30. };
  31. // 查询任务列表
  32. rpc FindTaskList (google.protobuf.Empty) returns (FindTaskListReply){
  33. option (google.api.http) = {
  34. post: "/api/task/list",
  35. body:"*"
  36. };
  37. };
  38. // 完成任务
  39. rpc FinishTask (TaskRequest) returns (google.protobuf.Empty){
  40. option (google.api.http) = {
  41. post: "/api/task/finish",
  42. body:"*"
  43. };
  44. };
  45. // 获取任务奖励
  46. rpc GetTaskCredit (TaskRequest) returns (google.protobuf.Empty){
  47. option (google.api.http) = {
  48. post: "/api/task/credit",
  49. body:"*"
  50. };
  51. };
  52. // 完成单次任务
  53. rpc FinishOnceTaskByType (FinishOnceTaskByTypeRequest) returns (google.protobuf.Empty){};
  54. // 用户在领取奖励后会在这里同步记录
  55. rpc SyncFinishTaskRecord (FinishOnceTaskByTypeRequest) returns (google.protobuf.Empty){};
  56. }
  57. message FinishOnceTaskByTypeRequest{
  58. string userId = 1;
  59. string type = 2;
  60. }
  61. message TaskRequest{
  62. int64 id = 1;// 任务ID
  63. }
  64. message FindTaskListReply{
  65. repeated TaskInfo list = 1;
  66. }
  67. message TaskInfo{
  68. int64 id = 1;// 任务ID
  69. string type = 2;// 任务类型
  70. string detail = 3;// 任务要求
  71. int64 credit = 4;// 完成任务获取的积分
  72. int64 canFinishNum = 5;// 可完成任务的总次数
  73. int64 finishNum = 6;// 已完成任务的次数
  74. int64 getCreditNum = 7;// 已获取奖励的次数
  75. }
  76. message FindSignInListReply{
  77. repeated SignInInfo list = 1;
  78. bool isTodaySign = 2;//今日是否签到
  79. }
  80. message SignInInfo{
  81. int64 day = 1;// 签到的日期
  82. bool isSign = 2;// 是否签到
  83. bool isDouble = 3;// 是否获取双倍奖励
  84. int64 credit = 4;// 签到获取的积分
  85. }
  86. message SignRequest{
  87. bool isDouble = 1;// 是否获取双倍奖励
  88. }