From 427fca7ed19f7e7c7c50c1b106536112ec80556a Mon Sep 17 00:00:00 2001 From: "DESKTOP-V763RJ7\\Administrator" <835606593@qq.com> Date: Fri, 30 Jan 2026 10:53:00 +0800 Subject: [PATCH] =?UTF-8?q?feat=20kafka=20=E6=94=B9=E7=89=88=202?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- db/kafka/consumer.go | 21 +- db/kafka/topic.go | 3 + db/redis/client.go | 4 + proto/rs/grpc_pb/service_qgdzs.pb.go | 885 +++++++++++++-------------- 4 files changed, 452 insertions(+), 461 deletions(-) diff --git a/db/kafka/consumer.go b/db/kafka/consumer.go index 9763b4d..5bcff3b 100644 --- a/db/kafka/consumer.go +++ b/db/kafka/consumer.go @@ -2,6 +2,7 @@ package kafka import ( "context" + "encoding/json" "errors" "fmt" "git.hlsq.asia/mmorpg/service-common/log" @@ -27,13 +28,13 @@ type Consumer struct { cancel context.CancelFunc } -func (c *Consumer) Consume(h map[Topic]Handler) { +func (c *Consumer) Consume(t []Topic) { for { topicArr := make([]string, 0) - handlerMap := make(map[string]Handler) - for t, h2 := range h { - topicArr = append(topicArr, t.Name()) - handlerMap[t.Name()] = h2 + handlerMap := make(map[string]Topic) + for _, v := range t { + topicArr = append(topicArr, v.Name()) + handlerMap[v.Name()] = v } err := client.consumer.Consume(c.ctx, topicArr, &handler{ handler: handlerMap, @@ -53,7 +54,7 @@ func (c *Consumer) Stop() error { type Handler func(context.Context, []byte) error type handler struct { - handler map[string]Handler + handler map[string]Topic } func (h *handler) Setup(_ sarama.ConsumerGroupSession) error { @@ -77,7 +78,13 @@ func (h *handler) ConsumeClaim(sess sarama.ConsumerGroupSession, claim sarama.Co return utils.ErrorsWrap(errors.New("handler not found")) } - if err := cb(ctx, message.Value); err != nil { + if err := json.Unmarshal(message.Value, cb); err != nil { + span.SetStatus(otelcodes.Error, "handler json.Unmarshal error") + span.End() + return utils.ErrorsWrap(err, "handler json.Unmarshal error") + } + + if err := cb.OnMessage(ctx); err != nil { if stack, ok := err.(interface{ StackTrace() string }); ok { span.AddEvent("Stack Trace", trace.WithAttributes( attribute.String("stack.trace", fmt.Sprintf("%v", stack.StackTrace())), diff --git a/db/kafka/topic.go b/db/kafka/topic.go index c6a3567..5e3a3af 100644 --- a/db/kafka/topic.go +++ b/db/kafka/topic.go @@ -1,5 +1,8 @@ package kafka +import "context" + type Topic interface { Name() string + OnMessage(context.Context) error } diff --git a/db/redis/client.go b/db/redis/client.go index 5330187..29dffcc 100644 --- a/db/redis/client.go +++ b/db/redis/client.go @@ -49,6 +49,10 @@ func (c *Client) Set(ctx context.Context, key string, value interface{}, expirat return c.cli.Set(ctx, key, value, expiration) } +func (c *Client) SetNX(ctx context.Context, key string, value interface{}, expiration time.Duration) *redis.BoolCmd { + return c.cli.SetNX(ctx, key, value, expiration) +} + func (c *Client) Get(ctx context.Context, key string) *redis.StringCmd { return c.cli.Get(ctx, key) } diff --git a/proto/rs/grpc_pb/service_qgdzs.pb.go b/proto/rs/grpc_pb/service_qgdzs.pb.go index 457cb83..fe44433 100644 --- a/proto/rs/grpc_pb/service_qgdzs.pb.go +++ b/proto/rs/grpc_pb/service_qgdzs.pb.go @@ -113,8 +113,6 @@ type RandomGetQuestionReq struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - - CategorySn string `protobuf:"bytes,1,opt,name=CategorySn,json=category_sn,proto3" json:"CategorySn,omitempty"` // 类目唯一标识 } func (x *RandomGetQuestionReq) Reset() { @@ -149,13 +147,6 @@ func (*RandomGetQuestionReq) Descriptor() ([]byte, []int) { return file_service_qgdzs_proto_rawDescGZIP(), []int{2} } -func (x *RandomGetQuestionReq) GetCategorySn() string { - if x != nil { - return x.CategorySn - } - return "" -} - type RandomGetQuestionResp struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -235,133 +226,6 @@ func (x *RandomGetQuestionResp) GetDifficulty() int32 { return 0 } -// ---------- GetQuestionInfo ---------- -type GetQuestionInfoReq struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - QuestionSn string `protobuf:"bytes,1,opt,name=QuestionSn,json=question_sn,proto3" json:"QuestionSn,omitempty"` // 题目唯一标识 -} - -func (x *GetQuestionInfoReq) Reset() { - *x = GetQuestionInfoReq{} - if protoimpl.UnsafeEnabled { - mi := &file_service_qgdzs_proto_msgTypes[4] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *GetQuestionInfoReq) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*GetQuestionInfoReq) ProtoMessage() {} - -func (x *GetQuestionInfoReq) ProtoReflect() protoreflect.Message { - mi := &file_service_qgdzs_proto_msgTypes[4] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use GetQuestionInfoReq.ProtoReflect.Descriptor instead. -func (*GetQuestionInfoReq) Descriptor() ([]byte, []int) { - return file_service_qgdzs_proto_rawDescGZIP(), []int{4} -} - -func (x *GetQuestionInfoReq) GetQuestionSn() string { - if x != nil { - return x.QuestionSn - } - return "" -} - -type GetQuestionInfoResp struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Question string `protobuf:"bytes,1,opt,name=Question,json=question,proto3" json:"Question,omitempty"` // 题干 - Options []string `protobuf:"bytes,2,rep,name=Options,json=options,proto3" json:"Options,omitempty"` // 选项 - Category string `protobuf:"bytes,3,opt,name=Category,json=category,proto3" json:"Category,omitempty"` // 类目 - Difficulty int32 `protobuf:"varint,4,opt,name=Difficulty,json=difficulty,proto3" json:"Difficulty,omitempty"` // 难度 - Explanation string `protobuf:"bytes,5,opt,name=Explanation,json=explanation,proto3" json:"Explanation,omitempty"` // 解析 -} - -func (x *GetQuestionInfoResp) Reset() { - *x = GetQuestionInfoResp{} - if protoimpl.UnsafeEnabled { - mi := &file_service_qgdzs_proto_msgTypes[5] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *GetQuestionInfoResp) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*GetQuestionInfoResp) ProtoMessage() {} - -func (x *GetQuestionInfoResp) ProtoReflect() protoreflect.Message { - mi := &file_service_qgdzs_proto_msgTypes[5] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use GetQuestionInfoResp.ProtoReflect.Descriptor instead. -func (*GetQuestionInfoResp) Descriptor() ([]byte, []int) { - return file_service_qgdzs_proto_rawDescGZIP(), []int{5} -} - -func (x *GetQuestionInfoResp) GetQuestion() string { - if x != nil { - return x.Question - } - return "" -} - -func (x *GetQuestionInfoResp) GetOptions() []string { - if x != nil { - return x.Options - } - return nil -} - -func (x *GetQuestionInfoResp) GetCategory() string { - if x != nil { - return x.Category - } - return "" -} - -func (x *GetQuestionInfoResp) GetDifficulty() int32 { - if x != nil { - return x.Difficulty - } - return 0 -} - -func (x *GetQuestionInfoResp) GetExplanation() string { - if x != nil { - return x.Explanation - } - return "" -} - // ---------- RandomAnswerQuestion ---------- type RandomAnswerQuestionReq struct { state protoimpl.MessageState @@ -376,7 +240,7 @@ type RandomAnswerQuestionReq struct { func (x *RandomAnswerQuestionReq) Reset() { *x = RandomAnswerQuestionReq{} if protoimpl.UnsafeEnabled { - mi := &file_service_qgdzs_proto_msgTypes[6] + mi := &file_service_qgdzs_proto_msgTypes[4] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -389,7 +253,7 @@ func (x *RandomAnswerQuestionReq) String() string { func (*RandomAnswerQuestionReq) ProtoMessage() {} func (x *RandomAnswerQuestionReq) ProtoReflect() protoreflect.Message { - mi := &file_service_qgdzs_proto_msgTypes[6] + mi := &file_service_qgdzs_proto_msgTypes[4] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -402,7 +266,7 @@ func (x *RandomAnswerQuestionReq) ProtoReflect() protoreflect.Message { // Deprecated: Use RandomAnswerQuestionReq.ProtoReflect.Descriptor instead. func (*RandomAnswerQuestionReq) Descriptor() ([]byte, []int) { - return file_service_qgdzs_proto_rawDescGZIP(), []int{6} + return file_service_qgdzs_proto_rawDescGZIP(), []int{4} } func (x *RandomAnswerQuestionReq) GetUSN() string { @@ -438,7 +302,7 @@ type RandomAnswerQuestionResp struct { func (x *RandomAnswerQuestionResp) Reset() { *x = RandomAnswerQuestionResp{} if protoimpl.UnsafeEnabled { - mi := &file_service_qgdzs_proto_msgTypes[7] + mi := &file_service_qgdzs_proto_msgTypes[5] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -451,7 +315,7 @@ func (x *RandomAnswerQuestionResp) String() string { func (*RandomAnswerQuestionResp) ProtoMessage() {} func (x *RandomAnswerQuestionResp) ProtoReflect() protoreflect.Message { - mi := &file_service_qgdzs_proto_msgTypes[7] + mi := &file_service_qgdzs_proto_msgTypes[5] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -464,7 +328,7 @@ func (x *RandomAnswerQuestionResp) ProtoReflect() protoreflect.Message { // Deprecated: Use RandomAnswerQuestionResp.ProtoReflect.Descriptor instead. func (*RandomAnswerQuestionResp) Descriptor() ([]byte, []int) { - return file_service_qgdzs_proto_rawDescGZIP(), []int{7} + return file_service_qgdzs_proto_rawDescGZIP(), []int{5} } func (x *RandomAnswerQuestionResp) GetAnswer() string { @@ -491,7 +355,7 @@ type GetAllCategoryReq struct { func (x *GetAllCategoryReq) Reset() { *x = GetAllCategoryReq{} if protoimpl.UnsafeEnabled { - mi := &file_service_qgdzs_proto_msgTypes[8] + mi := &file_service_qgdzs_proto_msgTypes[6] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -504,7 +368,7 @@ func (x *GetAllCategoryReq) String() string { func (*GetAllCategoryReq) ProtoMessage() {} func (x *GetAllCategoryReq) ProtoReflect() protoreflect.Message { - mi := &file_service_qgdzs_proto_msgTypes[8] + mi := &file_service_qgdzs_proto_msgTypes[6] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -517,7 +381,7 @@ func (x *GetAllCategoryReq) ProtoReflect() protoreflect.Message { // Deprecated: Use GetAllCategoryReq.ProtoReflect.Descriptor instead. func (*GetAllCategoryReq) Descriptor() ([]byte, []int) { - return file_service_qgdzs_proto_rawDescGZIP(), []int{8} + return file_service_qgdzs_proto_rawDescGZIP(), []int{6} } type GetAllCategoryResp struct { @@ -531,7 +395,7 @@ type GetAllCategoryResp struct { func (x *GetAllCategoryResp) Reset() { *x = GetAllCategoryResp{} if protoimpl.UnsafeEnabled { - mi := &file_service_qgdzs_proto_msgTypes[9] + mi := &file_service_qgdzs_proto_msgTypes[7] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -544,7 +408,7 @@ func (x *GetAllCategoryResp) String() string { func (*GetAllCategoryResp) ProtoMessage() {} func (x *GetAllCategoryResp) ProtoReflect() protoreflect.Message { - mi := &file_service_qgdzs_proto_msgTypes[9] + mi := &file_service_qgdzs_proto_msgTypes[7] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -557,7 +421,7 @@ func (x *GetAllCategoryResp) ProtoReflect() protoreflect.Message { // Deprecated: Use GetAllCategoryResp.ProtoReflect.Descriptor instead. func (*GetAllCategoryResp) Descriptor() ([]byte, []int) { - return file_service_qgdzs_proto_rawDescGZIP(), []int{9} + return file_service_qgdzs_proto_rawDescGZIP(), []int{7} } func (x *GetAllCategoryResp) GetCategories() []*GetAllCategoryItem { @@ -579,7 +443,7 @@ type GetAllCategoryItem struct { func (x *GetAllCategoryItem) Reset() { *x = GetAllCategoryItem{} if protoimpl.UnsafeEnabled { - mi := &file_service_qgdzs_proto_msgTypes[10] + mi := &file_service_qgdzs_proto_msgTypes[8] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -592,7 +456,7 @@ func (x *GetAllCategoryItem) String() string { func (*GetAllCategoryItem) ProtoMessage() {} func (x *GetAllCategoryItem) ProtoReflect() protoreflect.Message { - mi := &file_service_qgdzs_proto_msgTypes[10] + mi := &file_service_qgdzs_proto_msgTypes[8] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -605,7 +469,7 @@ func (x *GetAllCategoryItem) ProtoReflect() protoreflect.Message { // Deprecated: Use GetAllCategoryItem.ProtoReflect.Descriptor instead. func (*GetAllCategoryItem) Descriptor() ([]byte, []int) { - return file_service_qgdzs_proto_rawDescGZIP(), []int{10} + return file_service_qgdzs_proto_rawDescGZIP(), []int{8} } func (x *GetAllCategoryItem) GetSn() string { @@ -634,7 +498,7 @@ type CategoryGetQuestionReq struct { func (x *CategoryGetQuestionReq) Reset() { *x = CategoryGetQuestionReq{} if protoimpl.UnsafeEnabled { - mi := &file_service_qgdzs_proto_msgTypes[11] + mi := &file_service_qgdzs_proto_msgTypes[9] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -647,7 +511,7 @@ func (x *CategoryGetQuestionReq) String() string { func (*CategoryGetQuestionReq) ProtoMessage() {} func (x *CategoryGetQuestionReq) ProtoReflect() protoreflect.Message { - mi := &file_service_qgdzs_proto_msgTypes[11] + mi := &file_service_qgdzs_proto_msgTypes[9] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -660,7 +524,7 @@ func (x *CategoryGetQuestionReq) ProtoReflect() protoreflect.Message { // Deprecated: Use CategoryGetQuestionReq.ProtoReflect.Descriptor instead. func (*CategoryGetQuestionReq) Descriptor() ([]byte, []int) { - return file_service_qgdzs_proto_rawDescGZIP(), []int{11} + return file_service_qgdzs_proto_rawDescGZIP(), []int{9} } func (x *CategoryGetQuestionReq) GetCategorySn() string { @@ -685,7 +549,7 @@ type CategoryGetQuestionResp struct { func (x *CategoryGetQuestionResp) Reset() { *x = CategoryGetQuestionResp{} if protoimpl.UnsafeEnabled { - mi := &file_service_qgdzs_proto_msgTypes[12] + mi := &file_service_qgdzs_proto_msgTypes[10] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -698,7 +562,7 @@ func (x *CategoryGetQuestionResp) String() string { func (*CategoryGetQuestionResp) ProtoMessage() {} func (x *CategoryGetQuestionResp) ProtoReflect() protoreflect.Message { - mi := &file_service_qgdzs_proto_msgTypes[12] + mi := &file_service_qgdzs_proto_msgTypes[10] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -711,7 +575,7 @@ func (x *CategoryGetQuestionResp) ProtoReflect() protoreflect.Message { // Deprecated: Use CategoryGetQuestionResp.ProtoReflect.Descriptor instead. func (*CategoryGetQuestionResp) Descriptor() ([]byte, []int) { - return file_service_qgdzs_proto_rawDescGZIP(), []int{12} + return file_service_qgdzs_proto_rawDescGZIP(), []int{10} } func (x *CategoryGetQuestionResp) GetSn() string { @@ -763,7 +627,7 @@ type CategoryAnswerQuestionReq struct { func (x *CategoryAnswerQuestionReq) Reset() { *x = CategoryAnswerQuestionReq{} if protoimpl.UnsafeEnabled { - mi := &file_service_qgdzs_proto_msgTypes[13] + mi := &file_service_qgdzs_proto_msgTypes[11] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -776,7 +640,7 @@ func (x *CategoryAnswerQuestionReq) String() string { func (*CategoryAnswerQuestionReq) ProtoMessage() {} func (x *CategoryAnswerQuestionReq) ProtoReflect() protoreflect.Message { - mi := &file_service_qgdzs_proto_msgTypes[13] + mi := &file_service_qgdzs_proto_msgTypes[11] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -789,7 +653,7 @@ func (x *CategoryAnswerQuestionReq) ProtoReflect() protoreflect.Message { // Deprecated: Use CategoryAnswerQuestionReq.ProtoReflect.Descriptor instead. func (*CategoryAnswerQuestionReq) Descriptor() ([]byte, []int) { - return file_service_qgdzs_proto_rawDescGZIP(), []int{13} + return file_service_qgdzs_proto_rawDescGZIP(), []int{11} } func (x *CategoryAnswerQuestionReq) GetUSN() string { @@ -825,7 +689,7 @@ type CategoryAnswerQuestionResp struct { func (x *CategoryAnswerQuestionResp) Reset() { *x = CategoryAnswerQuestionResp{} if protoimpl.UnsafeEnabled { - mi := &file_service_qgdzs_proto_msgTypes[14] + mi := &file_service_qgdzs_proto_msgTypes[12] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -838,7 +702,7 @@ func (x *CategoryAnswerQuestionResp) String() string { func (*CategoryAnswerQuestionResp) ProtoMessage() {} func (x *CategoryAnswerQuestionResp) ProtoReflect() protoreflect.Message { - mi := &file_service_qgdzs_proto_msgTypes[14] + mi := &file_service_qgdzs_proto_msgTypes[12] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -851,7 +715,7 @@ func (x *CategoryAnswerQuestionResp) ProtoReflect() protoreflect.Message { // Deprecated: Use CategoryAnswerQuestionResp.ProtoReflect.Descriptor instead. func (*CategoryAnswerQuestionResp) Descriptor() ([]byte, []int) { - return file_service_qgdzs_proto_rawDescGZIP(), []int{14} + return file_service_qgdzs_proto_rawDescGZIP(), []int{12} } func (x *CategoryAnswerQuestionResp) GetAnswer() string { @@ -873,14 +737,12 @@ type QuicklyGetQuestionReq struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - - CategorySn string `protobuf:"bytes,1,opt,name=CategorySn,json=category_sn,proto3" json:"CategorySn,omitempty"` // 类目唯一标识 } func (x *QuicklyGetQuestionReq) Reset() { *x = QuicklyGetQuestionReq{} if protoimpl.UnsafeEnabled { - mi := &file_service_qgdzs_proto_msgTypes[15] + mi := &file_service_qgdzs_proto_msgTypes[13] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -893,7 +755,7 @@ func (x *QuicklyGetQuestionReq) String() string { func (*QuicklyGetQuestionReq) ProtoMessage() {} func (x *QuicklyGetQuestionReq) ProtoReflect() protoreflect.Message { - mi := &file_service_qgdzs_proto_msgTypes[15] + mi := &file_service_qgdzs_proto_msgTypes[13] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -906,14 +768,7 @@ func (x *QuicklyGetQuestionReq) ProtoReflect() protoreflect.Message { // Deprecated: Use QuicklyGetQuestionReq.ProtoReflect.Descriptor instead. func (*QuicklyGetQuestionReq) Descriptor() ([]byte, []int) { - return file_service_qgdzs_proto_rawDescGZIP(), []int{15} -} - -func (x *QuicklyGetQuestionReq) GetCategorySn() string { - if x != nil { - return x.CategorySn - } - return "" + return file_service_qgdzs_proto_rawDescGZIP(), []int{13} } type QuicklyGetQuestionResp struct { @@ -931,7 +786,7 @@ type QuicklyGetQuestionResp struct { func (x *QuicklyGetQuestionResp) Reset() { *x = QuicklyGetQuestionResp{} if protoimpl.UnsafeEnabled { - mi := &file_service_qgdzs_proto_msgTypes[16] + mi := &file_service_qgdzs_proto_msgTypes[14] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -944,7 +799,7 @@ func (x *QuicklyGetQuestionResp) String() string { func (*QuicklyGetQuestionResp) ProtoMessage() {} func (x *QuicklyGetQuestionResp) ProtoReflect() protoreflect.Message { - mi := &file_service_qgdzs_proto_msgTypes[16] + mi := &file_service_qgdzs_proto_msgTypes[14] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -957,7 +812,7 @@ func (x *QuicklyGetQuestionResp) ProtoReflect() protoreflect.Message { // Deprecated: Use QuicklyGetQuestionResp.ProtoReflect.Descriptor instead. func (*QuicklyGetQuestionResp) Descriptor() ([]byte, []int) { - return file_service_qgdzs_proto_rawDescGZIP(), []int{16} + return file_service_qgdzs_proto_rawDescGZIP(), []int{14} } func (x *QuicklyGetQuestionResp) GetSn() string { @@ -1009,7 +864,7 @@ type QuicklyAnswerQuestionReq struct { func (x *QuicklyAnswerQuestionReq) Reset() { *x = QuicklyAnswerQuestionReq{} if protoimpl.UnsafeEnabled { - mi := &file_service_qgdzs_proto_msgTypes[17] + mi := &file_service_qgdzs_proto_msgTypes[15] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1022,7 +877,7 @@ func (x *QuicklyAnswerQuestionReq) String() string { func (*QuicklyAnswerQuestionReq) ProtoMessage() {} func (x *QuicklyAnswerQuestionReq) ProtoReflect() protoreflect.Message { - mi := &file_service_qgdzs_proto_msgTypes[17] + mi := &file_service_qgdzs_proto_msgTypes[15] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1035,7 +890,7 @@ func (x *QuicklyAnswerQuestionReq) ProtoReflect() protoreflect.Message { // Deprecated: Use QuicklyAnswerQuestionReq.ProtoReflect.Descriptor instead. func (*QuicklyAnswerQuestionReq) Descriptor() ([]byte, []int) { - return file_service_qgdzs_proto_rawDescGZIP(), []int{17} + return file_service_qgdzs_proto_rawDescGZIP(), []int{15} } func (x *QuicklyAnswerQuestionReq) GetUSN() string { @@ -1071,7 +926,7 @@ type QuicklyAnswerQuestionResp struct { func (x *QuicklyAnswerQuestionResp) Reset() { *x = QuicklyAnswerQuestionResp{} if protoimpl.UnsafeEnabled { - mi := &file_service_qgdzs_proto_msgTypes[18] + mi := &file_service_qgdzs_proto_msgTypes[16] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1084,7 +939,7 @@ func (x *QuicklyAnswerQuestionResp) String() string { func (*QuicklyAnswerQuestionResp) ProtoMessage() {} func (x *QuicklyAnswerQuestionResp) ProtoReflect() protoreflect.Message { - mi := &file_service_qgdzs_proto_msgTypes[18] + mi := &file_service_qgdzs_proto_msgTypes[16] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1097,7 +952,7 @@ func (x *QuicklyAnswerQuestionResp) ProtoReflect() protoreflect.Message { // Deprecated: Use QuicklyAnswerQuestionResp.ProtoReflect.Descriptor instead. func (*QuicklyAnswerQuestionResp) Descriptor() ([]byte, []int) { - return file_service_qgdzs_proto_rawDescGZIP(), []int{18} + return file_service_qgdzs_proto_rawDescGZIP(), []int{16} } func (x *QuicklyAnswerQuestionResp) GetAnswer() string { @@ -1128,7 +983,7 @@ type GetRecordReq struct { func (x *GetRecordReq) Reset() { *x = GetRecordReq{} if protoimpl.UnsafeEnabled { - mi := &file_service_qgdzs_proto_msgTypes[19] + mi := &file_service_qgdzs_proto_msgTypes[17] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1141,7 +996,7 @@ func (x *GetRecordReq) String() string { func (*GetRecordReq) ProtoMessage() {} func (x *GetRecordReq) ProtoReflect() protoreflect.Message { - mi := &file_service_qgdzs_proto_msgTypes[19] + mi := &file_service_qgdzs_proto_msgTypes[17] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1154,7 +1009,7 @@ func (x *GetRecordReq) ProtoReflect() protoreflect.Message { // Deprecated: Use GetRecordReq.ProtoReflect.Descriptor instead. func (*GetRecordReq) Descriptor() ([]byte, []int) { - return file_service_qgdzs_proto_rawDescGZIP(), []int{19} + return file_service_qgdzs_proto_rawDescGZIP(), []int{17} } func (x *GetRecordReq) GetUSN() string { @@ -1190,7 +1045,7 @@ type GetRecordResp struct { func (x *GetRecordResp) Reset() { *x = GetRecordResp{} if protoimpl.UnsafeEnabled { - mi := &file_service_qgdzs_proto_msgTypes[20] + mi := &file_service_qgdzs_proto_msgTypes[18] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1203,7 +1058,7 @@ func (x *GetRecordResp) String() string { func (*GetRecordResp) ProtoMessage() {} func (x *GetRecordResp) ProtoReflect() protoreflect.Message { - mi := &file_service_qgdzs_proto_msgTypes[20] + mi := &file_service_qgdzs_proto_msgTypes[18] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1216,7 +1071,7 @@ func (x *GetRecordResp) ProtoReflect() protoreflect.Message { // Deprecated: Use GetRecordResp.ProtoReflect.Descriptor instead. func (*GetRecordResp) Descriptor() ([]byte, []int) { - return file_service_qgdzs_proto_rawDescGZIP(), []int{20} + return file_service_qgdzs_proto_rawDescGZIP(), []int{18} } func (x *GetRecordResp) GetCount() int32 { @@ -1250,7 +1105,7 @@ type GetRecordItem struct { func (x *GetRecordItem) Reset() { *x = GetRecordItem{} if protoimpl.UnsafeEnabled { - mi := &file_service_qgdzs_proto_msgTypes[21] + mi := &file_service_qgdzs_proto_msgTypes[19] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1263,7 +1118,7 @@ func (x *GetRecordItem) String() string { func (*GetRecordItem) ProtoMessage() {} func (x *GetRecordItem) ProtoReflect() protoreflect.Message { - mi := &file_service_qgdzs_proto_msgTypes[21] + mi := &file_service_qgdzs_proto_msgTypes[19] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1276,7 +1131,7 @@ func (x *GetRecordItem) ProtoReflect() protoreflect.Message { // Deprecated: Use GetRecordItem.ProtoReflect.Descriptor instead. func (*GetRecordItem) Descriptor() ([]byte, []int) { - return file_service_qgdzs_proto_rawDescGZIP(), []int{21} + return file_service_qgdzs_proto_rawDescGZIP(), []int{19} } func (x *GetRecordItem) GetQuestionSn() string { @@ -1328,6 +1183,133 @@ func (x *GetRecordItem) GetCreateTime() int64 { return 0 } +// ---------- GetQuestionInfo ---------- +type GetQuestionInfoReq struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + QuestionSn string `protobuf:"bytes,1,opt,name=QuestionSn,json=question_sn,proto3" json:"QuestionSn,omitempty"` // 题目唯一标识 +} + +func (x *GetQuestionInfoReq) Reset() { + *x = GetQuestionInfoReq{} + if protoimpl.UnsafeEnabled { + mi := &file_service_qgdzs_proto_msgTypes[20] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetQuestionInfoReq) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetQuestionInfoReq) ProtoMessage() {} + +func (x *GetQuestionInfoReq) ProtoReflect() protoreflect.Message { + mi := &file_service_qgdzs_proto_msgTypes[20] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetQuestionInfoReq.ProtoReflect.Descriptor instead. +func (*GetQuestionInfoReq) Descriptor() ([]byte, []int) { + return file_service_qgdzs_proto_rawDescGZIP(), []int{20} +} + +func (x *GetQuestionInfoReq) GetQuestionSn() string { + if x != nil { + return x.QuestionSn + } + return "" +} + +type GetQuestionInfoResp struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Question string `protobuf:"bytes,1,opt,name=Question,json=question,proto3" json:"Question,omitempty"` // 题干 + Options []string `protobuf:"bytes,2,rep,name=Options,json=options,proto3" json:"Options,omitempty"` // 选项 + Category string `protobuf:"bytes,3,opt,name=Category,json=category,proto3" json:"Category,omitempty"` // 类目 + Difficulty int32 `protobuf:"varint,4,opt,name=Difficulty,json=difficulty,proto3" json:"Difficulty,omitempty"` // 难度 + Explanation string `protobuf:"bytes,5,opt,name=Explanation,json=explanation,proto3" json:"Explanation,omitempty"` // 解析 +} + +func (x *GetQuestionInfoResp) Reset() { + *x = GetQuestionInfoResp{} + if protoimpl.UnsafeEnabled { + mi := &file_service_qgdzs_proto_msgTypes[21] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetQuestionInfoResp) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetQuestionInfoResp) ProtoMessage() {} + +func (x *GetQuestionInfoResp) ProtoReflect() protoreflect.Message { + mi := &file_service_qgdzs_proto_msgTypes[21] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetQuestionInfoResp.ProtoReflect.Descriptor instead. +func (*GetQuestionInfoResp) Descriptor() ([]byte, []int) { + return file_service_qgdzs_proto_rawDescGZIP(), []int{21} +} + +func (x *GetQuestionInfoResp) GetQuestion() string { + if x != nil { + return x.Question + } + return "" +} + +func (x *GetQuestionInfoResp) GetOptions() []string { + if x != nil { + return x.Options + } + return nil +} + +func (x *GetQuestionInfoResp) GetCategory() string { + if x != nil { + return x.Category + } + return "" +} + +func (x *GetQuestionInfoResp) GetDifficulty() int32 { + if x != nil { + return x.Difficulty + } + return 0 +} + +func (x *GetQuestionInfoResp) GetExplanation() string { + if x != nil { + return x.Explanation + } + return "" +} + var File_service_qgdzs_proto protoreflect.FileDescriptor var file_service_qgdzs_proto_rawDesc = []byte{ @@ -1339,84 +1321,9 @@ var file_service_qgdzs_proto_rawDesc = []byte{ 0x51, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x12, 0x10, 0x0a, 0x03, 0x4e, 0x75, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x6e, 0x75, 0x6d, 0x22, 0x16, 0x0a, 0x14, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x51, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, - 0x6e, 0x52, 0x65, 0x73, 0x70, 0x22, 0x37, 0x0a, 0x14, 0x52, 0x61, 0x6e, 0x64, 0x6f, 0x6d, 0x47, - 0x65, 0x74, 0x51, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x12, 0x1f, 0x0a, - 0x0a, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x53, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x0b, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x5f, 0x73, 0x6e, 0x22, 0x99, - 0x01, 0x0a, 0x15, 0x52, 0x61, 0x6e, 0x64, 0x6f, 0x6d, 0x47, 0x65, 0x74, 0x51, 0x75, 0x65, 0x73, - 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x12, 0x0e, 0x0a, 0x02, 0x53, 0x6e, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x73, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x51, 0x75, 0x65, 0x73, - 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, - 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x1a, - 0x0a, 0x08, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x08, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x12, 0x1e, 0x0a, 0x0a, 0x44, 0x69, - 0x66, 0x66, 0x69, 0x63, 0x75, 0x6c, 0x74, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, - 0x64, 0x69, 0x66, 0x66, 0x69, 0x63, 0x75, 0x6c, 0x74, 0x79, 0x22, 0x35, 0x0a, 0x12, 0x47, 0x65, - 0x74, 0x51, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, - 0x12, 0x1f, 0x0a, 0x0a, 0x51, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x6e, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x71, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, - 0x6e, 0x22, 0xa9, 0x01, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x51, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, - 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x12, 0x1a, 0x0a, 0x08, 0x51, 0x75, 0x65, - 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, - 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, - 0x1a, 0x0a, 0x08, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x08, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x12, 0x1e, 0x0a, 0x0a, 0x44, - 0x69, 0x66, 0x66, 0x69, 0x63, 0x75, 0x6c, 0x74, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x0a, 0x64, 0x69, 0x66, 0x66, 0x69, 0x63, 0x75, 0x6c, 0x74, 0x79, 0x12, 0x20, 0x0a, 0x0b, 0x45, - 0x78, 0x70, 0x6c, 0x61, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x0b, 0x65, 0x78, 0x70, 0x6c, 0x61, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x53, 0x0a, - 0x17, 0x52, 0x61, 0x6e, 0x64, 0x6f, 0x6d, 0x41, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x51, 0x75, 0x65, - 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x12, 0x10, 0x0a, 0x03, 0x55, 0x53, 0x4e, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x73, 0x6e, 0x12, 0x0e, 0x0a, 0x02, 0x53, 0x6e, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x73, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x41, 0x6e, - 0x73, 0x77, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x61, 0x6e, 0x73, 0x77, - 0x65, 0x72, 0x22, 0x54, 0x0a, 0x18, 0x52, 0x61, 0x6e, 0x64, 0x6f, 0x6d, 0x41, 0x6e, 0x73, 0x77, - 0x65, 0x72, 0x51, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x12, 0x16, - 0x0a, 0x06, 0x41, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, - 0x61, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x12, 0x20, 0x0a, 0x0b, 0x45, 0x78, 0x70, 0x6c, 0x61, 0x6e, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x65, 0x78, 0x70, - 0x6c, 0x61, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x13, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x41, - 0x6c, 0x6c, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x71, 0x22, 0x49, 0x0a, - 0x12, 0x47, 0x65, 0x74, 0x41, 0x6c, 0x6c, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x52, - 0x65, 0x73, 0x70, 0x12, 0x33, 0x0a, 0x0a, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x69, 0x65, - 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x6c, 0x6c, - 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x0a, 0x63, 0x61, - 0x74, 0x65, 0x67, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x22, 0x40, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x41, - 0x6c, 0x6c, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x49, 0x74, 0x65, 0x6d, 0x12, 0x0e, - 0x0a, 0x02, 0x53, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x73, 0x6e, 0x12, 0x1a, - 0x0a, 0x08, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x08, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x22, 0x39, 0x0a, 0x16, 0x43, 0x61, - 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x47, 0x65, 0x74, 0x51, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, - 0x6e, 0x52, 0x65, 0x71, 0x12, 0x1f, 0x0a, 0x0a, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, - 0x53, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, - 0x72, 0x79, 0x5f, 0x73, 0x6e, 0x22, 0x9b, 0x01, 0x0a, 0x17, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, - 0x72, 0x79, 0x47, 0x65, 0x74, 0x51, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, - 0x70, 0x12, 0x0e, 0x0a, 0x02, 0x53, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x73, - 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x51, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x08, 0x71, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x18, 0x0a, - 0x07, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, - 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x43, 0x61, 0x74, 0x65, 0x67, - 0x6f, 0x72, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x63, 0x61, 0x74, 0x65, 0x67, - 0x6f, 0x72, 0x79, 0x12, 0x1e, 0x0a, 0x0a, 0x44, 0x69, 0x66, 0x66, 0x69, 0x63, 0x75, 0x6c, 0x74, - 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x64, 0x69, 0x66, 0x66, 0x69, 0x63, 0x75, - 0x6c, 0x74, 0x79, 0x22, 0x55, 0x0a, 0x19, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x41, - 0x6e, 0x73, 0x77, 0x65, 0x72, 0x51, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, - 0x12, 0x10, 0x0a, 0x03, 0x55, 0x53, 0x4e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, - 0x73, 0x6e, 0x12, 0x0e, 0x0a, 0x02, 0x53, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, - 0x73, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x41, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x06, 0x61, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x22, 0x56, 0x0a, 0x1a, 0x43, 0x61, - 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x41, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x51, 0x75, 0x65, 0x73, - 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x12, 0x16, 0x0a, 0x06, 0x41, 0x6e, 0x73, 0x77, - 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x61, 0x6e, 0x73, 0x77, 0x65, 0x72, - 0x12, 0x20, 0x0a, 0x0b, 0x45, 0x78, 0x70, 0x6c, 0x61, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x65, 0x78, 0x70, 0x6c, 0x61, 0x6e, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x22, 0x38, 0x0a, 0x15, 0x51, 0x75, 0x69, 0x63, 0x6b, 0x6c, 0x79, 0x47, 0x65, 0x74, - 0x51, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x12, 0x1f, 0x0a, 0x0a, 0x43, - 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x53, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x0b, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x5f, 0x73, 0x6e, 0x22, 0x9a, 0x01, 0x0a, - 0x16, 0x51, 0x75, 0x69, 0x63, 0x6b, 0x6c, 0x79, 0x47, 0x65, 0x74, 0x51, 0x75, 0x65, 0x73, 0x74, + 0x6e, 0x52, 0x65, 0x73, 0x70, 0x22, 0x16, 0x0a, 0x14, 0x52, 0x61, 0x6e, 0x64, 0x6f, 0x6d, 0x47, + 0x65, 0x74, 0x51, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x22, 0x99, 0x01, + 0x0a, 0x15, 0x52, 0x61, 0x6e, 0x64, 0x6f, 0x6d, 0x47, 0x65, 0x74, 0x51, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x12, 0x0e, 0x0a, 0x02, 0x53, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x73, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x51, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x71, 0x75, 0x65, 0x73, 0x74, @@ -1425,116 +1332,186 @@ var file_service_qgdzs_proto_rawDesc = []byte{ 0x08, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x12, 0x1e, 0x0a, 0x0a, 0x44, 0x69, 0x66, 0x66, 0x69, 0x63, 0x75, 0x6c, 0x74, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x64, - 0x69, 0x66, 0x66, 0x69, 0x63, 0x75, 0x6c, 0x74, 0x79, 0x22, 0x54, 0x0a, 0x18, 0x51, 0x75, 0x69, - 0x63, 0x6b, 0x6c, 0x79, 0x41, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x51, 0x75, 0x65, 0x73, 0x74, 0x69, - 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x12, 0x10, 0x0a, 0x03, 0x55, 0x53, 0x4e, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x03, 0x75, 0x73, 0x6e, 0x12, 0x0e, 0x0a, 0x02, 0x53, 0x6e, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x02, 0x73, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x41, 0x6e, 0x73, 0x77, 0x65, - 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x61, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x22, - 0x55, 0x0a, 0x19, 0x51, 0x75, 0x69, 0x63, 0x6b, 0x6c, 0x79, 0x41, 0x6e, 0x73, 0x77, 0x65, 0x72, - 0x51, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x12, 0x16, 0x0a, 0x06, - 0x41, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x61, 0x6e, - 0x73, 0x77, 0x65, 0x72, 0x12, 0x20, 0x0a, 0x0b, 0x45, 0x78, 0x70, 0x6c, 0x61, 0x6e, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x65, 0x78, 0x70, 0x6c, 0x61, - 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x51, 0x0a, 0x0c, 0x47, 0x65, 0x74, 0x52, 0x65, 0x63, - 0x6f, 0x72, 0x64, 0x52, 0x65, 0x71, 0x12, 0x10, 0x0a, 0x03, 0x55, 0x53, 0x4e, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x73, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x50, 0x61, 0x67, 0x65, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x70, 0x61, 0x67, 0x65, 0x12, 0x1b, 0x0a, 0x08, - 0x50, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, - 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x22, 0x4f, 0x0a, 0x0d, 0x47, 0x65, 0x74, - 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x52, 0x65, 0x73, 0x70, 0x12, 0x14, 0x0a, 0x05, 0x43, 0x6f, - 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, - 0x12, 0x28, 0x0a, 0x07, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x0e, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x49, 0x74, 0x65, - 0x6d, 0x52, 0x07, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x22, 0xea, 0x01, 0x0a, 0x0d, 0x47, - 0x65, 0x74, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x49, 0x74, 0x65, 0x6d, 0x12, 0x1f, 0x0a, 0x0a, - 0x51, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x0b, 0x71, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x6e, 0x12, 0x1a, 0x0a, - 0x08, 0x51, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x08, 0x71, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1e, 0x0a, 0x0a, 0x44, 0x69, 0x66, - 0x66, 0x69, 0x63, 0x75, 0x6c, 0x74, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x64, - 0x69, 0x66, 0x66, 0x69, 0x63, 0x75, 0x6c, 0x74, 0x79, 0x12, 0x1a, 0x0a, 0x08, 0x43, 0x61, 0x74, - 0x65, 0x67, 0x6f, 0x72, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x63, 0x61, 0x74, - 0x65, 0x67, 0x6f, 0x72, 0x79, 0x12, 0x27, 0x0a, 0x0e, 0x51, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, - 0x6e, 0x41, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x61, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x12, 0x16, - 0x0a, 0x06, 0x41, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, - 0x61, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x12, 0x1f, 0x0a, 0x0a, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, - 0x54, 0x69, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x63, 0x72, 0x65, 0x61, - 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x32, 0xc7, 0x08, 0x0a, 0x05, 0x51, 0x67, 0x64, 0x7a, - 0x73, 0x12, 0x69, 0x0a, 0x10, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x51, 0x75, 0x65, - 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x14, 0x2e, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, - 0x51, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x1a, 0x15, 0x2e, 0x47, 0x65, - 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x51, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, - 0x73, 0x70, 0x22, 0x28, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x22, 0x3a, 0x01, 0x2a, 0x22, 0x1d, 0x2f, - 0x71, 0x67, 0x64, 0x7a, 0x73, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x67, 0x65, 0x6e, 0x65, 0x72, - 0x61, 0x74, 0x65, 0x5f, 0x71, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x6a, 0x0a, 0x11, - 0x52, 0x61, 0x6e, 0x64, 0x6f, 0x6d, 0x47, 0x65, 0x74, 0x51, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, - 0x6e, 0x12, 0x15, 0x2e, 0x52, 0x61, 0x6e, 0x64, 0x6f, 0x6d, 0x47, 0x65, 0x74, 0x51, 0x75, 0x65, - 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x1a, 0x16, 0x2e, 0x52, 0x61, 0x6e, 0x64, 0x6f, - 0x6d, 0x47, 0x65, 0x74, 0x51, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, - 0x22, 0x26, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x20, 0x3a, 0x01, 0x2a, 0x22, 0x1b, 0x2f, 0x71, 0x67, - 0x64, 0x7a, 0x73, 0x2f, 0x6f, 0x70, 0x65, 0x6e, 0x2f, 0x72, 0x61, 0x6e, 0x64, 0x6f, 0x6d, 0x2f, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x71, 0x0a, 0x14, 0x52, 0x61, 0x6e, 0x64, - 0x6f, 0x6d, 0x41, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x51, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, - 0x12, 0x18, 0x2e, 0x52, 0x61, 0x6e, 0x64, 0x6f, 0x6d, 0x41, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x51, - 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x1a, 0x19, 0x2e, 0x52, 0x61, 0x6e, + 0x69, 0x66, 0x66, 0x69, 0x63, 0x75, 0x6c, 0x74, 0x79, 0x22, 0x53, 0x0a, 0x17, 0x52, 0x61, 0x6e, 0x64, 0x6f, 0x6d, 0x41, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x51, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, - 0x6e, 0x52, 0x65, 0x73, 0x70, 0x22, 0x24, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1e, 0x3a, 0x01, 0x2a, - 0x22, 0x19, 0x2f, 0x71, 0x67, 0x64, 0x7a, 0x73, 0x2f, 0x6f, 0x70, 0x65, 0x6e, 0x2f, 0x72, 0x61, - 0x6e, 0x64, 0x6f, 0x6d, 0x2f, 0x61, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x12, 0x67, 0x0a, 0x0e, 0x47, - 0x65, 0x74, 0x41, 0x6c, 0x6c, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x12, 0x12, 0x2e, - 0x47, 0x65, 0x74, 0x41, 0x6c, 0x6c, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x52, 0x65, - 0x71, 0x1a, 0x13, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x6c, 0x6c, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, - 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x22, 0x2c, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x26, 0x3a, 0x01, - 0x2a, 0x22, 0x21, 0x2f, 0x71, 0x67, 0x64, 0x7a, 0x73, 0x2f, 0x6f, 0x70, 0x65, 0x6e, 0x2f, 0x63, - 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x2f, 0x67, 0x65, 0x74, 0x5f, 0x63, 0x61, 0x74, 0x65, - 0x67, 0x6f, 0x72, 0x79, 0x12, 0x72, 0x0a, 0x13, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, - 0x47, 0x65, 0x74, 0x51, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x17, 0x2e, 0x43, 0x61, - 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x47, 0x65, 0x74, 0x51, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, - 0x6e, 0x52, 0x65, 0x71, 0x1a, 0x18, 0x2e, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x47, - 0x65, 0x74, 0x51, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x22, 0x28, - 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x22, 0x3a, 0x01, 0x2a, 0x22, 0x1d, 0x2f, 0x71, 0x67, 0x64, 0x7a, - 0x73, 0x2f, 0x6f, 0x70, 0x65, 0x6e, 0x2f, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x2f, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x79, 0x0a, 0x16, 0x43, 0x61, 0x74, 0x65, - 0x67, 0x6f, 0x72, 0x79, 0x41, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x51, 0x75, 0x65, 0x73, 0x74, 0x69, - 0x6f, 0x6e, 0x12, 0x1a, 0x2e, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x41, 0x6e, 0x73, - 0x77, 0x65, 0x72, 0x51, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x1a, 0x1b, - 0x2e, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x41, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x51, - 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x22, 0x26, 0x82, 0xd3, 0xe4, - 0x93, 0x02, 0x20, 0x3a, 0x01, 0x2a, 0x22, 0x1b, 0x2f, 0x71, 0x67, 0x64, 0x7a, 0x73, 0x2f, 0x6f, - 0x70, 0x65, 0x6e, 0x2f, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x2f, 0x61, 0x6e, 0x73, - 0x77, 0x65, 0x72, 0x12, 0x6e, 0x0a, 0x12, 0x51, 0x75, 0x69, 0x63, 0x6b, 0x6c, 0x79, 0x47, 0x65, - 0x74, 0x51, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x16, 0x2e, 0x51, 0x75, 0x69, 0x63, + 0x6e, 0x52, 0x65, 0x71, 0x12, 0x10, 0x0a, 0x03, 0x55, 0x53, 0x4e, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x03, 0x75, 0x73, 0x6e, 0x12, 0x0e, 0x0a, 0x02, 0x53, 0x6e, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x02, 0x73, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x41, 0x6e, 0x73, 0x77, 0x65, 0x72, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x61, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x22, 0x54, + 0x0a, 0x18, 0x52, 0x61, 0x6e, 0x64, 0x6f, 0x6d, 0x41, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x51, 0x75, + 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x12, 0x16, 0x0a, 0x06, 0x41, 0x6e, + 0x73, 0x77, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x61, 0x6e, 0x73, 0x77, + 0x65, 0x72, 0x12, 0x20, 0x0a, 0x0b, 0x45, 0x78, 0x70, 0x6c, 0x61, 0x6e, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x65, 0x78, 0x70, 0x6c, 0x61, 0x6e, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x13, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x41, 0x6c, 0x6c, 0x43, 0x61, + 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x71, 0x22, 0x49, 0x0a, 0x12, 0x47, 0x65, 0x74, + 0x41, 0x6c, 0x6c, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x12, + 0x33, 0x0a, 0x0a, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x18, 0x01, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x6c, 0x6c, 0x43, 0x61, 0x74, 0x65, + 0x67, 0x6f, 0x72, 0x79, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x0a, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, + 0x72, 0x69, 0x65, 0x73, 0x22, 0x40, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x41, 0x6c, 0x6c, 0x43, 0x61, + 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x49, 0x74, 0x65, 0x6d, 0x12, 0x0e, 0x0a, 0x02, 0x53, 0x6e, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x73, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x43, 0x61, + 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x63, 0x61, + 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x22, 0x39, 0x0a, 0x16, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, + 0x72, 0x79, 0x47, 0x65, 0x74, 0x51, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, + 0x12, 0x1f, 0x0a, 0x0a, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x53, 0x6e, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x5f, 0x73, + 0x6e, 0x22, 0x9b, 0x01, 0x0a, 0x17, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x47, 0x65, + 0x74, 0x51, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x12, 0x0e, 0x0a, + 0x02, 0x53, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x73, 0x6e, 0x12, 0x1a, 0x0a, + 0x08, 0x51, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x08, 0x71, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x4f, 0x70, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x6f, 0x70, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x12, + 0x1e, 0x0a, 0x0a, 0x44, 0x69, 0x66, 0x66, 0x69, 0x63, 0x75, 0x6c, 0x74, 0x79, 0x18, 0x05, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x0a, 0x64, 0x69, 0x66, 0x66, 0x69, 0x63, 0x75, 0x6c, 0x74, 0x79, 0x22, + 0x55, 0x0a, 0x19, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x41, 0x6e, 0x73, 0x77, 0x65, + 0x72, 0x51, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x12, 0x10, 0x0a, 0x03, + 0x55, 0x53, 0x4e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x73, 0x6e, 0x12, 0x0e, + 0x0a, 0x02, 0x53, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x73, 0x6e, 0x12, 0x16, + 0x0a, 0x06, 0x41, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, + 0x61, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x22, 0x56, 0x0a, 0x1a, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, + 0x72, 0x79, 0x41, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x51, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, + 0x52, 0x65, 0x73, 0x70, 0x12, 0x16, 0x0a, 0x06, 0x41, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x61, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x12, 0x20, 0x0a, 0x0b, + 0x45, 0x78, 0x70, 0x6c, 0x61, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0b, 0x65, 0x78, 0x70, 0x6c, 0x61, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x17, + 0x0a, 0x15, 0x51, 0x75, 0x69, 0x63, 0x6b, 0x6c, 0x79, 0x47, 0x65, 0x74, 0x51, 0x75, 0x65, 0x73, + 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x22, 0x9a, 0x01, 0x0a, 0x16, 0x51, 0x75, 0x69, 0x63, 0x6b, 0x6c, 0x79, 0x47, 0x65, 0x74, 0x51, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, - 0x71, 0x1a, 0x17, 0x2e, 0x51, 0x75, 0x69, 0x63, 0x6b, 0x6c, 0x79, 0x47, 0x65, 0x74, 0x51, 0x75, - 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x22, 0x27, 0x82, 0xd3, 0xe4, 0x93, - 0x02, 0x21, 0x3a, 0x01, 0x2a, 0x22, 0x1c, 0x2f, 0x71, 0x67, 0x64, 0x7a, 0x73, 0x2f, 0x6f, 0x70, - 0x65, 0x6e, 0x2f, 0x71, 0x75, 0x69, 0x63, 0x6b, 0x6c, 0x79, 0x2f, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x69, 0x6f, 0x6e, 0x12, 0x75, 0x0a, 0x15, 0x51, 0x75, 0x69, 0x63, 0x6b, 0x6c, 0x79, 0x41, 0x6e, - 0x73, 0x77, 0x65, 0x72, 0x51, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x19, 0x2e, 0x51, - 0x75, 0x69, 0x63, 0x6b, 0x6c, 0x79, 0x41, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x51, 0x75, 0x65, 0x73, - 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x1a, 0x1a, 0x2e, 0x51, 0x75, 0x69, 0x63, 0x6b, 0x6c, - 0x79, 0x41, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x51, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x52, - 0x65, 0x73, 0x70, 0x22, 0x25, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1f, 0x3a, 0x01, 0x2a, 0x22, 0x1a, - 0x2f, 0x71, 0x67, 0x64, 0x7a, 0x73, 0x2f, 0x6f, 0x70, 0x65, 0x6e, 0x2f, 0x71, 0x75, 0x69, 0x63, - 0x6b, 0x6c, 0x79, 0x2f, 0x61, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x12, 0x4d, 0x0a, 0x09, 0x47, 0x65, - 0x74, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x12, 0x0d, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x65, 0x63, - 0x6f, 0x72, 0x64, 0x52, 0x65, 0x71, 0x1a, 0x0e, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x65, 0x63, 0x6f, - 0x72, 0x64, 0x52, 0x65, 0x73, 0x70, 0x22, 0x21, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1b, 0x3a, 0x01, - 0x2a, 0x22, 0x16, 0x2f, 0x71, 0x67, 0x64, 0x7a, 0x73, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x67, - 0x65, 0x74, 0x5f, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x12, 0x66, 0x0a, 0x0f, 0x47, 0x65, 0x74, - 0x51, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x13, 0x2e, 0x47, - 0x65, 0x74, 0x51, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, - 0x71, 0x1a, 0x14, 0x2e, 0x47, 0x65, 0x74, 0x51, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x49, - 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x22, 0x28, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x22, 0x3a, - 0x01, 0x2a, 0x22, 0x1d, 0x2f, 0x71, 0x67, 0x64, 0x7a, 0x73, 0x2f, 0x6f, 0x70, 0x65, 0x6e, 0x2f, - 0x67, 0x65, 0x74, 0x5f, 0x71, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x6e, 0x66, - 0x6f, 0x42, 0x36, 0x5a, 0x34, 0x67, 0x69, 0x74, 0x2e, 0x68, 0x6c, 0x73, 0x71, 0x2e, 0x61, 0x73, - 0x69, 0x61, 0x2f, 0x6d, 0x6d, 0x6f, 0x72, 0x70, 0x67, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, - 0x65, 0x2d, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x72, - 0x73, 0x2f, 0x67, 0x72, 0x70, 0x63, 0x5f, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x33, + 0x73, 0x70, 0x12, 0x0e, 0x0a, 0x02, 0x53, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, + 0x73, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x51, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x71, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x18, + 0x0a, 0x07, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, + 0x07, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x43, 0x61, 0x74, 0x65, + 0x67, 0x6f, 0x72, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x63, 0x61, 0x74, 0x65, + 0x67, 0x6f, 0x72, 0x79, 0x12, 0x1e, 0x0a, 0x0a, 0x44, 0x69, 0x66, 0x66, 0x69, 0x63, 0x75, 0x6c, + 0x74, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x64, 0x69, 0x66, 0x66, 0x69, 0x63, + 0x75, 0x6c, 0x74, 0x79, 0x22, 0x54, 0x0a, 0x18, 0x51, 0x75, 0x69, 0x63, 0x6b, 0x6c, 0x79, 0x41, + 0x6e, 0x73, 0x77, 0x65, 0x72, 0x51, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, + 0x12, 0x10, 0x0a, 0x03, 0x55, 0x53, 0x4e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, + 0x73, 0x6e, 0x12, 0x0e, 0x0a, 0x02, 0x53, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, + 0x73, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x41, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x06, 0x61, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x22, 0x55, 0x0a, 0x19, 0x51, 0x75, + 0x69, 0x63, 0x6b, 0x6c, 0x79, 0x41, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x51, 0x75, 0x65, 0x73, 0x74, + 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x12, 0x16, 0x0a, 0x06, 0x41, 0x6e, 0x73, 0x77, 0x65, + 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x61, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x12, + 0x20, 0x0a, 0x0b, 0x45, 0x78, 0x70, 0x6c, 0x61, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x65, 0x78, 0x70, 0x6c, 0x61, 0x6e, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x22, 0x51, 0x0a, 0x0c, 0x47, 0x65, 0x74, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x52, 0x65, + 0x71, 0x12, 0x10, 0x0a, 0x03, 0x55, 0x53, 0x4e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, + 0x75, 0x73, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x50, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x04, 0x70, 0x61, 0x67, 0x65, 0x12, 0x1b, 0x0a, 0x08, 0x50, 0x61, 0x67, 0x65, 0x53, + 0x69, 0x7a, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, + 0x73, 0x69, 0x7a, 0x65, 0x22, 0x4f, 0x0a, 0x0d, 0x47, 0x65, 0x74, 0x52, 0x65, 0x63, 0x6f, 0x72, + 0x64, 0x52, 0x65, 0x73, 0x70, 0x12, 0x14, 0x0a, 0x05, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x28, 0x0a, 0x07, 0x52, + 0x65, 0x63, 0x6f, 0x72, 0x64, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x47, + 0x65, 0x74, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x07, 0x72, 0x65, + 0x63, 0x6f, 0x72, 0x64, 0x73, 0x22, 0xea, 0x01, 0x0a, 0x0d, 0x47, 0x65, 0x74, 0x52, 0x65, 0x63, + 0x6f, 0x72, 0x64, 0x49, 0x74, 0x65, 0x6d, 0x12, 0x1f, 0x0a, 0x0a, 0x51, 0x75, 0x65, 0x73, 0x74, + 0x69, 0x6f, 0x6e, 0x53, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x51, 0x75, 0x65, 0x73, + 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1e, 0x0a, 0x0a, 0x44, 0x69, 0x66, 0x66, 0x69, 0x63, 0x75, 0x6c, + 0x74, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x64, 0x69, 0x66, 0x66, 0x69, 0x63, + 0x75, 0x6c, 0x74, 0x79, 0x12, 0x1a, 0x0a, 0x08, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, + 0x12, 0x27, 0x0a, 0x0e, 0x51, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x6e, 0x73, 0x77, + 0x65, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x71, 0x75, 0x65, 0x73, 0x74, 0x69, + 0x6f, 0x6e, 0x5f, 0x61, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x12, 0x16, 0x0a, 0x06, 0x41, 0x6e, 0x73, + 0x77, 0x65, 0x72, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x61, 0x6e, 0x73, 0x77, 0x65, + 0x72, 0x12, 0x1f, 0x0a, 0x0a, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x18, + 0x07, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, + 0x6d, 0x65, 0x22, 0x35, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x51, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, + 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x12, 0x1f, 0x0a, 0x0a, 0x51, 0x75, 0x65, 0x73, + 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x6e, 0x22, 0xa9, 0x01, 0x0a, 0x13, 0x47, 0x65, + 0x74, 0x51, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, + 0x70, 0x12, 0x1a, 0x0a, 0x08, 0x51, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x08, 0x71, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x18, 0x0a, + 0x07, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, + 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x43, 0x61, 0x74, 0x65, 0x67, + 0x6f, 0x72, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x63, 0x61, 0x74, 0x65, 0x67, + 0x6f, 0x72, 0x79, 0x12, 0x1e, 0x0a, 0x0a, 0x44, 0x69, 0x66, 0x66, 0x69, 0x63, 0x75, 0x6c, 0x74, + 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x64, 0x69, 0x66, 0x66, 0x69, 0x63, 0x75, + 0x6c, 0x74, 0x79, 0x12, 0x20, 0x0a, 0x0b, 0x45, 0x78, 0x70, 0x6c, 0x61, 0x6e, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x65, 0x78, 0x70, 0x6c, 0x61, 0x6e, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x32, 0xc7, 0x08, 0x0a, 0x05, 0x51, 0x67, 0x64, 0x7a, 0x73, 0x12, + 0x69, 0x0a, 0x10, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x51, 0x75, 0x65, 0x73, 0x74, + 0x69, 0x6f, 0x6e, 0x12, 0x14, 0x2e, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x51, 0x75, + 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x1a, 0x15, 0x2e, 0x47, 0x65, 0x6e, 0x65, + 0x72, 0x61, 0x74, 0x65, 0x51, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, + 0x22, 0x28, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x22, 0x3a, 0x01, 0x2a, 0x22, 0x1d, 0x2f, 0x71, 0x67, + 0x64, 0x7a, 0x73, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, + 0x65, 0x5f, 0x71, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x6a, 0x0a, 0x11, 0x52, 0x61, + 0x6e, 0x64, 0x6f, 0x6d, 0x47, 0x65, 0x74, 0x51, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x12, + 0x15, 0x2e, 0x52, 0x61, 0x6e, 0x64, 0x6f, 0x6d, 0x47, 0x65, 0x74, 0x51, 0x75, 0x65, 0x73, 0x74, + 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x1a, 0x16, 0x2e, 0x52, 0x61, 0x6e, 0x64, 0x6f, 0x6d, 0x47, + 0x65, 0x74, 0x51, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x22, 0x26, + 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x20, 0x3a, 0x01, 0x2a, 0x22, 0x1b, 0x2f, 0x71, 0x67, 0x64, 0x7a, + 0x73, 0x2f, 0x6f, 0x70, 0x65, 0x6e, 0x2f, 0x72, 0x61, 0x6e, 0x64, 0x6f, 0x6d, 0x2f, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x71, 0x0a, 0x14, 0x52, 0x61, 0x6e, 0x64, 0x6f, 0x6d, + 0x41, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x51, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x18, + 0x2e, 0x52, 0x61, 0x6e, 0x64, 0x6f, 0x6d, 0x41, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x51, 0x75, 0x65, + 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x1a, 0x19, 0x2e, 0x52, 0x61, 0x6e, 0x64, 0x6f, + 0x6d, 0x41, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x51, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x52, + 0x65, 0x73, 0x70, 0x22, 0x24, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1e, 0x3a, 0x01, 0x2a, 0x22, 0x19, + 0x2f, 0x71, 0x67, 0x64, 0x7a, 0x73, 0x2f, 0x6f, 0x70, 0x65, 0x6e, 0x2f, 0x72, 0x61, 0x6e, 0x64, + 0x6f, 0x6d, 0x2f, 0x61, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x12, 0x67, 0x0a, 0x0e, 0x47, 0x65, 0x74, + 0x41, 0x6c, 0x6c, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x12, 0x12, 0x2e, 0x47, 0x65, + 0x74, 0x41, 0x6c, 0x6c, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x71, 0x1a, + 0x13, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x6c, 0x6c, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, + 0x52, 0x65, 0x73, 0x70, 0x22, 0x2c, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x26, 0x3a, 0x01, 0x2a, 0x22, + 0x21, 0x2f, 0x71, 0x67, 0x64, 0x7a, 0x73, 0x2f, 0x6f, 0x70, 0x65, 0x6e, 0x2f, 0x63, 0x61, 0x74, + 0x65, 0x67, 0x6f, 0x72, 0x79, 0x2f, 0x67, 0x65, 0x74, 0x5f, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, + 0x72, 0x79, 0x12, 0x72, 0x0a, 0x13, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x47, 0x65, + 0x74, 0x51, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x17, 0x2e, 0x43, 0x61, 0x74, 0x65, + 0x67, 0x6f, 0x72, 0x79, 0x47, 0x65, 0x74, 0x51, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x52, + 0x65, 0x71, 0x1a, 0x18, 0x2e, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x47, 0x65, 0x74, + 0x51, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x22, 0x28, 0x82, 0xd3, + 0xe4, 0x93, 0x02, 0x22, 0x3a, 0x01, 0x2a, 0x22, 0x1d, 0x2f, 0x71, 0x67, 0x64, 0x7a, 0x73, 0x2f, + 0x6f, 0x70, 0x65, 0x6e, 0x2f, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x2f, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x79, 0x0a, 0x16, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, + 0x72, 0x79, 0x41, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x51, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, + 0x12, 0x1a, 0x2e, 0x43, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x41, 0x6e, 0x73, 0x77, 0x65, + 0x72, 0x51, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x1a, 0x1b, 0x2e, 0x43, + 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x41, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x51, 0x75, 0x65, + 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x22, 0x26, 0x82, 0xd3, 0xe4, 0x93, 0x02, + 0x20, 0x3a, 0x01, 0x2a, 0x22, 0x1b, 0x2f, 0x71, 0x67, 0x64, 0x7a, 0x73, 0x2f, 0x6f, 0x70, 0x65, + 0x6e, 0x2f, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x2f, 0x61, 0x6e, 0x73, 0x77, 0x65, + 0x72, 0x12, 0x6e, 0x0a, 0x12, 0x51, 0x75, 0x69, 0x63, 0x6b, 0x6c, 0x79, 0x47, 0x65, 0x74, 0x51, + 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x16, 0x2e, 0x51, 0x75, 0x69, 0x63, 0x6b, 0x6c, + 0x79, 0x47, 0x65, 0x74, 0x51, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x1a, + 0x17, 0x2e, 0x51, 0x75, 0x69, 0x63, 0x6b, 0x6c, 0x79, 0x47, 0x65, 0x74, 0x51, 0x75, 0x65, 0x73, + 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x22, 0x27, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x21, + 0x3a, 0x01, 0x2a, 0x22, 0x1c, 0x2f, 0x71, 0x67, 0x64, 0x7a, 0x73, 0x2f, 0x6f, 0x70, 0x65, 0x6e, + 0x2f, 0x71, 0x75, 0x69, 0x63, 0x6b, 0x6c, 0x79, 0x2f, 0x71, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, + 0x6e, 0x12, 0x75, 0x0a, 0x15, 0x51, 0x75, 0x69, 0x63, 0x6b, 0x6c, 0x79, 0x41, 0x6e, 0x73, 0x77, + 0x65, 0x72, 0x51, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x19, 0x2e, 0x51, 0x75, 0x69, + 0x63, 0x6b, 0x6c, 0x79, 0x41, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x51, 0x75, 0x65, 0x73, 0x74, 0x69, + 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x1a, 0x1a, 0x2e, 0x51, 0x75, 0x69, 0x63, 0x6b, 0x6c, 0x79, 0x41, + 0x6e, 0x73, 0x77, 0x65, 0x72, 0x51, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, + 0x70, 0x22, 0x25, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1f, 0x3a, 0x01, 0x2a, 0x22, 0x1a, 0x2f, 0x71, + 0x67, 0x64, 0x7a, 0x73, 0x2f, 0x6f, 0x70, 0x65, 0x6e, 0x2f, 0x71, 0x75, 0x69, 0x63, 0x6b, 0x6c, + 0x79, 0x2f, 0x61, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x12, 0x4d, 0x0a, 0x09, 0x47, 0x65, 0x74, 0x52, + 0x65, 0x63, 0x6f, 0x72, 0x64, 0x12, 0x0d, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x65, 0x63, 0x6f, 0x72, + 0x64, 0x52, 0x65, 0x71, 0x1a, 0x0e, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, + 0x52, 0x65, 0x73, 0x70, 0x22, 0x21, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1b, 0x3a, 0x01, 0x2a, 0x22, + 0x16, 0x2f, 0x71, 0x67, 0x64, 0x7a, 0x73, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x67, 0x65, 0x74, + 0x5f, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x12, 0x66, 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x51, 0x75, + 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x13, 0x2e, 0x47, 0x65, 0x74, + 0x51, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x1a, + 0x14, 0x2e, 0x47, 0x65, 0x74, 0x51, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, + 0x6f, 0x52, 0x65, 0x73, 0x70, 0x22, 0x28, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x22, 0x3a, 0x01, 0x2a, + 0x22, 0x1d, 0x2f, 0x71, 0x67, 0x64, 0x7a, 0x73, 0x2f, 0x6f, 0x70, 0x65, 0x6e, 0x2f, 0x67, 0x65, + 0x74, 0x5f, 0x71, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x42, + 0x36, 0x5a, 0x34, 0x67, 0x69, 0x74, 0x2e, 0x68, 0x6c, 0x73, 0x71, 0x2e, 0x61, 0x73, 0x69, 0x61, + 0x2f, 0x6d, 0x6d, 0x6f, 0x72, 0x70, 0x67, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2d, + 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x72, 0x73, 0x2f, + 0x67, 0x72, 0x70, 0x63, 0x5f, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -1555,48 +1532,48 @@ var file_service_qgdzs_proto_goTypes = []interface{}{ (*GenerateQuestionResp)(nil), // 1: GenerateQuestionResp (*RandomGetQuestionReq)(nil), // 2: RandomGetQuestionReq (*RandomGetQuestionResp)(nil), // 3: RandomGetQuestionResp - (*GetQuestionInfoReq)(nil), // 4: GetQuestionInfoReq - (*GetQuestionInfoResp)(nil), // 5: GetQuestionInfoResp - (*RandomAnswerQuestionReq)(nil), // 6: RandomAnswerQuestionReq - (*RandomAnswerQuestionResp)(nil), // 7: RandomAnswerQuestionResp - (*GetAllCategoryReq)(nil), // 8: GetAllCategoryReq - (*GetAllCategoryResp)(nil), // 9: GetAllCategoryResp - (*GetAllCategoryItem)(nil), // 10: GetAllCategoryItem - (*CategoryGetQuestionReq)(nil), // 11: CategoryGetQuestionReq - (*CategoryGetQuestionResp)(nil), // 12: CategoryGetQuestionResp - (*CategoryAnswerQuestionReq)(nil), // 13: CategoryAnswerQuestionReq - (*CategoryAnswerQuestionResp)(nil), // 14: CategoryAnswerQuestionResp - (*QuicklyGetQuestionReq)(nil), // 15: QuicklyGetQuestionReq - (*QuicklyGetQuestionResp)(nil), // 16: QuicklyGetQuestionResp - (*QuicklyAnswerQuestionReq)(nil), // 17: QuicklyAnswerQuestionReq - (*QuicklyAnswerQuestionResp)(nil), // 18: QuicklyAnswerQuestionResp - (*GetRecordReq)(nil), // 19: GetRecordReq - (*GetRecordResp)(nil), // 20: GetRecordResp - (*GetRecordItem)(nil), // 21: GetRecordItem + (*RandomAnswerQuestionReq)(nil), // 4: RandomAnswerQuestionReq + (*RandomAnswerQuestionResp)(nil), // 5: RandomAnswerQuestionResp + (*GetAllCategoryReq)(nil), // 6: GetAllCategoryReq + (*GetAllCategoryResp)(nil), // 7: GetAllCategoryResp + (*GetAllCategoryItem)(nil), // 8: GetAllCategoryItem + (*CategoryGetQuestionReq)(nil), // 9: CategoryGetQuestionReq + (*CategoryGetQuestionResp)(nil), // 10: CategoryGetQuestionResp + (*CategoryAnswerQuestionReq)(nil), // 11: CategoryAnswerQuestionReq + (*CategoryAnswerQuestionResp)(nil), // 12: CategoryAnswerQuestionResp + (*QuicklyGetQuestionReq)(nil), // 13: QuicklyGetQuestionReq + (*QuicklyGetQuestionResp)(nil), // 14: QuicklyGetQuestionResp + (*QuicklyAnswerQuestionReq)(nil), // 15: QuicklyAnswerQuestionReq + (*QuicklyAnswerQuestionResp)(nil), // 16: QuicklyAnswerQuestionResp + (*GetRecordReq)(nil), // 17: GetRecordReq + (*GetRecordResp)(nil), // 18: GetRecordResp + (*GetRecordItem)(nil), // 19: GetRecordItem + (*GetQuestionInfoReq)(nil), // 20: GetQuestionInfoReq + (*GetQuestionInfoResp)(nil), // 21: GetQuestionInfoResp } var file_service_qgdzs_proto_depIdxs = []int32{ - 10, // 0: GetAllCategoryResp.Categories:type_name -> GetAllCategoryItem - 21, // 1: GetRecordResp.Records:type_name -> GetRecordItem + 8, // 0: GetAllCategoryResp.Categories:type_name -> GetAllCategoryItem + 19, // 1: GetRecordResp.Records:type_name -> GetRecordItem 0, // 2: Qgdzs.GenerateQuestion:input_type -> GenerateQuestionReq 2, // 3: Qgdzs.RandomGetQuestion:input_type -> RandomGetQuestionReq - 6, // 4: Qgdzs.RandomAnswerQuestion:input_type -> RandomAnswerQuestionReq - 8, // 5: Qgdzs.GetAllCategory:input_type -> GetAllCategoryReq - 11, // 6: Qgdzs.CategoryGetQuestion:input_type -> CategoryGetQuestionReq - 13, // 7: Qgdzs.CategoryAnswerQuestion:input_type -> CategoryAnswerQuestionReq - 15, // 8: Qgdzs.QuicklyGetQuestion:input_type -> QuicklyGetQuestionReq - 17, // 9: Qgdzs.QuicklyAnswerQuestion:input_type -> QuicklyAnswerQuestionReq - 19, // 10: Qgdzs.GetRecord:input_type -> GetRecordReq - 4, // 11: Qgdzs.GetQuestionInfo:input_type -> GetQuestionInfoReq + 4, // 4: Qgdzs.RandomAnswerQuestion:input_type -> RandomAnswerQuestionReq + 6, // 5: Qgdzs.GetAllCategory:input_type -> GetAllCategoryReq + 9, // 6: Qgdzs.CategoryGetQuestion:input_type -> CategoryGetQuestionReq + 11, // 7: Qgdzs.CategoryAnswerQuestion:input_type -> CategoryAnswerQuestionReq + 13, // 8: Qgdzs.QuicklyGetQuestion:input_type -> QuicklyGetQuestionReq + 15, // 9: Qgdzs.QuicklyAnswerQuestion:input_type -> QuicklyAnswerQuestionReq + 17, // 10: Qgdzs.GetRecord:input_type -> GetRecordReq + 20, // 11: Qgdzs.GetQuestionInfo:input_type -> GetQuestionInfoReq 1, // 12: Qgdzs.GenerateQuestion:output_type -> GenerateQuestionResp 3, // 13: Qgdzs.RandomGetQuestion:output_type -> RandomGetQuestionResp - 7, // 14: Qgdzs.RandomAnswerQuestion:output_type -> RandomAnswerQuestionResp - 9, // 15: Qgdzs.GetAllCategory:output_type -> GetAllCategoryResp - 12, // 16: Qgdzs.CategoryGetQuestion:output_type -> CategoryGetQuestionResp - 14, // 17: Qgdzs.CategoryAnswerQuestion:output_type -> CategoryAnswerQuestionResp - 16, // 18: Qgdzs.QuicklyGetQuestion:output_type -> QuicklyGetQuestionResp - 18, // 19: Qgdzs.QuicklyAnswerQuestion:output_type -> QuicklyAnswerQuestionResp - 20, // 20: Qgdzs.GetRecord:output_type -> GetRecordResp - 5, // 21: Qgdzs.GetQuestionInfo:output_type -> GetQuestionInfoResp + 5, // 14: Qgdzs.RandomAnswerQuestion:output_type -> RandomAnswerQuestionResp + 7, // 15: Qgdzs.GetAllCategory:output_type -> GetAllCategoryResp + 10, // 16: Qgdzs.CategoryGetQuestion:output_type -> CategoryGetQuestionResp + 12, // 17: Qgdzs.CategoryAnswerQuestion:output_type -> CategoryAnswerQuestionResp + 14, // 18: Qgdzs.QuicklyGetQuestion:output_type -> QuicklyGetQuestionResp + 16, // 19: Qgdzs.QuicklyAnswerQuestion:output_type -> QuicklyAnswerQuestionResp + 18, // 20: Qgdzs.GetRecord:output_type -> GetRecordResp + 21, // 21: Qgdzs.GetQuestionInfo:output_type -> GetQuestionInfoResp 12, // [12:22] is the sub-list for method output_type 2, // [2:12] is the sub-list for method input_type 2, // [2:2] is the sub-list for extension type_name @@ -1659,30 +1636,6 @@ func file_service_qgdzs_proto_init() { } } file_service_qgdzs_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetQuestionInfoReq); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_service_qgdzs_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetQuestionInfoResp); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_service_qgdzs_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RandomAnswerQuestionReq); i { case 0: return &v.state @@ -1694,7 +1647,7 @@ func file_service_qgdzs_proto_init() { return nil } } - file_service_qgdzs_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { + file_service_qgdzs_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RandomAnswerQuestionResp); i { case 0: return &v.state @@ -1706,7 +1659,7 @@ func file_service_qgdzs_proto_init() { return nil } } - file_service_qgdzs_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { + file_service_qgdzs_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetAllCategoryReq); i { case 0: return &v.state @@ -1718,7 +1671,7 @@ func file_service_qgdzs_proto_init() { return nil } } - file_service_qgdzs_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { + file_service_qgdzs_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetAllCategoryResp); i { case 0: return &v.state @@ -1730,7 +1683,7 @@ func file_service_qgdzs_proto_init() { return nil } } - file_service_qgdzs_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { + file_service_qgdzs_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetAllCategoryItem); i { case 0: return &v.state @@ -1742,7 +1695,7 @@ func file_service_qgdzs_proto_init() { return nil } } - file_service_qgdzs_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { + file_service_qgdzs_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CategoryGetQuestionReq); i { case 0: return &v.state @@ -1754,7 +1707,7 @@ func file_service_qgdzs_proto_init() { return nil } } - file_service_qgdzs_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { + file_service_qgdzs_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CategoryGetQuestionResp); i { case 0: return &v.state @@ -1766,7 +1719,7 @@ func file_service_qgdzs_proto_init() { return nil } } - file_service_qgdzs_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { + file_service_qgdzs_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CategoryAnswerQuestionReq); i { case 0: return &v.state @@ -1778,7 +1731,7 @@ func file_service_qgdzs_proto_init() { return nil } } - file_service_qgdzs_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { + file_service_qgdzs_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CategoryAnswerQuestionResp); i { case 0: return &v.state @@ -1790,7 +1743,7 @@ func file_service_qgdzs_proto_init() { return nil } } - file_service_qgdzs_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { + file_service_qgdzs_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*QuicklyGetQuestionReq); i { case 0: return &v.state @@ -1802,7 +1755,7 @@ func file_service_qgdzs_proto_init() { return nil } } - file_service_qgdzs_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { + file_service_qgdzs_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*QuicklyGetQuestionResp); i { case 0: return &v.state @@ -1814,7 +1767,7 @@ func file_service_qgdzs_proto_init() { return nil } } - file_service_qgdzs_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { + file_service_qgdzs_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*QuicklyAnswerQuestionReq); i { case 0: return &v.state @@ -1826,7 +1779,7 @@ func file_service_qgdzs_proto_init() { return nil } } - file_service_qgdzs_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { + file_service_qgdzs_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*QuicklyAnswerQuestionResp); i { case 0: return &v.state @@ -1838,7 +1791,7 @@ func file_service_qgdzs_proto_init() { return nil } } - file_service_qgdzs_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { + file_service_qgdzs_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetRecordReq); i { case 0: return &v.state @@ -1850,7 +1803,7 @@ func file_service_qgdzs_proto_init() { return nil } } - file_service_qgdzs_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { + file_service_qgdzs_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetRecordResp); i { case 0: return &v.state @@ -1862,7 +1815,7 @@ func file_service_qgdzs_proto_init() { return nil } } - file_service_qgdzs_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { + file_service_qgdzs_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GetRecordItem); i { case 0: return &v.state @@ -1874,6 +1827,30 @@ func file_service_qgdzs_proto_init() { return nil } } + file_service_qgdzs_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetQuestionInfoReq); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_service_qgdzs_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetQuestionInfoResp); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } } type x struct{} out := protoimpl.TypeBuilder{