activity.proto 2.6 KB

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