// Generated by the protocol buffer compiler.  DO NOT EDIT!
// source: Recharge.proto

package pb.xiugou.x1.protobuf.recharge;

public final class Recharge {
  private Recharge() {}
  public static void registerAllExtensions(
      com.google.protobuf.ExtensionRegistryLite registry) {
  }

  public static void registerAllExtensions(
      com.google.protobuf.ExtensionRegistry registry) {
    registerAllExtensions(
        (com.google.protobuf.ExtensionRegistryLite) registry);
  }
  public interface RechargeInfoResponseOrBuilder extends
      // @@protoc_insertion_point(interface_extends:pb.RechargeInfoResponse)
      com.google.protobuf.MessageOrBuilder {

    /**
     * <pre>
     *已经购买过的充值商品ID
     * </pre>
     *
     * <code>repeated int32 product_ids = 1;</code>
     * @return A list containing the productIds.
     */
    java.util.List<java.lang.Integer> getProductIdsList();
    /**
     * <pre>
     *已经购买过的充值商品ID
     * </pre>
     *
     * <code>repeated int32 product_ids = 1;</code>
     * @return The count of productIds.
     */
    int getProductIdsCount();
    /**
     * <pre>
     *已经购买过的充值商品ID
     * </pre>
     *
     * <code>repeated int32 product_ids = 1;</code>
     * @param index The index of the element to return.
     * @return The productIds at the given index.
     */
    int getProductIds(int index);
  }
  /**
   * <pre>
   *充值信息
   * </pre>
   *
   * Protobuf type {@code pb.RechargeInfoResponse}
   */
  public  static final class RechargeInfoResponse extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:pb.RechargeInfoResponse)
      RechargeInfoResponseOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use RechargeInfoResponse.newBuilder() to construct.
    private RechargeInfoResponse(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
      super(builder);
    }
    private RechargeInfoResponse() {
      productIds_ = emptyIntList();
    }

    @java.lang.Override
    @SuppressWarnings({"unused"})
    protected java.lang.Object newInstance(
        UnusedPrivateParameter unused) {
      return new RechargeInfoResponse();
    }

    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    private RechargeInfoResponse(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      this();
      if (extensionRegistry == null) {
        throw new java.lang.NullPointerException();
      }
      int mutable_bitField0_ = 0;
      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            case 8: {
              if (!((mutable_bitField0_ & 0x00000001) != 0)) {
                productIds_ = newIntList();
                mutable_bitField0_ |= 0x00000001;
              }
              productIds_.addInt(input.readInt32());
              break;
            }
            case 10: {
              int length = input.readRawVarint32();
              int limit = input.pushLimit(length);
              if (!((mutable_bitField0_ & 0x00000001) != 0) && input.getBytesUntilLimit() > 0) {
                productIds_ = newIntList();
                mutable_bitField0_ |= 0x00000001;
              }
              while (input.getBytesUntilLimit() > 0) {
                productIds_.addInt(input.readInt32());
              }
              input.popLimit(limit);
              break;
            }
            default: {
              if (!parseUnknownField(
                  input, unknownFields, extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e).setUnfinishedMessage(this);
      } finally {
        if (((mutable_bitField0_ & 0x00000001) != 0)) {
          productIds_.makeImmutable(); // C
        }
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return pb.xiugou.x1.protobuf.recharge.Recharge.internal_static_pb_RechargeInfoResponse_descriptor;
    }

    @java.lang.Override
    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return pb.xiugou.x1.protobuf.recharge.Recharge.internal_static_pb_RechargeInfoResponse_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              pb.xiugou.x1.protobuf.recharge.Recharge.RechargeInfoResponse.class, pb.xiugou.x1.protobuf.recharge.Recharge.RechargeInfoResponse.Builder.class);
    }

    /**
     * Protobuf enum {@code pb.RechargeInfoResponse.Proto}
     */
    public enum Proto
        implements com.google.protobuf.ProtocolMessageEnum {
      /**
       * <code>UNKNOWN = 0;</code>
       */
      UNKNOWN(0),
      /**
       * <code>ID = 1900001;</code>
       */
      ID(1900001),
      UNRECOGNIZED(-1),
      ;

      /**
       * <code>UNKNOWN = 0;</code>
       */
      public static final int UNKNOWN_VALUE = 0;
      /**
       * <code>ID = 1900001;</code>
       */
      public static final int ID_VALUE = 1900001;


      public final int getNumber() {
        if (this == UNRECOGNIZED) {
          throw new java.lang.IllegalArgumentException(
              "Can't get the number of an unknown enum value.");
        }
        return value;
      }

      /**
       * @param value The numeric wire value of the corresponding enum entry.
       * @return The enum associated with the given numeric wire value.
       * @deprecated Use {@link #forNumber(int)} instead.
       */
      @java.lang.Deprecated
      public static Proto valueOf(int value) {
        return forNumber(value);
      }

      /**
       * @param value The numeric wire value of the corresponding enum entry.
       * @return The enum associated with the given numeric wire value.
       */
      public static Proto forNumber(int value) {
        switch (value) {
          case 0: return UNKNOWN;
          case 1900001: return ID;
          default: return null;
        }
      }

      public static com.google.protobuf.Internal.EnumLiteMap<Proto>
          internalGetValueMap() {
        return internalValueMap;
      }
      private static final com.google.protobuf.Internal.EnumLiteMap<
          Proto> internalValueMap =
            new com.google.protobuf.Internal.EnumLiteMap<Proto>() {
              public Proto findValueByNumber(int number) {
                return Proto.forNumber(number);
              }
            };

      public final com.google.protobuf.Descriptors.EnumValueDescriptor
          getValueDescriptor() {
        return getDescriptor().getValues().get(ordinal());
      }
      public final com.google.protobuf.Descriptors.EnumDescriptor
          getDescriptorForType() {
        return getDescriptor();
      }
      public static final com.google.protobuf.Descriptors.EnumDescriptor
          getDescriptor() {
        return pb.xiugou.x1.protobuf.recharge.Recharge.RechargeInfoResponse.getDescriptor().getEnumTypes().get(0);
      }

      private static final Proto[] VALUES = values();

      public static Proto valueOf(
          com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
        if (desc.getType() != getDescriptor()) {
          throw new java.lang.IllegalArgumentException(
            "EnumValueDescriptor is not for this type.");
        }
        if (desc.getIndex() == -1) {
          return UNRECOGNIZED;
        }
        return VALUES[desc.getIndex()];
      }

      private final int value;

      private Proto(int value) {
        this.value = value;
      }

      // @@protoc_insertion_point(enum_scope:pb.RechargeInfoResponse.Proto)
    }

    public static final int PRODUCT_IDS_FIELD_NUMBER = 1;
    private com.google.protobuf.Internal.IntList productIds_;
    /**
     * <pre>
     *已经购买过的充值商品ID
     * </pre>
     *
     * <code>repeated int32 product_ids = 1;</code>
     * @return A list containing the productIds.
     */
    public java.util.List<java.lang.Integer>
        getProductIdsList() {
      return productIds_;
    }
    /**
     * <pre>
     *已经购买过的充值商品ID
     * </pre>
     *
     * <code>repeated int32 product_ids = 1;</code>
     * @return The count of productIds.
     */
    public int getProductIdsCount() {
      return productIds_.size();
    }
    /**
     * <pre>
     *已经购买过的充值商品ID
     * </pre>
     *
     * <code>repeated int32 product_ids = 1;</code>
     * @param index The index of the element to return.
     * @return The productIds at the given index.
     */
    public int getProductIds(int index) {
      return productIds_.getInt(index);
    }
    private int productIdsMemoizedSerializedSize = -1;

    private byte memoizedIsInitialized = -1;
    @java.lang.Override
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized == 1) return true;
      if (isInitialized == 0) return false;

      memoizedIsInitialized = 1;
      return true;
    }

    @java.lang.Override
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      getSerializedSize();
      if (getProductIdsList().size() > 0) {
        output.writeUInt32NoTag(10);
        output.writeUInt32NoTag(productIdsMemoizedSerializedSize);
      }
      for (int i = 0; i < productIds_.size(); i++) {
        output.writeInt32NoTag(productIds_.getInt(i));
      }
      unknownFields.writeTo(output);
    }

    @java.lang.Override
    public int getSerializedSize() {
      int size = memoizedSize;
      if (size != -1) return size;

      size = 0;
      {
        int dataSize = 0;
        for (int i = 0; i < productIds_.size(); i++) {
          dataSize += com.google.protobuf.CodedOutputStream
            .computeInt32SizeNoTag(productIds_.getInt(i));
        }
        size += dataSize;
        if (!getProductIdsList().isEmpty()) {
          size += 1;
          size += com.google.protobuf.CodedOutputStream
              .computeInt32SizeNoTag(dataSize);
        }
        productIdsMemoizedSerializedSize = dataSize;
      }
      size += unknownFields.getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof pb.xiugou.x1.protobuf.recharge.Recharge.RechargeInfoResponse)) {
        return super.equals(obj);
      }
      pb.xiugou.x1.protobuf.recharge.Recharge.RechargeInfoResponse other = (pb.xiugou.x1.protobuf.recharge.Recharge.RechargeInfoResponse) obj;

      if (!getProductIdsList()
          .equals(other.getProductIdsList())) return false;
      if (!unknownFields.equals(other.unknownFields)) return false;
      return true;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      if (getProductIdsCount() > 0) {
        hash = (37 * hash) + PRODUCT_IDS_FIELD_NUMBER;
        hash = (53 * hash) + getProductIdsList().hashCode();
      }
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static pb.xiugou.x1.protobuf.recharge.Recharge.RechargeInfoResponse parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static pb.xiugou.x1.protobuf.recharge.Recharge.RechargeInfoResponse parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static pb.xiugou.x1.protobuf.recharge.Recharge.RechargeInfoResponse parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static pb.xiugou.x1.protobuf.recharge.Recharge.RechargeInfoResponse parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static pb.xiugou.x1.protobuf.recharge.Recharge.RechargeInfoResponse parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static pb.xiugou.x1.protobuf.recharge.Recharge.RechargeInfoResponse parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static pb.xiugou.x1.protobuf.recharge.Recharge.RechargeInfoResponse parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static pb.xiugou.x1.protobuf.recharge.Recharge.RechargeInfoResponse parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }
    public static pb.xiugou.x1.protobuf.recharge.Recharge.RechargeInfoResponse parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }
    public static pb.xiugou.x1.protobuf.recharge.Recharge.RechargeInfoResponse parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
    }
    public static pb.xiugou.x1.protobuf.recharge.Recharge.RechargeInfoResponse parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static pb.xiugou.x1.protobuf.recharge.Recharge.RechargeInfoResponse parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    @java.lang.Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(pb.xiugou.x1.protobuf.recharge.Recharge.RechargeInfoResponse prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    @java.lang.Override
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * <pre>
     *充值信息
     * </pre>
     *
     * Protobuf type {@code pb.RechargeInfoResponse}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:pb.RechargeInfoResponse)
        pb.xiugou.x1.protobuf.recharge.Recharge.RechargeInfoResponseOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return pb.xiugou.x1.protobuf.recharge.Recharge.internal_static_pb_RechargeInfoResponse_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return pb.xiugou.x1.protobuf.recharge.Recharge.internal_static_pb_RechargeInfoResponse_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                pb.xiugou.x1.protobuf.recharge.Recharge.RechargeInfoResponse.class, pb.xiugou.x1.protobuf.recharge.Recharge.RechargeInfoResponse.Builder.class);
      }

      // Construct using pb.xiugou.x1.protobuf.recharge.Recharge.RechargeInfoResponse.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessageV3
                .alwaysUseFieldBuilders) {
        }
      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        productIds_ = emptyIntList();
        bitField0_ = (bitField0_ & ~0x00000001);
        return this;
      }

      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return pb.xiugou.x1.protobuf.recharge.Recharge.internal_static_pb_RechargeInfoResponse_descriptor;
      }

      @java.lang.Override
      public pb.xiugou.x1.protobuf.recharge.Recharge.RechargeInfoResponse getDefaultInstanceForType() {
        return pb.xiugou.x1.protobuf.recharge.Recharge.RechargeInfoResponse.getDefaultInstance();
      }

      @java.lang.Override
      public pb.xiugou.x1.protobuf.recharge.Recharge.RechargeInfoResponse build() {
        pb.xiugou.x1.protobuf.recharge.Recharge.RechargeInfoResponse result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public pb.xiugou.x1.protobuf.recharge.Recharge.RechargeInfoResponse buildPartial() {
        pb.xiugou.x1.protobuf.recharge.Recharge.RechargeInfoResponse result = new pb.xiugou.x1.protobuf.recharge.Recharge.RechargeInfoResponse(this);
        int from_bitField0_ = bitField0_;
        if (((bitField0_ & 0x00000001) != 0)) {
          productIds_.makeImmutable();
          bitField0_ = (bitField0_ & ~0x00000001);
        }
        result.productIds_ = productIds_;
        onBuilt();
        return result;
      }

      @java.lang.Override
      public Builder clone() {
        return super.clone();
      }
      @java.lang.Override
      public Builder setField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.setField(field, value);
      }
      @java.lang.Override
      public Builder clearField(
          com.google.protobuf.Descriptors.FieldDescriptor field) {
        return super.clearField(field);
      }
      @java.lang.Override
      public Builder clearOneof(
          com.google.protobuf.Descriptors.OneofDescriptor oneof) {
        return super.clearOneof(oneof);
      }
      @java.lang.Override
      public Builder setRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          int index, java.lang.Object value) {
        return super.setRepeatedField(field, index, value);
      }
      @java.lang.Override
      public Builder addRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.addRepeatedField(field, value);
      }
      @java.lang.Override
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof pb.xiugou.x1.protobuf.recharge.Recharge.RechargeInfoResponse) {
          return mergeFrom((pb.xiugou.x1.protobuf.recharge.Recharge.RechargeInfoResponse)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(pb.xiugou.x1.protobuf.recharge.Recharge.RechargeInfoResponse other) {
        if (other == pb.xiugou.x1.protobuf.recharge.Recharge.RechargeInfoResponse.getDefaultInstance()) return this;
        if (!other.productIds_.isEmpty()) {
          if (productIds_.isEmpty()) {
            productIds_ = other.productIds_;
            bitField0_ = (bitField0_ & ~0x00000001);
          } else {
            ensureProductIdsIsMutable();
            productIds_.addAll(other.productIds_);
          }
          onChanged();
        }
        this.mergeUnknownFields(other.unknownFields);
        onChanged();
        return this;
      }

      @java.lang.Override
      public final boolean isInitialized() {
        return true;
      }

      @java.lang.Override
      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        pb.xiugou.x1.protobuf.recharge.Recharge.RechargeInfoResponse parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (pb.xiugou.x1.protobuf.recharge.Recharge.RechargeInfoResponse) e.getUnfinishedMessage();
          throw e.unwrapIOException();
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      private com.google.protobuf.Internal.IntList productIds_ = emptyIntList();
      private void ensureProductIdsIsMutable() {
        if (!((bitField0_ & 0x00000001) != 0)) {
          productIds_ = mutableCopy(productIds_);
          bitField0_ |= 0x00000001;
         }
      }
      /**
       * <pre>
       *已经购买过的充值商品ID
       * </pre>
       *
       * <code>repeated int32 product_ids = 1;</code>
       * @return A list containing the productIds.
       */
      public java.util.List<java.lang.Integer>
          getProductIdsList() {
        return ((bitField0_ & 0x00000001) != 0) ?
                 java.util.Collections.unmodifiableList(productIds_) : productIds_;
      }
      /**
       * <pre>
       *已经购买过的充值商品ID
       * </pre>
       *
       * <code>repeated int32 product_ids = 1;</code>
       * @return The count of productIds.
       */
      public int getProductIdsCount() {
        return productIds_.size();
      }
      /**
       * <pre>
       *已经购买过的充值商品ID
       * </pre>
       *
       * <code>repeated int32 product_ids = 1;</code>
       * @param index The index of the element to return.
       * @return The productIds at the given index.
       */
      public int getProductIds(int index) {
        return productIds_.getInt(index);
      }
      /**
       * <pre>
       *已经购买过的充值商品ID
       * </pre>
       *
       * <code>repeated int32 product_ids = 1;</code>
       * @param index The index to set the value at.
       * @param value The productIds to set.
       * @return This builder for chaining.
       */
      public Builder setProductIds(
          int index, int value) {
        ensureProductIdsIsMutable();
        productIds_.setInt(index, value);
        onChanged();
        return this;
      }
      /**
       * <pre>
       *已经购买过的充值商品ID
       * </pre>
       *
       * <code>repeated int32 product_ids = 1;</code>
       * @param value The productIds to add.
       * @return This builder for chaining.
       */
      public Builder addProductIds(int value) {
        ensureProductIdsIsMutable();
        productIds_.addInt(value);
        onChanged();
        return this;
      }
      /**
       * <pre>
       *已经购买过的充值商品ID
       * </pre>
       *
       * <code>repeated int32 product_ids = 1;</code>
       * @param values The productIds to add.
       * @return This builder for chaining.
       */
      public Builder addAllProductIds(
          java.lang.Iterable<? extends java.lang.Integer> values) {
        ensureProductIdsIsMutable();
        com.google.protobuf.AbstractMessageLite.Builder.addAll(
            values, productIds_);
        onChanged();
        return this;
      }
      /**
       * <pre>
       *已经购买过的充值商品ID
       * </pre>
       *
       * <code>repeated int32 product_ids = 1;</code>
       * @return This builder for chaining.
       */
      public Builder clearProductIds() {
        productIds_ = emptyIntList();
        bitField0_ = (bitField0_ & ~0x00000001);
        onChanged();
        return this;
      }
      @java.lang.Override
      public final Builder setUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.setUnknownFields(unknownFields);
      }

      @java.lang.Override
      public final Builder mergeUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.mergeUnknownFields(unknownFields);
      }


      // @@protoc_insertion_point(builder_scope:pb.RechargeInfoResponse)
    }

    // @@protoc_insertion_point(class_scope:pb.RechargeInfoResponse)
    private static final pb.xiugou.x1.protobuf.recharge.Recharge.RechargeInfoResponse DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new pb.xiugou.x1.protobuf.recharge.Recharge.RechargeInfoResponse();
    }

    public static pb.xiugou.x1.protobuf.recharge.Recharge.RechargeInfoResponse getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static final com.google.protobuf.Parser<RechargeInfoResponse>
        PARSER = new com.google.protobuf.AbstractParser<RechargeInfoResponse>() {
      @java.lang.Override
      public RechargeInfoResponse parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new RechargeInfoResponse(input, extensionRegistry);
      }
    };

    public static com.google.protobuf.Parser<RechargeInfoResponse> parser() {
      return PARSER;
    }

    @java.lang.Override
    public com.google.protobuf.Parser<RechargeInfoResponse> getParserForType() {
      return PARSER;
    }

    @java.lang.Override
    public pb.xiugou.x1.protobuf.recharge.Recharge.RechargeInfoResponse getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface RechargeOrderRequestOrBuilder extends
      // @@protoc_insertion_point(interface_extends:pb.RechargeOrderRequest)
      com.google.protobuf.MessageOrBuilder {

    /**
     * <pre>
     *充值商品ID
     * </pre>
     *
     * <code>int32 product_id = 1;</code>
     * @return The productId.
     */
    int getProductId();

    /**
     * <pre>
     *杂七杂八的参数，根据不同商品传不同的值，传json格式字符串
     * </pre>
     *
     * <code>string product_data = 2;</code>
     * @return The productData.
     */
    java.lang.String getProductData();
    /**
     * <pre>
     *杂七杂八的参数，根据不同商品传不同的值，传json格式字符串
     * </pre>
     *
     * <code>string product_data = 2;</code>
     * @return The bytes for productData.
     */
    com.google.protobuf.ByteString
        getProductDataBytes();

    /**
     * <pre>
     *渠道标识，如37、
     * </pre>
     *
     * <code>string channel_identity = 3;</code>
     * @return The channelIdentity.
     */
    java.lang.String getChannelIdentity();
    /**
     * <pre>
     *渠道标识，如37、
     * </pre>
     *
     * <code>string channel_identity = 3;</code>
     * @return The bytes for channelIdentity.
     */
    com.google.protobuf.ByteString
        getChannelIdentityBytes();

    /**
     * <pre>
     *不同渠道的个性化数据
     * </pre>
     *
     * <code>bytes recharge_data = 4;</code>
     * @return The rechargeData.
     */
    com.google.protobuf.ByteString getRechargeData();
  }
  /**
   * <pre>
   *充值下单
   * </pre>
   *
   * Protobuf type {@code pb.RechargeOrderRequest}
   */
  public  static final class RechargeOrderRequest extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:pb.RechargeOrderRequest)
      RechargeOrderRequestOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use RechargeOrderRequest.newBuilder() to construct.
    private RechargeOrderRequest(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
      super(builder);
    }
    private RechargeOrderRequest() {
      productData_ = "";
      channelIdentity_ = "";
      rechargeData_ = com.google.protobuf.ByteString.EMPTY;
    }

    @java.lang.Override
    @SuppressWarnings({"unused"})
    protected java.lang.Object newInstance(
        UnusedPrivateParameter unused) {
      return new RechargeOrderRequest();
    }

    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    private RechargeOrderRequest(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      this();
      if (extensionRegistry == null) {
        throw new java.lang.NullPointerException();
      }
      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            case 8: {

              productId_ = input.readInt32();
              break;
            }
            case 18: {
              java.lang.String s = input.readStringRequireUtf8();

              productData_ = s;
              break;
            }
            case 26: {
              java.lang.String s = input.readStringRequireUtf8();

              channelIdentity_ = s;
              break;
            }
            case 34: {

              rechargeData_ = input.readBytes();
              break;
            }
            default: {
              if (!parseUnknownField(
                  input, unknownFields, extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e).setUnfinishedMessage(this);
      } finally {
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return pb.xiugou.x1.protobuf.recharge.Recharge.internal_static_pb_RechargeOrderRequest_descriptor;
    }

    @java.lang.Override
    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return pb.xiugou.x1.protobuf.recharge.Recharge.internal_static_pb_RechargeOrderRequest_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              pb.xiugou.x1.protobuf.recharge.Recharge.RechargeOrderRequest.class, pb.xiugou.x1.protobuf.recharge.Recharge.RechargeOrderRequest.Builder.class);
    }

    /**
     * Protobuf enum {@code pb.RechargeOrderRequest.Proto}
     */
    public enum Proto
        implements com.google.protobuf.ProtocolMessageEnum {
      /**
       * <code>UNKNOWN = 0;</code>
       */
      UNKNOWN(0),
      /**
       * <code>ID = 1900002;</code>
       */
      ID(1900002),
      UNRECOGNIZED(-1),
      ;

      /**
       * <code>UNKNOWN = 0;</code>
       */
      public static final int UNKNOWN_VALUE = 0;
      /**
       * <code>ID = 1900002;</code>
       */
      public static final int ID_VALUE = 1900002;


      public final int getNumber() {
        if (this == UNRECOGNIZED) {
          throw new java.lang.IllegalArgumentException(
              "Can't get the number of an unknown enum value.");
        }
        return value;
      }

      /**
       * @param value The numeric wire value of the corresponding enum entry.
       * @return The enum associated with the given numeric wire value.
       * @deprecated Use {@link #forNumber(int)} instead.
       */
      @java.lang.Deprecated
      public static Proto valueOf(int value) {
        return forNumber(value);
      }

      /**
       * @param value The numeric wire value of the corresponding enum entry.
       * @return The enum associated with the given numeric wire value.
       */
      public static Proto forNumber(int value) {
        switch (value) {
          case 0: return UNKNOWN;
          case 1900002: return ID;
          default: return null;
        }
      }

      public static com.google.protobuf.Internal.EnumLiteMap<Proto>
          internalGetValueMap() {
        return internalValueMap;
      }
      private static final com.google.protobuf.Internal.EnumLiteMap<
          Proto> internalValueMap =
            new com.google.protobuf.Internal.EnumLiteMap<Proto>() {
              public Proto findValueByNumber(int number) {
                return Proto.forNumber(number);
              }
            };

      public final com.google.protobuf.Descriptors.EnumValueDescriptor
          getValueDescriptor() {
        return getDescriptor().getValues().get(ordinal());
      }
      public final com.google.protobuf.Descriptors.EnumDescriptor
          getDescriptorForType() {
        return getDescriptor();
      }
      public static final com.google.protobuf.Descriptors.EnumDescriptor
          getDescriptor() {
        return pb.xiugou.x1.protobuf.recharge.Recharge.RechargeOrderRequest.getDescriptor().getEnumTypes().get(0);
      }

      private static final Proto[] VALUES = values();

      public static Proto valueOf(
          com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
        if (desc.getType() != getDescriptor()) {
          throw new java.lang.IllegalArgumentException(
            "EnumValueDescriptor is not for this type.");
        }
        if (desc.getIndex() == -1) {
          return UNRECOGNIZED;
        }
        return VALUES[desc.getIndex()];
      }

      private final int value;

      private Proto(int value) {
        this.value = value;
      }

      // @@protoc_insertion_point(enum_scope:pb.RechargeOrderRequest.Proto)
    }

    public static final int PRODUCT_ID_FIELD_NUMBER = 1;
    private int productId_;
    /**
     * <pre>
     *充值商品ID
     * </pre>
     *
     * <code>int32 product_id = 1;</code>
     * @return The productId.
     */
    public int getProductId() {
      return productId_;
    }

    public static final int PRODUCT_DATA_FIELD_NUMBER = 2;
    private volatile java.lang.Object productData_;
    /**
     * <pre>
     *杂七杂八的参数，根据不同商品传不同的值，传json格式字符串
     * </pre>
     *
     * <code>string product_data = 2;</code>
     * @return The productData.
     */
    public java.lang.String getProductData() {
      java.lang.Object ref = productData_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        productData_ = s;
        return s;
      }
    }
    /**
     * <pre>
     *杂七杂八的参数，根据不同商品传不同的值，传json格式字符串
     * </pre>
     *
     * <code>string product_data = 2;</code>
     * @return The bytes for productData.
     */
    public com.google.protobuf.ByteString
        getProductDataBytes() {
      java.lang.Object ref = productData_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        productData_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int CHANNEL_IDENTITY_FIELD_NUMBER = 3;
    private volatile java.lang.Object channelIdentity_;
    /**
     * <pre>
     *渠道标识，如37、
     * </pre>
     *
     * <code>string channel_identity = 3;</code>
     * @return The channelIdentity.
     */
    public java.lang.String getChannelIdentity() {
      java.lang.Object ref = channelIdentity_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        channelIdentity_ = s;
        return s;
      }
    }
    /**
     * <pre>
     *渠道标识，如37、
     * </pre>
     *
     * <code>string channel_identity = 3;</code>
     * @return The bytes for channelIdentity.
     */
    public com.google.protobuf.ByteString
        getChannelIdentityBytes() {
      java.lang.Object ref = channelIdentity_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        channelIdentity_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int RECHARGE_DATA_FIELD_NUMBER = 4;
    private com.google.protobuf.ByteString rechargeData_;
    /**
     * <pre>
     *不同渠道的个性化数据
     * </pre>
     *
     * <code>bytes recharge_data = 4;</code>
     * @return The rechargeData.
     */
    public com.google.protobuf.ByteString getRechargeData() {
      return rechargeData_;
    }

    private byte memoizedIsInitialized = -1;
    @java.lang.Override
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized == 1) return true;
      if (isInitialized == 0) return false;

      memoizedIsInitialized = 1;
      return true;
    }

    @java.lang.Override
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (productId_ != 0) {
        output.writeInt32(1, productId_);
      }
      if (!getProductDataBytes().isEmpty()) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 2, productData_);
      }
      if (!getChannelIdentityBytes().isEmpty()) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 3, channelIdentity_);
      }
      if (!rechargeData_.isEmpty()) {
        output.writeBytes(4, rechargeData_);
      }
      unknownFields.writeTo(output);
    }

    @java.lang.Override
    public int getSerializedSize() {
      int size = memoizedSize;
      if (size != -1) return size;

      size = 0;
      if (productId_ != 0) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(1, productId_);
      }
      if (!getProductDataBytes().isEmpty()) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, productData_);
      }
      if (!getChannelIdentityBytes().isEmpty()) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(3, channelIdentity_);
      }
      if (!rechargeData_.isEmpty()) {
        size += com.google.protobuf.CodedOutputStream
          .computeBytesSize(4, rechargeData_);
      }
      size += unknownFields.getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof pb.xiugou.x1.protobuf.recharge.Recharge.RechargeOrderRequest)) {
        return super.equals(obj);
      }
      pb.xiugou.x1.protobuf.recharge.Recharge.RechargeOrderRequest other = (pb.xiugou.x1.protobuf.recharge.Recharge.RechargeOrderRequest) obj;

      if (getProductId()
          != other.getProductId()) return false;
      if (!getProductData()
          .equals(other.getProductData())) return false;
      if (!getChannelIdentity()
          .equals(other.getChannelIdentity())) return false;
      if (!getRechargeData()
          .equals(other.getRechargeData())) return false;
      if (!unknownFields.equals(other.unknownFields)) return false;
      return true;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      hash = (37 * hash) + PRODUCT_ID_FIELD_NUMBER;
      hash = (53 * hash) + getProductId();
      hash = (37 * hash) + PRODUCT_DATA_FIELD_NUMBER;
      hash = (53 * hash) + getProductData().hashCode();
      hash = (37 * hash) + CHANNEL_IDENTITY_FIELD_NUMBER;
      hash = (53 * hash) + getChannelIdentity().hashCode();
      hash = (37 * hash) + RECHARGE_DATA_FIELD_NUMBER;
      hash = (53 * hash) + getRechargeData().hashCode();
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static pb.xiugou.x1.protobuf.recharge.Recharge.RechargeOrderRequest parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static pb.xiugou.x1.protobuf.recharge.Recharge.RechargeOrderRequest parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static pb.xiugou.x1.protobuf.recharge.Recharge.RechargeOrderRequest parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static pb.xiugou.x1.protobuf.recharge.Recharge.RechargeOrderRequest parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static pb.xiugou.x1.protobuf.recharge.Recharge.RechargeOrderRequest parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static pb.xiugou.x1.protobuf.recharge.Recharge.RechargeOrderRequest parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static pb.xiugou.x1.protobuf.recharge.Recharge.RechargeOrderRequest parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static pb.xiugou.x1.protobuf.recharge.Recharge.RechargeOrderRequest parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }
    public static pb.xiugou.x1.protobuf.recharge.Recharge.RechargeOrderRequest parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }
    public static pb.xiugou.x1.protobuf.recharge.Recharge.RechargeOrderRequest parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
    }
    public static pb.xiugou.x1.protobuf.recharge.Recharge.RechargeOrderRequest parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static pb.xiugou.x1.protobuf.recharge.Recharge.RechargeOrderRequest parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    @java.lang.Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(pb.xiugou.x1.protobuf.recharge.Recharge.RechargeOrderRequest prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    @java.lang.Override
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * <pre>
     *充值下单
     * </pre>
     *
     * Protobuf type {@code pb.RechargeOrderRequest}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:pb.RechargeOrderRequest)
        pb.xiugou.x1.protobuf.recharge.Recharge.RechargeOrderRequestOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return pb.xiugou.x1.protobuf.recharge.Recharge.internal_static_pb_RechargeOrderRequest_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return pb.xiugou.x1.protobuf.recharge.Recharge.internal_static_pb_RechargeOrderRequest_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                pb.xiugou.x1.protobuf.recharge.Recharge.RechargeOrderRequest.class, pb.xiugou.x1.protobuf.recharge.Recharge.RechargeOrderRequest.Builder.class);
      }

      // Construct using pb.xiugou.x1.protobuf.recharge.Recharge.RechargeOrderRequest.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessageV3
                .alwaysUseFieldBuilders) {
        }
      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        productId_ = 0;

        productData_ = "";

        channelIdentity_ = "";

        rechargeData_ = com.google.protobuf.ByteString.EMPTY;

        return this;
      }

      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return pb.xiugou.x1.protobuf.recharge.Recharge.internal_static_pb_RechargeOrderRequest_descriptor;
      }

      @java.lang.Override
      public pb.xiugou.x1.protobuf.recharge.Recharge.RechargeOrderRequest getDefaultInstanceForType() {
        return pb.xiugou.x1.protobuf.recharge.Recharge.RechargeOrderRequest.getDefaultInstance();
      }

      @java.lang.Override
      public pb.xiugou.x1.protobuf.recharge.Recharge.RechargeOrderRequest build() {
        pb.xiugou.x1.protobuf.recharge.Recharge.RechargeOrderRequest result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public pb.xiugou.x1.protobuf.recharge.Recharge.RechargeOrderRequest buildPartial() {
        pb.xiugou.x1.protobuf.recharge.Recharge.RechargeOrderRequest result = new pb.xiugou.x1.protobuf.recharge.Recharge.RechargeOrderRequest(this);
        result.productId_ = productId_;
        result.productData_ = productData_;
        result.channelIdentity_ = channelIdentity_;
        result.rechargeData_ = rechargeData_;
        onBuilt();
        return result;
      }

      @java.lang.Override
      public Builder clone() {
        return super.clone();
      }
      @java.lang.Override
      public Builder setField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.setField(field, value);
      }
      @java.lang.Override
      public Builder clearField(
          com.google.protobuf.Descriptors.FieldDescriptor field) {
        return super.clearField(field);
      }
      @java.lang.Override
      public Builder clearOneof(
          com.google.protobuf.Descriptors.OneofDescriptor oneof) {
        return super.clearOneof(oneof);
      }
      @java.lang.Override
      public Builder setRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          int index, java.lang.Object value) {
        return super.setRepeatedField(field, index, value);
      }
      @java.lang.Override
      public Builder addRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.addRepeatedField(field, value);
      }
      @java.lang.Override
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof pb.xiugou.x1.protobuf.recharge.Recharge.RechargeOrderRequest) {
          return mergeFrom((pb.xiugou.x1.protobuf.recharge.Recharge.RechargeOrderRequest)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(pb.xiugou.x1.protobuf.recharge.Recharge.RechargeOrderRequest other) {
        if (other == pb.xiugou.x1.protobuf.recharge.Recharge.RechargeOrderRequest.getDefaultInstance()) return this;
        if (other.getProductId() != 0) {
          setProductId(other.getProductId());
        }
        if (!other.getProductData().isEmpty()) {
          productData_ = other.productData_;
          onChanged();
        }
        if (!other.getChannelIdentity().isEmpty()) {
          channelIdentity_ = other.channelIdentity_;
          onChanged();
        }
        if (other.getRechargeData() != com.google.protobuf.ByteString.EMPTY) {
          setRechargeData(other.getRechargeData());
        }
        this.mergeUnknownFields(other.unknownFields);
        onChanged();
        return this;
      }

      @java.lang.Override
      public final boolean isInitialized() {
        return true;
      }

      @java.lang.Override
      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        pb.xiugou.x1.protobuf.recharge.Recharge.RechargeOrderRequest parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (pb.xiugou.x1.protobuf.recharge.Recharge.RechargeOrderRequest) e.getUnfinishedMessage();
          throw e.unwrapIOException();
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }

      private int productId_ ;
      /**
       * <pre>
       *充值商品ID
       * </pre>
       *
       * <code>int32 product_id = 1;</code>
       * @return The productId.
       */
      public int getProductId() {
        return productId_;
      }
      /**
       * <pre>
       *充值商品ID
       * </pre>
       *
       * <code>int32 product_id = 1;</code>
       * @param value The productId to set.
       * @return This builder for chaining.
       */
      public Builder setProductId(int value) {
        
        productId_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *充值商品ID
       * </pre>
       *
       * <code>int32 product_id = 1;</code>
       * @return This builder for chaining.
       */
      public Builder clearProductId() {
        
        productId_ = 0;
        onChanged();
        return this;
      }

      private java.lang.Object productData_ = "";
      /**
       * <pre>
       *杂七杂八的参数，根据不同商品传不同的值，传json格式字符串
       * </pre>
       *
       * <code>string product_data = 2;</code>
       * @return The productData.
       */
      public java.lang.String getProductData() {
        java.lang.Object ref = productData_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          productData_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <pre>
       *杂七杂八的参数，根据不同商品传不同的值，传json格式字符串
       * </pre>
       *
       * <code>string product_data = 2;</code>
       * @return The bytes for productData.
       */
      public com.google.protobuf.ByteString
          getProductDataBytes() {
        java.lang.Object ref = productData_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          productData_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <pre>
       *杂七杂八的参数，根据不同商品传不同的值，传json格式字符串
       * </pre>
       *
       * <code>string product_data = 2;</code>
       * @param value The productData to set.
       * @return This builder for chaining.
       */
      public Builder setProductData(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        productData_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *杂七杂八的参数，根据不同商品传不同的值，传json格式字符串
       * </pre>
       *
       * <code>string product_data = 2;</code>
       * @return This builder for chaining.
       */
      public Builder clearProductData() {
        
        productData_ = getDefaultInstance().getProductData();
        onChanged();
        return this;
      }
      /**
       * <pre>
       *杂七杂八的参数，根据不同商品传不同的值，传json格式字符串
       * </pre>
       *
       * <code>string product_data = 2;</code>
       * @param value The bytes for productData to set.
       * @return This builder for chaining.
       */
      public Builder setProductDataBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        
        productData_ = value;
        onChanged();
        return this;
      }

      private java.lang.Object channelIdentity_ = "";
      /**
       * <pre>
       *渠道标识，如37、
       * </pre>
       *
       * <code>string channel_identity = 3;</code>
       * @return The channelIdentity.
       */
      public java.lang.String getChannelIdentity() {
        java.lang.Object ref = channelIdentity_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          channelIdentity_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <pre>
       *渠道标识，如37、
       * </pre>
       *
       * <code>string channel_identity = 3;</code>
       * @return The bytes for channelIdentity.
       */
      public com.google.protobuf.ByteString
          getChannelIdentityBytes() {
        java.lang.Object ref = channelIdentity_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          channelIdentity_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <pre>
       *渠道标识，如37、
       * </pre>
       *
       * <code>string channel_identity = 3;</code>
       * @param value The channelIdentity to set.
       * @return This builder for chaining.
       */
      public Builder setChannelIdentity(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        channelIdentity_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *渠道标识，如37、
       * </pre>
       *
       * <code>string channel_identity = 3;</code>
       * @return This builder for chaining.
       */
      public Builder clearChannelIdentity() {
        
        channelIdentity_ = getDefaultInstance().getChannelIdentity();
        onChanged();
        return this;
      }
      /**
       * <pre>
       *渠道标识，如37、
       * </pre>
       *
       * <code>string channel_identity = 3;</code>
       * @param value The bytes for channelIdentity to set.
       * @return This builder for chaining.
       */
      public Builder setChannelIdentityBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        
        channelIdentity_ = value;
        onChanged();
        return this;
      }

      private com.google.protobuf.ByteString rechargeData_ = com.google.protobuf.ByteString.EMPTY;
      /**
       * <pre>
       *不同渠道的个性化数据
       * </pre>
       *
       * <code>bytes recharge_data = 4;</code>
       * @return The rechargeData.
       */
      public com.google.protobuf.ByteString getRechargeData() {
        return rechargeData_;
      }
      /**
       * <pre>
       *不同渠道的个性化数据
       * </pre>
       *
       * <code>bytes recharge_data = 4;</code>
       * @param value The rechargeData to set.
       * @return This builder for chaining.
       */
      public Builder setRechargeData(com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        rechargeData_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *不同渠道的个性化数据
       * </pre>
       *
       * <code>bytes recharge_data = 4;</code>
       * @return This builder for chaining.
       */
      public Builder clearRechargeData() {
        
        rechargeData_ = getDefaultInstance().getRechargeData();
        onChanged();
        return this;
      }
      @java.lang.Override
      public final Builder setUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.setUnknownFields(unknownFields);
      }

      @java.lang.Override
      public final Builder mergeUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.mergeUnknownFields(unknownFields);
      }


      // @@protoc_insertion_point(builder_scope:pb.RechargeOrderRequest)
    }

    // @@protoc_insertion_point(class_scope:pb.RechargeOrderRequest)
    private static final pb.xiugou.x1.protobuf.recharge.Recharge.RechargeOrderRequest DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new pb.xiugou.x1.protobuf.recharge.Recharge.RechargeOrderRequest();
    }

    public static pb.xiugou.x1.protobuf.recharge.Recharge.RechargeOrderRequest getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static final com.google.protobuf.Parser<RechargeOrderRequest>
        PARSER = new com.google.protobuf.AbstractParser<RechargeOrderRequest>() {
      @java.lang.Override
      public RechargeOrderRequest parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new RechargeOrderRequest(input, extensionRegistry);
      }
    };

    public static com.google.protobuf.Parser<RechargeOrderRequest> parser() {
      return PARSER;
    }

    @java.lang.Override
    public com.google.protobuf.Parser<RechargeOrderRequest> getParserForType() {
      return PARSER;
    }

    @java.lang.Override
    public pb.xiugou.x1.protobuf.recharge.Recharge.RechargeOrderRequest getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface RechargeOrderResponseOrBuilder extends
      // @@protoc_insertion_point(interface_extends:pb.RechargeOrderResponse)
      com.google.protobuf.MessageOrBuilder {

    /**
     * <pre>
     *充值商品ID
     * </pre>
     *
     * <code>int32 product_id = 1;</code>
     * @return The productId.
     */
    int getProductId();

    /**
     * <pre>
     *订单ID
     * </pre>
     *
     * <code>string order_id = 2;</code>
     * @return The orderId.
     */
    java.lang.String getOrderId();
    /**
     * <pre>
     *订单ID
     * </pre>
     *
     * <code>string order_id = 2;</code>
     * @return The bytes for orderId.
     */
    com.google.protobuf.ByteString
        getOrderIdBytes();

    /**
     * <pre>
     *透传参数，传给SDK的参数
     * </pre>
     *
     * <code>string extra_info = 3;</code>
     * @return The extraInfo.
     */
    java.lang.String getExtraInfo();
    /**
     * <pre>
     *透传参数，传给SDK的参数
     * </pre>
     *
     * <code>string extra_info = 3;</code>
     * @return The bytes for extraInfo.
     */
    com.google.protobuf.ByteString
        getExtraInfoBytes();

    /**
     * <pre>
     *渠道标识，如37、
     * </pre>
     *
     * <code>string channel_identity = 4;</code>
     * @return The channelIdentity.
     */
    java.lang.String getChannelIdentity();
    /**
     * <pre>
     *渠道标识，如37、
     * </pre>
     *
     * <code>string channel_identity = 4;</code>
     * @return The bytes for channelIdentity.
     */
    com.google.protobuf.ByteString
        getChannelIdentityBytes();

    /**
     * <pre>
     *不同渠道的个性化数据
     * </pre>
     *
     * <code>bytes recharge_data = 5;</code>
     * @return The rechargeData.
     */
    com.google.protobuf.ByteString getRechargeData();
  }
  /**
   * Protobuf type {@code pb.RechargeOrderResponse}
   */
  public  static final class RechargeOrderResponse extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:pb.RechargeOrderResponse)
      RechargeOrderResponseOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use RechargeOrderResponse.newBuilder() to construct.
    private RechargeOrderResponse(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
      super(builder);
    }
    private RechargeOrderResponse() {
      orderId_ = "";
      extraInfo_ = "";
      channelIdentity_ = "";
      rechargeData_ = com.google.protobuf.ByteString.EMPTY;
    }

    @java.lang.Override
    @SuppressWarnings({"unused"})
    protected java.lang.Object newInstance(
        UnusedPrivateParameter unused) {
      return new RechargeOrderResponse();
    }

    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    private RechargeOrderResponse(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      this();
      if (extensionRegistry == null) {
        throw new java.lang.NullPointerException();
      }
      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            case 8: {

              productId_ = input.readInt32();
              break;
            }
            case 18: {
              java.lang.String s = input.readStringRequireUtf8();

              orderId_ = s;
              break;
            }
            case 26: {
              java.lang.String s = input.readStringRequireUtf8();

              extraInfo_ = s;
              break;
            }
            case 34: {
              java.lang.String s = input.readStringRequireUtf8();

              channelIdentity_ = s;
              break;
            }
            case 42: {

              rechargeData_ = input.readBytes();
              break;
            }
            default: {
              if (!parseUnknownField(
                  input, unknownFields, extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e).setUnfinishedMessage(this);
      } finally {
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return pb.xiugou.x1.protobuf.recharge.Recharge.internal_static_pb_RechargeOrderResponse_descriptor;
    }

    @java.lang.Override
    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return pb.xiugou.x1.protobuf.recharge.Recharge.internal_static_pb_RechargeOrderResponse_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              pb.xiugou.x1.protobuf.recharge.Recharge.RechargeOrderResponse.class, pb.xiugou.x1.protobuf.recharge.Recharge.RechargeOrderResponse.Builder.class);
    }

    /**
     * Protobuf enum {@code pb.RechargeOrderResponse.Proto}
     */
    public enum Proto
        implements com.google.protobuf.ProtocolMessageEnum {
      /**
       * <code>UNKNOWN = 0;</code>
       */
      UNKNOWN(0),
      /**
       * <code>ID = 1900002;</code>
       */
      ID(1900002),
      UNRECOGNIZED(-1),
      ;

      /**
       * <code>UNKNOWN = 0;</code>
       */
      public static final int UNKNOWN_VALUE = 0;
      /**
       * <code>ID = 1900002;</code>
       */
      public static final int ID_VALUE = 1900002;


      public final int getNumber() {
        if (this == UNRECOGNIZED) {
          throw new java.lang.IllegalArgumentException(
              "Can't get the number of an unknown enum value.");
        }
        return value;
      }

      /**
       * @param value The numeric wire value of the corresponding enum entry.
       * @return The enum associated with the given numeric wire value.
       * @deprecated Use {@link #forNumber(int)} instead.
       */
      @java.lang.Deprecated
      public static Proto valueOf(int value) {
        return forNumber(value);
      }

      /**
       * @param value The numeric wire value of the corresponding enum entry.
       * @return The enum associated with the given numeric wire value.
       */
      public static Proto forNumber(int value) {
        switch (value) {
          case 0: return UNKNOWN;
          case 1900002: return ID;
          default: return null;
        }
      }

      public static com.google.protobuf.Internal.EnumLiteMap<Proto>
          internalGetValueMap() {
        return internalValueMap;
      }
      private static final com.google.protobuf.Internal.EnumLiteMap<
          Proto> internalValueMap =
            new com.google.protobuf.Internal.EnumLiteMap<Proto>() {
              public Proto findValueByNumber(int number) {
                return Proto.forNumber(number);
              }
            };

      public final com.google.protobuf.Descriptors.EnumValueDescriptor
          getValueDescriptor() {
        return getDescriptor().getValues().get(ordinal());
      }
      public final com.google.protobuf.Descriptors.EnumDescriptor
          getDescriptorForType() {
        return getDescriptor();
      }
      public static final com.google.protobuf.Descriptors.EnumDescriptor
          getDescriptor() {
        return pb.xiugou.x1.protobuf.recharge.Recharge.RechargeOrderResponse.getDescriptor().getEnumTypes().get(0);
      }

      private static final Proto[] VALUES = values();

      public static Proto valueOf(
          com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
        if (desc.getType() != getDescriptor()) {
          throw new java.lang.IllegalArgumentException(
            "EnumValueDescriptor is not for this type.");
        }
        if (desc.getIndex() == -1) {
          return UNRECOGNIZED;
        }
        return VALUES[desc.getIndex()];
      }

      private final int value;

      private Proto(int value) {
        this.value = value;
      }

      // @@protoc_insertion_point(enum_scope:pb.RechargeOrderResponse.Proto)
    }

    public static final int PRODUCT_ID_FIELD_NUMBER = 1;
    private int productId_;
    /**
     * <pre>
     *充值商品ID
     * </pre>
     *
     * <code>int32 product_id = 1;</code>
     * @return The productId.
     */
    public int getProductId() {
      return productId_;
    }

    public static final int ORDER_ID_FIELD_NUMBER = 2;
    private volatile java.lang.Object orderId_;
    /**
     * <pre>
     *订单ID
     * </pre>
     *
     * <code>string order_id = 2;</code>
     * @return The orderId.
     */
    public java.lang.String getOrderId() {
      java.lang.Object ref = orderId_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        orderId_ = s;
        return s;
      }
    }
    /**
     * <pre>
     *订单ID
     * </pre>
     *
     * <code>string order_id = 2;</code>
     * @return The bytes for orderId.
     */
    public com.google.protobuf.ByteString
        getOrderIdBytes() {
      java.lang.Object ref = orderId_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        orderId_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int EXTRA_INFO_FIELD_NUMBER = 3;
    private volatile java.lang.Object extraInfo_;
    /**
     * <pre>
     *透传参数，传给SDK的参数
     * </pre>
     *
     * <code>string extra_info = 3;</code>
     * @return The extraInfo.
     */
    public java.lang.String getExtraInfo() {
      java.lang.Object ref = extraInfo_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        extraInfo_ = s;
        return s;
      }
    }
    /**
     * <pre>
     *透传参数，传给SDK的参数
     * </pre>
     *
     * <code>string extra_info = 3;</code>
     * @return The bytes for extraInfo.
     */
    public com.google.protobuf.ByteString
        getExtraInfoBytes() {
      java.lang.Object ref = extraInfo_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        extraInfo_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int CHANNEL_IDENTITY_FIELD_NUMBER = 4;
    private volatile java.lang.Object channelIdentity_;
    /**
     * <pre>
     *渠道标识，如37、
     * </pre>
     *
     * <code>string channel_identity = 4;</code>
     * @return The channelIdentity.
     */
    public java.lang.String getChannelIdentity() {
      java.lang.Object ref = channelIdentity_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        channelIdentity_ = s;
        return s;
      }
    }
    /**
     * <pre>
     *渠道标识，如37、
     * </pre>
     *
     * <code>string channel_identity = 4;</code>
     * @return The bytes for channelIdentity.
     */
    public com.google.protobuf.ByteString
        getChannelIdentityBytes() {
      java.lang.Object ref = channelIdentity_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        channelIdentity_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int RECHARGE_DATA_FIELD_NUMBER = 5;
    private com.google.protobuf.ByteString rechargeData_;
    /**
     * <pre>
     *不同渠道的个性化数据
     * </pre>
     *
     * <code>bytes recharge_data = 5;</code>
     * @return The rechargeData.
     */
    public com.google.protobuf.ByteString getRechargeData() {
      return rechargeData_;
    }

    private byte memoizedIsInitialized = -1;
    @java.lang.Override
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized == 1) return true;
      if (isInitialized == 0) return false;

      memoizedIsInitialized = 1;
      return true;
    }

    @java.lang.Override
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (productId_ != 0) {
        output.writeInt32(1, productId_);
      }
      if (!getOrderIdBytes().isEmpty()) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 2, orderId_);
      }
      if (!getExtraInfoBytes().isEmpty()) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 3, extraInfo_);
      }
      if (!getChannelIdentityBytes().isEmpty()) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 4, channelIdentity_);
      }
      if (!rechargeData_.isEmpty()) {
        output.writeBytes(5, rechargeData_);
      }
      unknownFields.writeTo(output);
    }

    @java.lang.Override
    public int getSerializedSize() {
      int size = memoizedSize;
      if (size != -1) return size;

      size = 0;
      if (productId_ != 0) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(1, productId_);
      }
      if (!getOrderIdBytes().isEmpty()) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, orderId_);
      }
      if (!getExtraInfoBytes().isEmpty()) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(3, extraInfo_);
      }
      if (!getChannelIdentityBytes().isEmpty()) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(4, channelIdentity_);
      }
      if (!rechargeData_.isEmpty()) {
        size += com.google.protobuf.CodedOutputStream
          .computeBytesSize(5, rechargeData_);
      }
      size += unknownFields.getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof pb.xiugou.x1.protobuf.recharge.Recharge.RechargeOrderResponse)) {
        return super.equals(obj);
      }
      pb.xiugou.x1.protobuf.recharge.Recharge.RechargeOrderResponse other = (pb.xiugou.x1.protobuf.recharge.Recharge.RechargeOrderResponse) obj;

      if (getProductId()
          != other.getProductId()) return false;
      if (!getOrderId()
          .equals(other.getOrderId())) return false;
      if (!getExtraInfo()
          .equals(other.getExtraInfo())) return false;
      if (!getChannelIdentity()
          .equals(other.getChannelIdentity())) return false;
      if (!getRechargeData()
          .equals(other.getRechargeData())) return false;
      if (!unknownFields.equals(other.unknownFields)) return false;
      return true;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      hash = (37 * hash) + PRODUCT_ID_FIELD_NUMBER;
      hash = (53 * hash) + getProductId();
      hash = (37 * hash) + ORDER_ID_FIELD_NUMBER;
      hash = (53 * hash) + getOrderId().hashCode();
      hash = (37 * hash) + EXTRA_INFO_FIELD_NUMBER;
      hash = (53 * hash) + getExtraInfo().hashCode();
      hash = (37 * hash) + CHANNEL_IDENTITY_FIELD_NUMBER;
      hash = (53 * hash) + getChannelIdentity().hashCode();
      hash = (37 * hash) + RECHARGE_DATA_FIELD_NUMBER;
      hash = (53 * hash) + getRechargeData().hashCode();
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static pb.xiugou.x1.protobuf.recharge.Recharge.RechargeOrderResponse parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static pb.xiugou.x1.protobuf.recharge.Recharge.RechargeOrderResponse parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static pb.xiugou.x1.protobuf.recharge.Recharge.RechargeOrderResponse parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static pb.xiugou.x1.protobuf.recharge.Recharge.RechargeOrderResponse parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static pb.xiugou.x1.protobuf.recharge.Recharge.RechargeOrderResponse parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static pb.xiugou.x1.protobuf.recharge.Recharge.RechargeOrderResponse parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static pb.xiugou.x1.protobuf.recharge.Recharge.RechargeOrderResponse parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static pb.xiugou.x1.protobuf.recharge.Recharge.RechargeOrderResponse parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }
    public static pb.xiugou.x1.protobuf.recharge.Recharge.RechargeOrderResponse parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }
    public static pb.xiugou.x1.protobuf.recharge.Recharge.RechargeOrderResponse parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
    }
    public static pb.xiugou.x1.protobuf.recharge.Recharge.RechargeOrderResponse parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static pb.xiugou.x1.protobuf.recharge.Recharge.RechargeOrderResponse parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    @java.lang.Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(pb.xiugou.x1.protobuf.recharge.Recharge.RechargeOrderResponse prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    @java.lang.Override
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code pb.RechargeOrderResponse}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:pb.RechargeOrderResponse)
        pb.xiugou.x1.protobuf.recharge.Recharge.RechargeOrderResponseOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return pb.xiugou.x1.protobuf.recharge.Recharge.internal_static_pb_RechargeOrderResponse_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return pb.xiugou.x1.protobuf.recharge.Recharge.internal_static_pb_RechargeOrderResponse_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                pb.xiugou.x1.protobuf.recharge.Recharge.RechargeOrderResponse.class, pb.xiugou.x1.protobuf.recharge.Recharge.RechargeOrderResponse.Builder.class);
      }

      // Construct using pb.xiugou.x1.protobuf.recharge.Recharge.RechargeOrderResponse.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessageV3
                .alwaysUseFieldBuilders) {
        }
      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        productId_ = 0;

        orderId_ = "";

        extraInfo_ = "";

        channelIdentity_ = "";

        rechargeData_ = com.google.protobuf.ByteString.EMPTY;

        return this;
      }

      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return pb.xiugou.x1.protobuf.recharge.Recharge.internal_static_pb_RechargeOrderResponse_descriptor;
      }

      @java.lang.Override
      public pb.xiugou.x1.protobuf.recharge.Recharge.RechargeOrderResponse getDefaultInstanceForType() {
        return pb.xiugou.x1.protobuf.recharge.Recharge.RechargeOrderResponse.getDefaultInstance();
      }

      @java.lang.Override
      public pb.xiugou.x1.protobuf.recharge.Recharge.RechargeOrderResponse build() {
        pb.xiugou.x1.protobuf.recharge.Recharge.RechargeOrderResponse result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public pb.xiugou.x1.protobuf.recharge.Recharge.RechargeOrderResponse buildPartial() {
        pb.xiugou.x1.protobuf.recharge.Recharge.RechargeOrderResponse result = new pb.xiugou.x1.protobuf.recharge.Recharge.RechargeOrderResponse(this);
        result.productId_ = productId_;
        result.orderId_ = orderId_;
        result.extraInfo_ = extraInfo_;
        result.channelIdentity_ = channelIdentity_;
        result.rechargeData_ = rechargeData_;
        onBuilt();
        return result;
      }

      @java.lang.Override
      public Builder clone() {
        return super.clone();
      }
      @java.lang.Override
      public Builder setField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.setField(field, value);
      }
      @java.lang.Override
      public Builder clearField(
          com.google.protobuf.Descriptors.FieldDescriptor field) {
        return super.clearField(field);
      }
      @java.lang.Override
      public Builder clearOneof(
          com.google.protobuf.Descriptors.OneofDescriptor oneof) {
        return super.clearOneof(oneof);
      }
      @java.lang.Override
      public Builder setRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          int index, java.lang.Object value) {
        return super.setRepeatedField(field, index, value);
      }
      @java.lang.Override
      public Builder addRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.addRepeatedField(field, value);
      }
      @java.lang.Override
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof pb.xiugou.x1.protobuf.recharge.Recharge.RechargeOrderResponse) {
          return mergeFrom((pb.xiugou.x1.protobuf.recharge.Recharge.RechargeOrderResponse)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(pb.xiugou.x1.protobuf.recharge.Recharge.RechargeOrderResponse other) {
        if (other == pb.xiugou.x1.protobuf.recharge.Recharge.RechargeOrderResponse.getDefaultInstance()) return this;
        if (other.getProductId() != 0) {
          setProductId(other.getProductId());
        }
        if (!other.getOrderId().isEmpty()) {
          orderId_ = other.orderId_;
          onChanged();
        }
        if (!other.getExtraInfo().isEmpty()) {
          extraInfo_ = other.extraInfo_;
          onChanged();
        }
        if (!other.getChannelIdentity().isEmpty()) {
          channelIdentity_ = other.channelIdentity_;
          onChanged();
        }
        if (other.getRechargeData() != com.google.protobuf.ByteString.EMPTY) {
          setRechargeData(other.getRechargeData());
        }
        this.mergeUnknownFields(other.unknownFields);
        onChanged();
        return this;
      }

      @java.lang.Override
      public final boolean isInitialized() {
        return true;
      }

      @java.lang.Override
      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        pb.xiugou.x1.protobuf.recharge.Recharge.RechargeOrderResponse parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (pb.xiugou.x1.protobuf.recharge.Recharge.RechargeOrderResponse) e.getUnfinishedMessage();
          throw e.unwrapIOException();
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }

      private int productId_ ;
      /**
       * <pre>
       *充值商品ID
       * </pre>
       *
       * <code>int32 product_id = 1;</code>
       * @return The productId.
       */
      public int getProductId() {
        return productId_;
      }
      /**
       * <pre>
       *充值商品ID
       * </pre>
       *
       * <code>int32 product_id = 1;</code>
       * @param value The productId to set.
       * @return This builder for chaining.
       */
      public Builder setProductId(int value) {
        
        productId_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *充值商品ID
       * </pre>
       *
       * <code>int32 product_id = 1;</code>
       * @return This builder for chaining.
       */
      public Builder clearProductId() {
        
        productId_ = 0;
        onChanged();
        return this;
      }

      private java.lang.Object orderId_ = "";
      /**
       * <pre>
       *订单ID
       * </pre>
       *
       * <code>string order_id = 2;</code>
       * @return The orderId.
       */
      public java.lang.String getOrderId() {
        java.lang.Object ref = orderId_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          orderId_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <pre>
       *订单ID
       * </pre>
       *
       * <code>string order_id = 2;</code>
       * @return The bytes for orderId.
       */
      public com.google.protobuf.ByteString
          getOrderIdBytes() {
        java.lang.Object ref = orderId_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          orderId_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <pre>
       *订单ID
       * </pre>
       *
       * <code>string order_id = 2;</code>
       * @param value The orderId to set.
       * @return This builder for chaining.
       */
      public Builder setOrderId(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        orderId_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *订单ID
       * </pre>
       *
       * <code>string order_id = 2;</code>
       * @return This builder for chaining.
       */
      public Builder clearOrderId() {
        
        orderId_ = getDefaultInstance().getOrderId();
        onChanged();
        return this;
      }
      /**
       * <pre>
       *订单ID
       * </pre>
       *
       * <code>string order_id = 2;</code>
       * @param value The bytes for orderId to set.
       * @return This builder for chaining.
       */
      public Builder setOrderIdBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        
        orderId_ = value;
        onChanged();
        return this;
      }

      private java.lang.Object extraInfo_ = "";
      /**
       * <pre>
       *透传参数，传给SDK的参数
       * </pre>
       *
       * <code>string extra_info = 3;</code>
       * @return The extraInfo.
       */
      public java.lang.String getExtraInfo() {
        java.lang.Object ref = extraInfo_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          extraInfo_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <pre>
       *透传参数，传给SDK的参数
       * </pre>
       *
       * <code>string extra_info = 3;</code>
       * @return The bytes for extraInfo.
       */
      public com.google.protobuf.ByteString
          getExtraInfoBytes() {
        java.lang.Object ref = extraInfo_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          extraInfo_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <pre>
       *透传参数，传给SDK的参数
       * </pre>
       *
       * <code>string extra_info = 3;</code>
       * @param value The extraInfo to set.
       * @return This builder for chaining.
       */
      public Builder setExtraInfo(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        extraInfo_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *透传参数，传给SDK的参数
       * </pre>
       *
       * <code>string extra_info = 3;</code>
       * @return This builder for chaining.
       */
      public Builder clearExtraInfo() {
        
        extraInfo_ = getDefaultInstance().getExtraInfo();
        onChanged();
        return this;
      }
      /**
       * <pre>
       *透传参数，传给SDK的参数
       * </pre>
       *
       * <code>string extra_info = 3;</code>
       * @param value The bytes for extraInfo to set.
       * @return This builder for chaining.
       */
      public Builder setExtraInfoBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        
        extraInfo_ = value;
        onChanged();
        return this;
      }

      private java.lang.Object channelIdentity_ = "";
      /**
       * <pre>
       *渠道标识，如37、
       * </pre>
       *
       * <code>string channel_identity = 4;</code>
       * @return The channelIdentity.
       */
      public java.lang.String getChannelIdentity() {
        java.lang.Object ref = channelIdentity_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          channelIdentity_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <pre>
       *渠道标识，如37、
       * </pre>
       *
       * <code>string channel_identity = 4;</code>
       * @return The bytes for channelIdentity.
       */
      public com.google.protobuf.ByteString
          getChannelIdentityBytes() {
        java.lang.Object ref = channelIdentity_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          channelIdentity_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <pre>
       *渠道标识，如37、
       * </pre>
       *
       * <code>string channel_identity = 4;</code>
       * @param value The channelIdentity to set.
       * @return This builder for chaining.
       */
      public Builder setChannelIdentity(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        channelIdentity_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *渠道标识，如37、
       * </pre>
       *
       * <code>string channel_identity = 4;</code>
       * @return This builder for chaining.
       */
      public Builder clearChannelIdentity() {
        
        channelIdentity_ = getDefaultInstance().getChannelIdentity();
        onChanged();
        return this;
      }
      /**
       * <pre>
       *渠道标识，如37、
       * </pre>
       *
       * <code>string channel_identity = 4;</code>
       * @param value The bytes for channelIdentity to set.
       * @return This builder for chaining.
       */
      public Builder setChannelIdentityBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        
        channelIdentity_ = value;
        onChanged();
        return this;
      }

      private com.google.protobuf.ByteString rechargeData_ = com.google.protobuf.ByteString.EMPTY;
      /**
       * <pre>
       *不同渠道的个性化数据
       * </pre>
       *
       * <code>bytes recharge_data = 5;</code>
       * @return The rechargeData.
       */
      public com.google.protobuf.ByteString getRechargeData() {
        return rechargeData_;
      }
      /**
       * <pre>
       *不同渠道的个性化数据
       * </pre>
       *
       * <code>bytes recharge_data = 5;</code>
       * @param value The rechargeData to set.
       * @return This builder for chaining.
       */
      public Builder setRechargeData(com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        rechargeData_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *不同渠道的个性化数据
       * </pre>
       *
       * <code>bytes recharge_data = 5;</code>
       * @return This builder for chaining.
       */
      public Builder clearRechargeData() {
        
        rechargeData_ = getDefaultInstance().getRechargeData();
        onChanged();
        return this;
      }
      @java.lang.Override
      public final Builder setUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.setUnknownFields(unknownFields);
      }

      @java.lang.Override
      public final Builder mergeUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.mergeUnknownFields(unknownFields);
      }


      // @@protoc_insertion_point(builder_scope:pb.RechargeOrderResponse)
    }

    // @@protoc_insertion_point(class_scope:pb.RechargeOrderResponse)
    private static final pb.xiugou.x1.protobuf.recharge.Recharge.RechargeOrderResponse DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new pb.xiugou.x1.protobuf.recharge.Recharge.RechargeOrderResponse();
    }

    public static pb.xiugou.x1.protobuf.recharge.Recharge.RechargeOrderResponse getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static final com.google.protobuf.Parser<RechargeOrderResponse>
        PARSER = new com.google.protobuf.AbstractParser<RechargeOrderResponse>() {
      @java.lang.Override
      public RechargeOrderResponse parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new RechargeOrderResponse(input, extensionRegistry);
      }
    };

    public static com.google.protobuf.Parser<RechargeOrderResponse> parser() {
      return PARSER;
    }

    @java.lang.Override
    public com.google.protobuf.Parser<RechargeOrderResponse> getParserForType() {
      return PARSER;
    }

    @java.lang.Override
    public pb.xiugou.x1.protobuf.recharge.Recharge.RechargeOrderResponse getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface RechargeVoucherOrderRequestOrBuilder extends
      // @@protoc_insertion_point(interface_extends:pb.RechargeVoucherOrderRequest)
      com.google.protobuf.MessageOrBuilder {

    /**
     * <pre>
     *充值商品ID
     * </pre>
     *
     * <code>int32 product_id = 1;</code>
     * @return The productId.
     */
    int getProductId();

    /**
     * <pre>
     *杂七杂八的参数，根据不同商品传不同的值，传json格式字符串
     * </pre>
     *
     * <code>string product_data = 2;</code>
     * @return The productData.
     */
    java.lang.String getProductData();
    /**
     * <pre>
     *杂七杂八的参数，根据不同商品传不同的值，传json格式字符串
     * </pre>
     *
     * <code>string product_data = 2;</code>
     * @return The bytes for productData.
     */
    com.google.protobuf.ByteString
        getProductDataBytes();
  }
  /**
   * <pre>
   *代金券购买商品
   * </pre>
   *
   * Protobuf type {@code pb.RechargeVoucherOrderRequest}
   */
  public  static final class RechargeVoucherOrderRequest extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:pb.RechargeVoucherOrderRequest)
      RechargeVoucherOrderRequestOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use RechargeVoucherOrderRequest.newBuilder() to construct.
    private RechargeVoucherOrderRequest(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
      super(builder);
    }
    private RechargeVoucherOrderRequest() {
      productData_ = "";
    }

    @java.lang.Override
    @SuppressWarnings({"unused"})
    protected java.lang.Object newInstance(
        UnusedPrivateParameter unused) {
      return new RechargeVoucherOrderRequest();
    }

    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    private RechargeVoucherOrderRequest(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      this();
      if (extensionRegistry == null) {
        throw new java.lang.NullPointerException();
      }
      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            case 8: {

              productId_ = input.readInt32();
              break;
            }
            case 18: {
              java.lang.String s = input.readStringRequireUtf8();

              productData_ = s;
              break;
            }
            default: {
              if (!parseUnknownField(
                  input, unknownFields, extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e).setUnfinishedMessage(this);
      } finally {
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return pb.xiugou.x1.protobuf.recharge.Recharge.internal_static_pb_RechargeVoucherOrderRequest_descriptor;
    }

    @java.lang.Override
    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return pb.xiugou.x1.protobuf.recharge.Recharge.internal_static_pb_RechargeVoucherOrderRequest_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              pb.xiugou.x1.protobuf.recharge.Recharge.RechargeVoucherOrderRequest.class, pb.xiugou.x1.protobuf.recharge.Recharge.RechargeVoucherOrderRequest.Builder.class);
    }

    /**
     * Protobuf enum {@code pb.RechargeVoucherOrderRequest.Proto}
     */
    public enum Proto
        implements com.google.protobuf.ProtocolMessageEnum {
      /**
       * <code>UNKNOWN = 0;</code>
       */
      UNKNOWN(0),
      /**
       * <code>ID = 1900003;</code>
       */
      ID(1900003),
      UNRECOGNIZED(-1),
      ;

      /**
       * <code>UNKNOWN = 0;</code>
       */
      public static final int UNKNOWN_VALUE = 0;
      /**
       * <code>ID = 1900003;</code>
       */
      public static final int ID_VALUE = 1900003;


      public final int getNumber() {
        if (this == UNRECOGNIZED) {
          throw new java.lang.IllegalArgumentException(
              "Can't get the number of an unknown enum value.");
        }
        return value;
      }

      /**
       * @param value The numeric wire value of the corresponding enum entry.
       * @return The enum associated with the given numeric wire value.
       * @deprecated Use {@link #forNumber(int)} instead.
       */
      @java.lang.Deprecated
      public static Proto valueOf(int value) {
        return forNumber(value);
      }

      /**
       * @param value The numeric wire value of the corresponding enum entry.
       * @return The enum associated with the given numeric wire value.
       */
      public static Proto forNumber(int value) {
        switch (value) {
          case 0: return UNKNOWN;
          case 1900003: return ID;
          default: return null;
        }
      }

      public static com.google.protobuf.Internal.EnumLiteMap<Proto>
          internalGetValueMap() {
        return internalValueMap;
      }
      private static final com.google.protobuf.Internal.EnumLiteMap<
          Proto> internalValueMap =
            new com.google.protobuf.Internal.EnumLiteMap<Proto>() {
              public Proto findValueByNumber(int number) {
                return Proto.forNumber(number);
              }
            };

      public final com.google.protobuf.Descriptors.EnumValueDescriptor
          getValueDescriptor() {
        return getDescriptor().getValues().get(ordinal());
      }
      public final com.google.protobuf.Descriptors.EnumDescriptor
          getDescriptorForType() {
        return getDescriptor();
      }
      public static final com.google.protobuf.Descriptors.EnumDescriptor
          getDescriptor() {
        return pb.xiugou.x1.protobuf.recharge.Recharge.RechargeVoucherOrderRequest.getDescriptor().getEnumTypes().get(0);
      }

      private static final Proto[] VALUES = values();

      public static Proto valueOf(
          com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
        if (desc.getType() != getDescriptor()) {
          throw new java.lang.IllegalArgumentException(
            "EnumValueDescriptor is not for this type.");
        }
        if (desc.getIndex() == -1) {
          return UNRECOGNIZED;
        }
        return VALUES[desc.getIndex()];
      }

      private final int value;

      private Proto(int value) {
        this.value = value;
      }

      // @@protoc_insertion_point(enum_scope:pb.RechargeVoucherOrderRequest.Proto)
    }

    public static final int PRODUCT_ID_FIELD_NUMBER = 1;
    private int productId_;
    /**
     * <pre>
     *充值商品ID
     * </pre>
     *
     * <code>int32 product_id = 1;</code>
     * @return The productId.
     */
    public int getProductId() {
      return productId_;
    }

    public static final int PRODUCT_DATA_FIELD_NUMBER = 2;
    private volatile java.lang.Object productData_;
    /**
     * <pre>
     *杂七杂八的参数，根据不同商品传不同的值，传json格式字符串
     * </pre>
     *
     * <code>string product_data = 2;</code>
     * @return The productData.
     */
    public java.lang.String getProductData() {
      java.lang.Object ref = productData_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        productData_ = s;
        return s;
      }
    }
    /**
     * <pre>
     *杂七杂八的参数，根据不同商品传不同的值，传json格式字符串
     * </pre>
     *
     * <code>string product_data = 2;</code>
     * @return The bytes for productData.
     */
    public com.google.protobuf.ByteString
        getProductDataBytes() {
      java.lang.Object ref = productData_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        productData_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    private byte memoizedIsInitialized = -1;
    @java.lang.Override
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized == 1) return true;
      if (isInitialized == 0) return false;

      memoizedIsInitialized = 1;
      return true;
    }

    @java.lang.Override
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (productId_ != 0) {
        output.writeInt32(1, productId_);
      }
      if (!getProductDataBytes().isEmpty()) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 2, productData_);
      }
      unknownFields.writeTo(output);
    }

    @java.lang.Override
    public int getSerializedSize() {
      int size = memoizedSize;
      if (size != -1) return size;

      size = 0;
      if (productId_ != 0) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(1, productId_);
      }
      if (!getProductDataBytes().isEmpty()) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, productData_);
      }
      size += unknownFields.getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof pb.xiugou.x1.protobuf.recharge.Recharge.RechargeVoucherOrderRequest)) {
        return super.equals(obj);
      }
      pb.xiugou.x1.protobuf.recharge.Recharge.RechargeVoucherOrderRequest other = (pb.xiugou.x1.protobuf.recharge.Recharge.RechargeVoucherOrderRequest) obj;

      if (getProductId()
          != other.getProductId()) return false;
      if (!getProductData()
          .equals(other.getProductData())) return false;
      if (!unknownFields.equals(other.unknownFields)) return false;
      return true;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      hash = (37 * hash) + PRODUCT_ID_FIELD_NUMBER;
      hash = (53 * hash) + getProductId();
      hash = (37 * hash) + PRODUCT_DATA_FIELD_NUMBER;
      hash = (53 * hash) + getProductData().hashCode();
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static pb.xiugou.x1.protobuf.recharge.Recharge.RechargeVoucherOrderRequest parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static pb.xiugou.x1.protobuf.recharge.Recharge.RechargeVoucherOrderRequest parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static pb.xiugou.x1.protobuf.recharge.Recharge.RechargeVoucherOrderRequest parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static pb.xiugou.x1.protobuf.recharge.Recharge.RechargeVoucherOrderRequest parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static pb.xiugou.x1.protobuf.recharge.Recharge.RechargeVoucherOrderRequest parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static pb.xiugou.x1.protobuf.recharge.Recharge.RechargeVoucherOrderRequest parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static pb.xiugou.x1.protobuf.recharge.Recharge.RechargeVoucherOrderRequest parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static pb.xiugou.x1.protobuf.recharge.Recharge.RechargeVoucherOrderRequest parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }
    public static pb.xiugou.x1.protobuf.recharge.Recharge.RechargeVoucherOrderRequest parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }
    public static pb.xiugou.x1.protobuf.recharge.Recharge.RechargeVoucherOrderRequest parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
    }
    public static pb.xiugou.x1.protobuf.recharge.Recharge.RechargeVoucherOrderRequest parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static pb.xiugou.x1.protobuf.recharge.Recharge.RechargeVoucherOrderRequest parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    @java.lang.Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(pb.xiugou.x1.protobuf.recharge.Recharge.RechargeVoucherOrderRequest prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    @java.lang.Override
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * <pre>
     *代金券购买商品
     * </pre>
     *
     * Protobuf type {@code pb.RechargeVoucherOrderRequest}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:pb.RechargeVoucherOrderRequest)
        pb.xiugou.x1.protobuf.recharge.Recharge.RechargeVoucherOrderRequestOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return pb.xiugou.x1.protobuf.recharge.Recharge.internal_static_pb_RechargeVoucherOrderRequest_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return pb.xiugou.x1.protobuf.recharge.Recharge.internal_static_pb_RechargeVoucherOrderRequest_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                pb.xiugou.x1.protobuf.recharge.Recharge.RechargeVoucherOrderRequest.class, pb.xiugou.x1.protobuf.recharge.Recharge.RechargeVoucherOrderRequest.Builder.class);
      }

      // Construct using pb.xiugou.x1.protobuf.recharge.Recharge.RechargeVoucherOrderRequest.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessageV3
                .alwaysUseFieldBuilders) {
        }
      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        productId_ = 0;

        productData_ = "";

        return this;
      }

      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return pb.xiugou.x1.protobuf.recharge.Recharge.internal_static_pb_RechargeVoucherOrderRequest_descriptor;
      }

      @java.lang.Override
      public pb.xiugou.x1.protobuf.recharge.Recharge.RechargeVoucherOrderRequest getDefaultInstanceForType() {
        return pb.xiugou.x1.protobuf.recharge.Recharge.RechargeVoucherOrderRequest.getDefaultInstance();
      }

      @java.lang.Override
      public pb.xiugou.x1.protobuf.recharge.Recharge.RechargeVoucherOrderRequest build() {
        pb.xiugou.x1.protobuf.recharge.Recharge.RechargeVoucherOrderRequest result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public pb.xiugou.x1.protobuf.recharge.Recharge.RechargeVoucherOrderRequest buildPartial() {
        pb.xiugou.x1.protobuf.recharge.Recharge.RechargeVoucherOrderRequest result = new pb.xiugou.x1.protobuf.recharge.Recharge.RechargeVoucherOrderRequest(this);
        result.productId_ = productId_;
        result.productData_ = productData_;
        onBuilt();
        return result;
      }

      @java.lang.Override
      public Builder clone() {
        return super.clone();
      }
      @java.lang.Override
      public Builder setField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.setField(field, value);
      }
      @java.lang.Override
      public Builder clearField(
          com.google.protobuf.Descriptors.FieldDescriptor field) {
        return super.clearField(field);
      }
      @java.lang.Override
      public Builder clearOneof(
          com.google.protobuf.Descriptors.OneofDescriptor oneof) {
        return super.clearOneof(oneof);
      }
      @java.lang.Override
      public Builder setRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          int index, java.lang.Object value) {
        return super.setRepeatedField(field, index, value);
      }
      @java.lang.Override
      public Builder addRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.addRepeatedField(field, value);
      }
      @java.lang.Override
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof pb.xiugou.x1.protobuf.recharge.Recharge.RechargeVoucherOrderRequest) {
          return mergeFrom((pb.xiugou.x1.protobuf.recharge.Recharge.RechargeVoucherOrderRequest)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(pb.xiugou.x1.protobuf.recharge.Recharge.RechargeVoucherOrderRequest other) {
        if (other == pb.xiugou.x1.protobuf.recharge.Recharge.RechargeVoucherOrderRequest.getDefaultInstance()) return this;
        if (other.getProductId() != 0) {
          setProductId(other.getProductId());
        }
        if (!other.getProductData().isEmpty()) {
          productData_ = other.productData_;
          onChanged();
        }
        this.mergeUnknownFields(other.unknownFields);
        onChanged();
        return this;
      }

      @java.lang.Override
      public final boolean isInitialized() {
        return true;
      }

      @java.lang.Override
      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        pb.xiugou.x1.protobuf.recharge.Recharge.RechargeVoucherOrderRequest parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (pb.xiugou.x1.protobuf.recharge.Recharge.RechargeVoucherOrderRequest) e.getUnfinishedMessage();
          throw e.unwrapIOException();
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }

      private int productId_ ;
      /**
       * <pre>
       *充值商品ID
       * </pre>
       *
       * <code>int32 product_id = 1;</code>
       * @return The productId.
       */
      public int getProductId() {
        return productId_;
      }
      /**
       * <pre>
       *充值商品ID
       * </pre>
       *
       * <code>int32 product_id = 1;</code>
       * @param value The productId to set.
       * @return This builder for chaining.
       */
      public Builder setProductId(int value) {
        
        productId_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *充值商品ID
       * </pre>
       *
       * <code>int32 product_id = 1;</code>
       * @return This builder for chaining.
       */
      public Builder clearProductId() {
        
        productId_ = 0;
        onChanged();
        return this;
      }

      private java.lang.Object productData_ = "";
      /**
       * <pre>
       *杂七杂八的参数，根据不同商品传不同的值，传json格式字符串
       * </pre>
       *
       * <code>string product_data = 2;</code>
       * @return The productData.
       */
      public java.lang.String getProductData() {
        java.lang.Object ref = productData_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          productData_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <pre>
       *杂七杂八的参数，根据不同商品传不同的值，传json格式字符串
       * </pre>
       *
       * <code>string product_data = 2;</code>
       * @return The bytes for productData.
       */
      public com.google.protobuf.ByteString
          getProductDataBytes() {
        java.lang.Object ref = productData_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          productData_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <pre>
       *杂七杂八的参数，根据不同商品传不同的值，传json格式字符串
       * </pre>
       *
       * <code>string product_data = 2;</code>
       * @param value The productData to set.
       * @return This builder for chaining.
       */
      public Builder setProductData(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        productData_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *杂七杂八的参数，根据不同商品传不同的值，传json格式字符串
       * </pre>
       *
       * <code>string product_data = 2;</code>
       * @return This builder for chaining.
       */
      public Builder clearProductData() {
        
        productData_ = getDefaultInstance().getProductData();
        onChanged();
        return this;
      }
      /**
       * <pre>
       *杂七杂八的参数，根据不同商品传不同的值，传json格式字符串
       * </pre>
       *
       * <code>string product_data = 2;</code>
       * @param value The bytes for productData to set.
       * @return This builder for chaining.
       */
      public Builder setProductDataBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        
        productData_ = value;
        onChanged();
        return this;
      }
      @java.lang.Override
      public final Builder setUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.setUnknownFields(unknownFields);
      }

      @java.lang.Override
      public final Builder mergeUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.mergeUnknownFields(unknownFields);
      }


      // @@protoc_insertion_point(builder_scope:pb.RechargeVoucherOrderRequest)
    }

    // @@protoc_insertion_point(class_scope:pb.RechargeVoucherOrderRequest)
    private static final pb.xiugou.x1.protobuf.recharge.Recharge.RechargeVoucherOrderRequest DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new pb.xiugou.x1.protobuf.recharge.Recharge.RechargeVoucherOrderRequest();
    }

    public static pb.xiugou.x1.protobuf.recharge.Recharge.RechargeVoucherOrderRequest getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static final com.google.protobuf.Parser<RechargeVoucherOrderRequest>
        PARSER = new com.google.protobuf.AbstractParser<RechargeVoucherOrderRequest>() {
      @java.lang.Override
      public RechargeVoucherOrderRequest parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new RechargeVoucherOrderRequest(input, extensionRegistry);
      }
    };

    public static com.google.protobuf.Parser<RechargeVoucherOrderRequest> parser() {
      return PARSER;
    }

    @java.lang.Override
    public com.google.protobuf.Parser<RechargeVoucherOrderRequest> getParserForType() {
      return PARSER;
    }

    @java.lang.Override
    public pb.xiugou.x1.protobuf.recharge.Recharge.RechargeVoucherOrderRequest getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface RechargeVoucherOrderResponseOrBuilder extends
      // @@protoc_insertion_point(interface_extends:pb.RechargeVoucherOrderResponse)
      com.google.protobuf.MessageOrBuilder {
  }
  /**
   * Protobuf type {@code pb.RechargeVoucherOrderResponse}
   */
  public  static final class RechargeVoucherOrderResponse extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:pb.RechargeVoucherOrderResponse)
      RechargeVoucherOrderResponseOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use RechargeVoucherOrderResponse.newBuilder() to construct.
    private RechargeVoucherOrderResponse(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
      super(builder);
    }
    private RechargeVoucherOrderResponse() {
    }

    @java.lang.Override
    @SuppressWarnings({"unused"})
    protected java.lang.Object newInstance(
        UnusedPrivateParameter unused) {
      return new RechargeVoucherOrderResponse();
    }

    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    private RechargeVoucherOrderResponse(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      this();
      if (extensionRegistry == null) {
        throw new java.lang.NullPointerException();
      }
      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            default: {
              if (!parseUnknownField(
                  input, unknownFields, extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e).setUnfinishedMessage(this);
      } finally {
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return pb.xiugou.x1.protobuf.recharge.Recharge.internal_static_pb_RechargeVoucherOrderResponse_descriptor;
    }

    @java.lang.Override
    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return pb.xiugou.x1.protobuf.recharge.Recharge.internal_static_pb_RechargeVoucherOrderResponse_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              pb.xiugou.x1.protobuf.recharge.Recharge.RechargeVoucherOrderResponse.class, pb.xiugou.x1.protobuf.recharge.Recharge.RechargeVoucherOrderResponse.Builder.class);
    }

    /**
     * Protobuf enum {@code pb.RechargeVoucherOrderResponse.Proto}
     */
    public enum Proto
        implements com.google.protobuf.ProtocolMessageEnum {
      /**
       * <code>UNKNOWN = 0;</code>
       */
      UNKNOWN(0),
      /**
       * <code>ID = 1900003;</code>
       */
      ID(1900003),
      UNRECOGNIZED(-1),
      ;

      /**
       * <code>UNKNOWN = 0;</code>
       */
      public static final int UNKNOWN_VALUE = 0;
      /**
       * <code>ID = 1900003;</code>
       */
      public static final int ID_VALUE = 1900003;


      public final int getNumber() {
        if (this == UNRECOGNIZED) {
          throw new java.lang.IllegalArgumentException(
              "Can't get the number of an unknown enum value.");
        }
        return value;
      }

      /**
       * @param value The numeric wire value of the corresponding enum entry.
       * @return The enum associated with the given numeric wire value.
       * @deprecated Use {@link #forNumber(int)} instead.
       */
      @java.lang.Deprecated
      public static Proto valueOf(int value) {
        return forNumber(value);
      }

      /**
       * @param value The numeric wire value of the corresponding enum entry.
       * @return The enum associated with the given numeric wire value.
       */
      public static Proto forNumber(int value) {
        switch (value) {
          case 0: return UNKNOWN;
          case 1900003: return ID;
          default: return null;
        }
      }

      public static com.google.protobuf.Internal.EnumLiteMap<Proto>
          internalGetValueMap() {
        return internalValueMap;
      }
      private static final com.google.protobuf.Internal.EnumLiteMap<
          Proto> internalValueMap =
            new com.google.protobuf.Internal.EnumLiteMap<Proto>() {
              public Proto findValueByNumber(int number) {
                return Proto.forNumber(number);
              }
            };

      public final com.google.protobuf.Descriptors.EnumValueDescriptor
          getValueDescriptor() {
        return getDescriptor().getValues().get(ordinal());
      }
      public final com.google.protobuf.Descriptors.EnumDescriptor
          getDescriptorForType() {
        return getDescriptor();
      }
      public static final com.google.protobuf.Descriptors.EnumDescriptor
          getDescriptor() {
        return pb.xiugou.x1.protobuf.recharge.Recharge.RechargeVoucherOrderResponse.getDescriptor().getEnumTypes().get(0);
      }

      private static final Proto[] VALUES = values();

      public static Proto valueOf(
          com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
        if (desc.getType() != getDescriptor()) {
          throw new java.lang.IllegalArgumentException(
            "EnumValueDescriptor is not for this type.");
        }
        if (desc.getIndex() == -1) {
          return UNRECOGNIZED;
        }
        return VALUES[desc.getIndex()];
      }

      private final int value;

      private Proto(int value) {
        this.value = value;
      }

      // @@protoc_insertion_point(enum_scope:pb.RechargeVoucherOrderResponse.Proto)
    }

    private byte memoizedIsInitialized = -1;
    @java.lang.Override
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized == 1) return true;
      if (isInitialized == 0) return false;

      memoizedIsInitialized = 1;
      return true;
    }

    @java.lang.Override
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      unknownFields.writeTo(output);
    }

    @java.lang.Override
    public int getSerializedSize() {
      int size = memoizedSize;
      if (size != -1) return size;

      size = 0;
      size += unknownFields.getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof pb.xiugou.x1.protobuf.recharge.Recharge.RechargeVoucherOrderResponse)) {
        return super.equals(obj);
      }
      pb.xiugou.x1.protobuf.recharge.Recharge.RechargeVoucherOrderResponse other = (pb.xiugou.x1.protobuf.recharge.Recharge.RechargeVoucherOrderResponse) obj;

      if (!unknownFields.equals(other.unknownFields)) return false;
      return true;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static pb.xiugou.x1.protobuf.recharge.Recharge.RechargeVoucherOrderResponse parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static pb.xiugou.x1.protobuf.recharge.Recharge.RechargeVoucherOrderResponse parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static pb.xiugou.x1.protobuf.recharge.Recharge.RechargeVoucherOrderResponse parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static pb.xiugou.x1.protobuf.recharge.Recharge.RechargeVoucherOrderResponse parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static pb.xiugou.x1.protobuf.recharge.Recharge.RechargeVoucherOrderResponse parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static pb.xiugou.x1.protobuf.recharge.Recharge.RechargeVoucherOrderResponse parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static pb.xiugou.x1.protobuf.recharge.Recharge.RechargeVoucherOrderResponse parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static pb.xiugou.x1.protobuf.recharge.Recharge.RechargeVoucherOrderResponse parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }
    public static pb.xiugou.x1.protobuf.recharge.Recharge.RechargeVoucherOrderResponse parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }
    public static pb.xiugou.x1.protobuf.recharge.Recharge.RechargeVoucherOrderResponse parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
    }
    public static pb.xiugou.x1.protobuf.recharge.Recharge.RechargeVoucherOrderResponse parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static pb.xiugou.x1.protobuf.recharge.Recharge.RechargeVoucherOrderResponse parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    @java.lang.Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(pb.xiugou.x1.protobuf.recharge.Recharge.RechargeVoucherOrderResponse prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    @java.lang.Override
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code pb.RechargeVoucherOrderResponse}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:pb.RechargeVoucherOrderResponse)
        pb.xiugou.x1.protobuf.recharge.Recharge.RechargeVoucherOrderResponseOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return pb.xiugou.x1.protobuf.recharge.Recharge.internal_static_pb_RechargeVoucherOrderResponse_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return pb.xiugou.x1.protobuf.recharge.Recharge.internal_static_pb_RechargeVoucherOrderResponse_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                pb.xiugou.x1.protobuf.recharge.Recharge.RechargeVoucherOrderResponse.class, pb.xiugou.x1.protobuf.recharge.Recharge.RechargeVoucherOrderResponse.Builder.class);
      }

      // Construct using pb.xiugou.x1.protobuf.recharge.Recharge.RechargeVoucherOrderResponse.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessageV3
                .alwaysUseFieldBuilders) {
        }
      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        return this;
      }

      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return pb.xiugou.x1.protobuf.recharge.Recharge.internal_static_pb_RechargeVoucherOrderResponse_descriptor;
      }

      @java.lang.Override
      public pb.xiugou.x1.protobuf.recharge.Recharge.RechargeVoucherOrderResponse getDefaultInstanceForType() {
        return pb.xiugou.x1.protobuf.recharge.Recharge.RechargeVoucherOrderResponse.getDefaultInstance();
      }

      @java.lang.Override
      public pb.xiugou.x1.protobuf.recharge.Recharge.RechargeVoucherOrderResponse build() {
        pb.xiugou.x1.protobuf.recharge.Recharge.RechargeVoucherOrderResponse result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public pb.xiugou.x1.protobuf.recharge.Recharge.RechargeVoucherOrderResponse buildPartial() {
        pb.xiugou.x1.protobuf.recharge.Recharge.RechargeVoucherOrderResponse result = new pb.xiugou.x1.protobuf.recharge.Recharge.RechargeVoucherOrderResponse(this);
        onBuilt();
        return result;
      }

      @java.lang.Override
      public Builder clone() {
        return super.clone();
      }
      @java.lang.Override
      public Builder setField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.setField(field, value);
      }
      @java.lang.Override
      public Builder clearField(
          com.google.protobuf.Descriptors.FieldDescriptor field) {
        return super.clearField(field);
      }
      @java.lang.Override
      public Builder clearOneof(
          com.google.protobuf.Descriptors.OneofDescriptor oneof) {
        return super.clearOneof(oneof);
      }
      @java.lang.Override
      public Builder setRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          int index, java.lang.Object value) {
        return super.setRepeatedField(field, index, value);
      }
      @java.lang.Override
      public Builder addRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.addRepeatedField(field, value);
      }
      @java.lang.Override
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof pb.xiugou.x1.protobuf.recharge.Recharge.RechargeVoucherOrderResponse) {
          return mergeFrom((pb.xiugou.x1.protobuf.recharge.Recharge.RechargeVoucherOrderResponse)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(pb.xiugou.x1.protobuf.recharge.Recharge.RechargeVoucherOrderResponse other) {
        if (other == pb.xiugou.x1.protobuf.recharge.Recharge.RechargeVoucherOrderResponse.getDefaultInstance()) return this;
        this.mergeUnknownFields(other.unknownFields);
        onChanged();
        return this;
      }

      @java.lang.Override
      public final boolean isInitialized() {
        return true;
      }

      @java.lang.Override
      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        pb.xiugou.x1.protobuf.recharge.Recharge.RechargeVoucherOrderResponse parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (pb.xiugou.x1.protobuf.recharge.Recharge.RechargeVoucherOrderResponse) e.getUnfinishedMessage();
          throw e.unwrapIOException();
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      @java.lang.Override
      public final Builder setUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.setUnknownFields(unknownFields);
      }

      @java.lang.Override
      public final Builder mergeUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.mergeUnknownFields(unknownFields);
      }


      // @@protoc_insertion_point(builder_scope:pb.RechargeVoucherOrderResponse)
    }

    // @@protoc_insertion_point(class_scope:pb.RechargeVoucherOrderResponse)
    private static final pb.xiugou.x1.protobuf.recharge.Recharge.RechargeVoucherOrderResponse DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new pb.xiugou.x1.protobuf.recharge.Recharge.RechargeVoucherOrderResponse();
    }

    public static pb.xiugou.x1.protobuf.recharge.Recharge.RechargeVoucherOrderResponse getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static final com.google.protobuf.Parser<RechargeVoucherOrderResponse>
        PARSER = new com.google.protobuf.AbstractParser<RechargeVoucherOrderResponse>() {
      @java.lang.Override
      public RechargeVoucherOrderResponse parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new RechargeVoucherOrderResponse(input, extensionRegistry);
      }
    };

    public static com.google.protobuf.Parser<RechargeVoucherOrderResponse> parser() {
      return PARSER;
    }

    @java.lang.Override
    public com.google.protobuf.Parser<RechargeVoucherOrderResponse> getParserForType() {
      return PARSER;
    }

    @java.lang.Override
    public pb.xiugou.x1.protobuf.recharge.Recharge.RechargeVoucherOrderResponse getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface RechargeGivingMessageOrBuilder extends
      // @@protoc_insertion_point(interface_extends:pb.RechargeGivingMessage)
      com.google.protobuf.MessageOrBuilder {

    /**
     * <pre>
     *充值商品ID
     * </pre>
     *
     * <code>int32 product_id = 1;</code>
     * @return The productId.
     */
    int getProductId();

    /**
     * <pre>
     *变更的物品列表
     * </pre>
     *
     * <code>repeated .pb.PbThing things = 2;</code>
     */
    java.util.List<pb.xiugou.x1.protobuf.ministruct.MiniStruct.PbThing> 
        getThingsList();
    /**
     * <pre>
     *变更的物品列表
     * </pre>
     *
     * <code>repeated .pb.PbThing things = 2;</code>
     */
    pb.xiugou.x1.protobuf.ministruct.MiniStruct.PbThing getThings(int index);
    /**
     * <pre>
     *变更的物品列表
     * </pre>
     *
     * <code>repeated .pb.PbThing things = 2;</code>
     */
    int getThingsCount();
    /**
     * <pre>
     *变更的物品列表
     * </pre>
     *
     * <code>repeated .pb.PbThing things = 2;</code>
     */
    java.util.List<? extends pb.xiugou.x1.protobuf.ministruct.MiniStruct.PbThingOrBuilder> 
        getThingsOrBuilderList();
    /**
     * <pre>
     *变更的物品列表
     * </pre>
     *
     * <code>repeated .pb.PbThing things = 2;</code>
     */
    pb.xiugou.x1.protobuf.ministruct.MiniStruct.PbThingOrBuilder getThingsOrBuilder(
        int index);
  }
  /**
   * <pre>
   *充值发货推送
   * </pre>
   *
   * Protobuf type {@code pb.RechargeGivingMessage}
   */
  public  static final class RechargeGivingMessage extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:pb.RechargeGivingMessage)
      RechargeGivingMessageOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use RechargeGivingMessage.newBuilder() to construct.
    private RechargeGivingMessage(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
      super(builder);
    }
    private RechargeGivingMessage() {
      things_ = java.util.Collections.emptyList();
    }

    @java.lang.Override
    @SuppressWarnings({"unused"})
    protected java.lang.Object newInstance(
        UnusedPrivateParameter unused) {
      return new RechargeGivingMessage();
    }

    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    private RechargeGivingMessage(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      this();
      if (extensionRegistry == null) {
        throw new java.lang.NullPointerException();
      }
      int mutable_bitField0_ = 0;
      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            case 8: {

              productId_ = input.readInt32();
              break;
            }
            case 18: {
              if (!((mutable_bitField0_ & 0x00000001) != 0)) {
                things_ = new java.util.ArrayList<pb.xiugou.x1.protobuf.ministruct.MiniStruct.PbThing>();
                mutable_bitField0_ |= 0x00000001;
              }
              things_.add(
                  input.readMessage(pb.xiugou.x1.protobuf.ministruct.MiniStruct.PbThing.parser(), extensionRegistry));
              break;
            }
            default: {
              if (!parseUnknownField(
                  input, unknownFields, extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e).setUnfinishedMessage(this);
      } finally {
        if (((mutable_bitField0_ & 0x00000001) != 0)) {
          things_ = java.util.Collections.unmodifiableList(things_);
        }
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return pb.xiugou.x1.protobuf.recharge.Recharge.internal_static_pb_RechargeGivingMessage_descriptor;
    }

    @java.lang.Override
    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return pb.xiugou.x1.protobuf.recharge.Recharge.internal_static_pb_RechargeGivingMessage_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              pb.xiugou.x1.protobuf.recharge.Recharge.RechargeGivingMessage.class, pb.xiugou.x1.protobuf.recharge.Recharge.RechargeGivingMessage.Builder.class);
    }

    /**
     * Protobuf enum {@code pb.RechargeGivingMessage.Proto}
     */
    public enum Proto
        implements com.google.protobuf.ProtocolMessageEnum {
      /**
       * <code>UNKNOWN = 0;</code>
       */
      UNKNOWN(0),
      /**
       * <code>ID = 1900004;</code>
       */
      ID(1900004),
      UNRECOGNIZED(-1),
      ;

      /**
       * <code>UNKNOWN = 0;</code>
       */
      public static final int UNKNOWN_VALUE = 0;
      /**
       * <code>ID = 1900004;</code>
       */
      public static final int ID_VALUE = 1900004;


      public final int getNumber() {
        if (this == UNRECOGNIZED) {
          throw new java.lang.IllegalArgumentException(
              "Can't get the number of an unknown enum value.");
        }
        return value;
      }

      /**
       * @param value The numeric wire value of the corresponding enum entry.
       * @return The enum associated with the given numeric wire value.
       * @deprecated Use {@link #forNumber(int)} instead.
       */
      @java.lang.Deprecated
      public static Proto valueOf(int value) {
        return forNumber(value);
      }

      /**
       * @param value The numeric wire value of the corresponding enum entry.
       * @return The enum associated with the given numeric wire value.
       */
      public static Proto forNumber(int value) {
        switch (value) {
          case 0: return UNKNOWN;
          case 1900004: return ID;
          default: return null;
        }
      }

      public static com.google.protobuf.Internal.EnumLiteMap<Proto>
          internalGetValueMap() {
        return internalValueMap;
      }
      private static final com.google.protobuf.Internal.EnumLiteMap<
          Proto> internalValueMap =
            new com.google.protobuf.Internal.EnumLiteMap<Proto>() {
              public Proto findValueByNumber(int number) {
                return Proto.forNumber(number);
              }
            };

      public final com.google.protobuf.Descriptors.EnumValueDescriptor
          getValueDescriptor() {
        return getDescriptor().getValues().get(ordinal());
      }
      public final com.google.protobuf.Descriptors.EnumDescriptor
          getDescriptorForType() {
        return getDescriptor();
      }
      public static final com.google.protobuf.Descriptors.EnumDescriptor
          getDescriptor() {
        return pb.xiugou.x1.protobuf.recharge.Recharge.RechargeGivingMessage.getDescriptor().getEnumTypes().get(0);
      }

      private static final Proto[] VALUES = values();

      public static Proto valueOf(
          com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
        if (desc.getType() != getDescriptor()) {
          throw new java.lang.IllegalArgumentException(
            "EnumValueDescriptor is not for this type.");
        }
        if (desc.getIndex() == -1) {
          return UNRECOGNIZED;
        }
        return VALUES[desc.getIndex()];
      }

      private final int value;

      private Proto(int value) {
        this.value = value;
      }

      // @@protoc_insertion_point(enum_scope:pb.RechargeGivingMessage.Proto)
    }

    public static final int PRODUCT_ID_FIELD_NUMBER = 1;
    private int productId_;
    /**
     * <pre>
     *充值商品ID
     * </pre>
     *
     * <code>int32 product_id = 1;</code>
     * @return The productId.
     */
    public int getProductId() {
      return productId_;
    }

    public static final int THINGS_FIELD_NUMBER = 2;
    private java.util.List<pb.xiugou.x1.protobuf.ministruct.MiniStruct.PbThing> things_;
    /**
     * <pre>
     *变更的物品列表
     * </pre>
     *
     * <code>repeated .pb.PbThing things = 2;</code>
     */
    public java.util.List<pb.xiugou.x1.protobuf.ministruct.MiniStruct.PbThing> getThingsList() {
      return things_;
    }
    /**
     * <pre>
     *变更的物品列表
     * </pre>
     *
     * <code>repeated .pb.PbThing things = 2;</code>
     */
    public java.util.List<? extends pb.xiugou.x1.protobuf.ministruct.MiniStruct.PbThingOrBuilder> 
        getThingsOrBuilderList() {
      return things_;
    }
    /**
     * <pre>
     *变更的物品列表
     * </pre>
     *
     * <code>repeated .pb.PbThing things = 2;</code>
     */
    public int getThingsCount() {
      return things_.size();
    }
    /**
     * <pre>
     *变更的物品列表
     * </pre>
     *
     * <code>repeated .pb.PbThing things = 2;</code>
     */
    public pb.xiugou.x1.protobuf.ministruct.MiniStruct.PbThing getThings(int index) {
      return things_.get(index);
    }
    /**
     * <pre>
     *变更的物品列表
     * </pre>
     *
     * <code>repeated .pb.PbThing things = 2;</code>
     */
    public pb.xiugou.x1.protobuf.ministruct.MiniStruct.PbThingOrBuilder getThingsOrBuilder(
        int index) {
      return things_.get(index);
    }

    private byte memoizedIsInitialized = -1;
    @java.lang.Override
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized == 1) return true;
      if (isInitialized == 0) return false;

      memoizedIsInitialized = 1;
      return true;
    }

    @java.lang.Override
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (productId_ != 0) {
        output.writeInt32(1, productId_);
      }
      for (int i = 0; i < things_.size(); i++) {
        output.writeMessage(2, things_.get(i));
      }
      unknownFields.writeTo(output);
    }

    @java.lang.Override
    public int getSerializedSize() {
      int size = memoizedSize;
      if (size != -1) return size;

      size = 0;
      if (productId_ != 0) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(1, productId_);
      }
      for (int i = 0; i < things_.size(); i++) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(2, things_.get(i));
      }
      size += unknownFields.getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof pb.xiugou.x1.protobuf.recharge.Recharge.RechargeGivingMessage)) {
        return super.equals(obj);
      }
      pb.xiugou.x1.protobuf.recharge.Recharge.RechargeGivingMessage other = (pb.xiugou.x1.protobuf.recharge.Recharge.RechargeGivingMessage) obj;

      if (getProductId()
          != other.getProductId()) return false;
      if (!getThingsList()
          .equals(other.getThingsList())) return false;
      if (!unknownFields.equals(other.unknownFields)) return false;
      return true;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      hash = (37 * hash) + PRODUCT_ID_FIELD_NUMBER;
      hash = (53 * hash) + getProductId();
      if (getThingsCount() > 0) {
        hash = (37 * hash) + THINGS_FIELD_NUMBER;
        hash = (53 * hash) + getThingsList().hashCode();
      }
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static pb.xiugou.x1.protobuf.recharge.Recharge.RechargeGivingMessage parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static pb.xiugou.x1.protobuf.recharge.Recharge.RechargeGivingMessage parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static pb.xiugou.x1.protobuf.recharge.Recharge.RechargeGivingMessage parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static pb.xiugou.x1.protobuf.recharge.Recharge.RechargeGivingMessage parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static pb.xiugou.x1.protobuf.recharge.Recharge.RechargeGivingMessage parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static pb.xiugou.x1.protobuf.recharge.Recharge.RechargeGivingMessage parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static pb.xiugou.x1.protobuf.recharge.Recharge.RechargeGivingMessage parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static pb.xiugou.x1.protobuf.recharge.Recharge.RechargeGivingMessage parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }
    public static pb.xiugou.x1.protobuf.recharge.Recharge.RechargeGivingMessage parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }
    public static pb.xiugou.x1.protobuf.recharge.Recharge.RechargeGivingMessage parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
    }
    public static pb.xiugou.x1.protobuf.recharge.Recharge.RechargeGivingMessage parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static pb.xiugou.x1.protobuf.recharge.Recharge.RechargeGivingMessage parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    @java.lang.Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(pb.xiugou.x1.protobuf.recharge.Recharge.RechargeGivingMessage prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    @java.lang.Override
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * <pre>
     *充值发货推送
     * </pre>
     *
     * Protobuf type {@code pb.RechargeGivingMessage}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:pb.RechargeGivingMessage)
        pb.xiugou.x1.protobuf.recharge.Recharge.RechargeGivingMessageOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return pb.xiugou.x1.protobuf.recharge.Recharge.internal_static_pb_RechargeGivingMessage_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return pb.xiugou.x1.protobuf.recharge.Recharge.internal_static_pb_RechargeGivingMessage_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                pb.xiugou.x1.protobuf.recharge.Recharge.RechargeGivingMessage.class, pb.xiugou.x1.protobuf.recharge.Recharge.RechargeGivingMessage.Builder.class);
      }

      // Construct using pb.xiugou.x1.protobuf.recharge.Recharge.RechargeGivingMessage.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessageV3
                .alwaysUseFieldBuilders) {
          getThingsFieldBuilder();
        }
      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        productId_ = 0;

        if (thingsBuilder_ == null) {
          things_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000001);
        } else {
          thingsBuilder_.clear();
        }
        return this;
      }

      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return pb.xiugou.x1.protobuf.recharge.Recharge.internal_static_pb_RechargeGivingMessage_descriptor;
      }

      @java.lang.Override
      public pb.xiugou.x1.protobuf.recharge.Recharge.RechargeGivingMessage getDefaultInstanceForType() {
        return pb.xiugou.x1.protobuf.recharge.Recharge.RechargeGivingMessage.getDefaultInstance();
      }

      @java.lang.Override
      public pb.xiugou.x1.protobuf.recharge.Recharge.RechargeGivingMessage build() {
        pb.xiugou.x1.protobuf.recharge.Recharge.RechargeGivingMessage result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public pb.xiugou.x1.protobuf.recharge.Recharge.RechargeGivingMessage buildPartial() {
        pb.xiugou.x1.protobuf.recharge.Recharge.RechargeGivingMessage result = new pb.xiugou.x1.protobuf.recharge.Recharge.RechargeGivingMessage(this);
        int from_bitField0_ = bitField0_;
        result.productId_ = productId_;
        if (thingsBuilder_ == null) {
          if (((bitField0_ & 0x00000001) != 0)) {
            things_ = java.util.Collections.unmodifiableList(things_);
            bitField0_ = (bitField0_ & ~0x00000001);
          }
          result.things_ = things_;
        } else {
          result.things_ = thingsBuilder_.build();
        }
        onBuilt();
        return result;
      }

      @java.lang.Override
      public Builder clone() {
        return super.clone();
      }
      @java.lang.Override
      public Builder setField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.setField(field, value);
      }
      @java.lang.Override
      public Builder clearField(
          com.google.protobuf.Descriptors.FieldDescriptor field) {
        return super.clearField(field);
      }
      @java.lang.Override
      public Builder clearOneof(
          com.google.protobuf.Descriptors.OneofDescriptor oneof) {
        return super.clearOneof(oneof);
      }
      @java.lang.Override
      public Builder setRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          int index, java.lang.Object value) {
        return super.setRepeatedField(field, index, value);
      }
      @java.lang.Override
      public Builder addRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.addRepeatedField(field, value);
      }
      @java.lang.Override
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof pb.xiugou.x1.protobuf.recharge.Recharge.RechargeGivingMessage) {
          return mergeFrom((pb.xiugou.x1.protobuf.recharge.Recharge.RechargeGivingMessage)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(pb.xiugou.x1.protobuf.recharge.Recharge.RechargeGivingMessage other) {
        if (other == pb.xiugou.x1.protobuf.recharge.Recharge.RechargeGivingMessage.getDefaultInstance()) return this;
        if (other.getProductId() != 0) {
          setProductId(other.getProductId());
        }
        if (thingsBuilder_ == null) {
          if (!other.things_.isEmpty()) {
            if (things_.isEmpty()) {
              things_ = other.things_;
              bitField0_ = (bitField0_ & ~0x00000001);
            } else {
              ensureThingsIsMutable();
              things_.addAll(other.things_);
            }
            onChanged();
          }
        } else {
          if (!other.things_.isEmpty()) {
            if (thingsBuilder_.isEmpty()) {
              thingsBuilder_.dispose();
              thingsBuilder_ = null;
              things_ = other.things_;
              bitField0_ = (bitField0_ & ~0x00000001);
              thingsBuilder_ = 
                com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ?
                   getThingsFieldBuilder() : null;
            } else {
              thingsBuilder_.addAllMessages(other.things_);
            }
          }
        }
        this.mergeUnknownFields(other.unknownFields);
        onChanged();
        return this;
      }

      @java.lang.Override
      public final boolean isInitialized() {
        return true;
      }

      @java.lang.Override
      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        pb.xiugou.x1.protobuf.recharge.Recharge.RechargeGivingMessage parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (pb.xiugou.x1.protobuf.recharge.Recharge.RechargeGivingMessage) e.getUnfinishedMessage();
          throw e.unwrapIOException();
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      private int productId_ ;
      /**
       * <pre>
       *充值商品ID
       * </pre>
       *
       * <code>int32 product_id = 1;</code>
       * @return The productId.
       */
      public int getProductId() {
        return productId_;
      }
      /**
       * <pre>
       *充值商品ID
       * </pre>
       *
       * <code>int32 product_id = 1;</code>
       * @param value The productId to set.
       * @return This builder for chaining.
       */
      public Builder setProductId(int value) {
        
        productId_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *充值商品ID
       * </pre>
       *
       * <code>int32 product_id = 1;</code>
       * @return This builder for chaining.
       */
      public Builder clearProductId() {
        
        productId_ = 0;
        onChanged();
        return this;
      }

      private java.util.List<pb.xiugou.x1.protobuf.ministruct.MiniStruct.PbThing> things_ =
        java.util.Collections.emptyList();
      private void ensureThingsIsMutable() {
        if (!((bitField0_ & 0x00000001) != 0)) {
          things_ = new java.util.ArrayList<pb.xiugou.x1.protobuf.ministruct.MiniStruct.PbThing>(things_);
          bitField0_ |= 0x00000001;
         }
      }

      private com.google.protobuf.RepeatedFieldBuilderV3<
          pb.xiugou.x1.protobuf.ministruct.MiniStruct.PbThing, pb.xiugou.x1.protobuf.ministruct.MiniStruct.PbThing.Builder, pb.xiugou.x1.protobuf.ministruct.MiniStruct.PbThingOrBuilder> thingsBuilder_;

      /**
       * <pre>
       *变更的物品列表
       * </pre>
       *
       * <code>repeated .pb.PbThing things = 2;</code>
       */
      public java.util.List<pb.xiugou.x1.protobuf.ministruct.MiniStruct.PbThing> getThingsList() {
        if (thingsBuilder_ == null) {
          return java.util.Collections.unmodifiableList(things_);
        } else {
          return thingsBuilder_.getMessageList();
        }
      }
      /**
       * <pre>
       *变更的物品列表
       * </pre>
       *
       * <code>repeated .pb.PbThing things = 2;</code>
       */
      public int getThingsCount() {
        if (thingsBuilder_ == null) {
          return things_.size();
        } else {
          return thingsBuilder_.getCount();
        }
      }
      /**
       * <pre>
       *变更的物品列表
       * </pre>
       *
       * <code>repeated .pb.PbThing things = 2;</code>
       */
      public pb.xiugou.x1.protobuf.ministruct.MiniStruct.PbThing getThings(int index) {
        if (thingsBuilder_ == null) {
          return things_.get(index);
        } else {
          return thingsBuilder_.getMessage(index);
        }
      }
      /**
       * <pre>
       *变更的物品列表
       * </pre>
       *
       * <code>repeated .pb.PbThing things = 2;</code>
       */
      public Builder setThings(
          int index, pb.xiugou.x1.protobuf.ministruct.MiniStruct.PbThing value) {
        if (thingsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureThingsIsMutable();
          things_.set(index, value);
          onChanged();
        } else {
          thingsBuilder_.setMessage(index, value);
        }
        return this;
      }
      /**
       * <pre>
       *变更的物品列表
       * </pre>
       *
       * <code>repeated .pb.PbThing things = 2;</code>
       */
      public Builder setThings(
          int index, pb.xiugou.x1.protobuf.ministruct.MiniStruct.PbThing.Builder builderForValue) {
        if (thingsBuilder_ == null) {
          ensureThingsIsMutable();
          things_.set(index, builderForValue.build());
          onChanged();
        } else {
          thingsBuilder_.setMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * <pre>
       *变更的物品列表
       * </pre>
       *
       * <code>repeated .pb.PbThing things = 2;</code>
       */
      public Builder addThings(pb.xiugou.x1.protobuf.ministruct.MiniStruct.PbThing value) {
        if (thingsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureThingsIsMutable();
          things_.add(value);
          onChanged();
        } else {
          thingsBuilder_.addMessage(value);
        }
        return this;
      }
      /**
       * <pre>
       *变更的物品列表
       * </pre>
       *
       * <code>repeated .pb.PbThing things = 2;</code>
       */
      public Builder addThings(
          int index, pb.xiugou.x1.protobuf.ministruct.MiniStruct.PbThing value) {
        if (thingsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureThingsIsMutable();
          things_.add(index, value);
          onChanged();
        } else {
          thingsBuilder_.addMessage(index, value);
        }
        return this;
      }
      /**
       * <pre>
       *变更的物品列表
       * </pre>
       *
       * <code>repeated .pb.PbThing things = 2;</code>
       */
      public Builder addThings(
          pb.xiugou.x1.protobuf.ministruct.MiniStruct.PbThing.Builder builderForValue) {
        if (thingsBuilder_ == null) {
          ensureThingsIsMutable();
          things_.add(builderForValue.build());
          onChanged();
        } else {
          thingsBuilder_.addMessage(builderForValue.build());
        }
        return this;
      }
      /**
       * <pre>
       *变更的物品列表
       * </pre>
       *
       * <code>repeated .pb.PbThing things = 2;</code>
       */
      public Builder addThings(
          int index, pb.xiugou.x1.protobuf.ministruct.MiniStruct.PbThing.Builder builderForValue) {
        if (thingsBuilder_ == null) {
          ensureThingsIsMutable();
          things_.add(index, builderForValue.build());
          onChanged();
        } else {
          thingsBuilder_.addMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * <pre>
       *变更的物品列表
       * </pre>
       *
       * <code>repeated .pb.PbThing things = 2;</code>
       */
      public Builder addAllThings(
          java.lang.Iterable<? extends pb.xiugou.x1.protobuf.ministruct.MiniStruct.PbThing> values) {
        if (thingsBuilder_ == null) {
          ensureThingsIsMutable();
          com.google.protobuf.AbstractMessageLite.Builder.addAll(
              values, things_);
          onChanged();
        } else {
          thingsBuilder_.addAllMessages(values);
        }
        return this;
      }
      /**
       * <pre>
       *变更的物品列表
       * </pre>
       *
       * <code>repeated .pb.PbThing things = 2;</code>
       */
      public Builder clearThings() {
        if (thingsBuilder_ == null) {
          things_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000001);
          onChanged();
        } else {
          thingsBuilder_.clear();
        }
        return this;
      }
      /**
       * <pre>
       *变更的物品列表
       * </pre>
       *
       * <code>repeated .pb.PbThing things = 2;</code>
       */
      public Builder removeThings(int index) {
        if (thingsBuilder_ == null) {
          ensureThingsIsMutable();
          things_.remove(index);
          onChanged();
        } else {
          thingsBuilder_.remove(index);
        }
        return this;
      }
      /**
       * <pre>
       *变更的物品列表
       * </pre>
       *
       * <code>repeated .pb.PbThing things = 2;</code>
       */
      public pb.xiugou.x1.protobuf.ministruct.MiniStruct.PbThing.Builder getThingsBuilder(
          int index) {
        return getThingsFieldBuilder().getBuilder(index);
      }
      /**
       * <pre>
       *变更的物品列表
       * </pre>
       *
       * <code>repeated .pb.PbThing things = 2;</code>
       */
      public pb.xiugou.x1.protobuf.ministruct.MiniStruct.PbThingOrBuilder getThingsOrBuilder(
          int index) {
        if (thingsBuilder_ == null) {
          return things_.get(index);  } else {
          return thingsBuilder_.getMessageOrBuilder(index);
        }
      }
      /**
       * <pre>
       *变更的物品列表
       * </pre>
       *
       * <code>repeated .pb.PbThing things = 2;</code>
       */
      public java.util.List<? extends pb.xiugou.x1.protobuf.ministruct.MiniStruct.PbThingOrBuilder> 
           getThingsOrBuilderList() {
        if (thingsBuilder_ != null) {
          return thingsBuilder_.getMessageOrBuilderList();
        } else {
          return java.util.Collections.unmodifiableList(things_);
        }
      }
      /**
       * <pre>
       *变更的物品列表
       * </pre>
       *
       * <code>repeated .pb.PbThing things = 2;</code>
       */
      public pb.xiugou.x1.protobuf.ministruct.MiniStruct.PbThing.Builder addThingsBuilder() {
        return getThingsFieldBuilder().addBuilder(
            pb.xiugou.x1.protobuf.ministruct.MiniStruct.PbThing.getDefaultInstance());
      }
      /**
       * <pre>
       *变更的物品列表
       * </pre>
       *
       * <code>repeated .pb.PbThing things = 2;</code>
       */
      public pb.xiugou.x1.protobuf.ministruct.MiniStruct.PbThing.Builder addThingsBuilder(
          int index) {
        return getThingsFieldBuilder().addBuilder(
            index, pb.xiugou.x1.protobuf.ministruct.MiniStruct.PbThing.getDefaultInstance());
      }
      /**
       * <pre>
       *变更的物品列表
       * </pre>
       *
       * <code>repeated .pb.PbThing things = 2;</code>
       */
      public java.util.List<pb.xiugou.x1.protobuf.ministruct.MiniStruct.PbThing.Builder> 
           getThingsBuilderList() {
        return getThingsFieldBuilder().getBuilderList();
      }
      private com.google.protobuf.RepeatedFieldBuilderV3<
          pb.xiugou.x1.protobuf.ministruct.MiniStruct.PbThing, pb.xiugou.x1.protobuf.ministruct.MiniStruct.PbThing.Builder, pb.xiugou.x1.protobuf.ministruct.MiniStruct.PbThingOrBuilder> 
          getThingsFieldBuilder() {
        if (thingsBuilder_ == null) {
          thingsBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3<
              pb.xiugou.x1.protobuf.ministruct.MiniStruct.PbThing, pb.xiugou.x1.protobuf.ministruct.MiniStruct.PbThing.Builder, pb.xiugou.x1.protobuf.ministruct.MiniStruct.PbThingOrBuilder>(
                  things_,
                  ((bitField0_ & 0x00000001) != 0),
                  getParentForChildren(),
                  isClean());
          things_ = null;
        }
        return thingsBuilder_;
      }
      @java.lang.Override
      public final Builder setUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.setUnknownFields(unknownFields);
      }

      @java.lang.Override
      public final Builder mergeUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.mergeUnknownFields(unknownFields);
      }


      // @@protoc_insertion_point(builder_scope:pb.RechargeGivingMessage)
    }

    // @@protoc_insertion_point(class_scope:pb.RechargeGivingMessage)
    private static final pb.xiugou.x1.protobuf.recharge.Recharge.RechargeGivingMessage DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new pb.xiugou.x1.protobuf.recharge.Recharge.RechargeGivingMessage();
    }

    public static pb.xiugou.x1.protobuf.recharge.Recharge.RechargeGivingMessage getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static final com.google.protobuf.Parser<RechargeGivingMessage>
        PARSER = new com.google.protobuf.AbstractParser<RechargeGivingMessage>() {
      @java.lang.Override
      public RechargeGivingMessage parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new RechargeGivingMessage(input, extensionRegistry);
      }
    };

    public static com.google.protobuf.Parser<RechargeGivingMessage> parser() {
      return PARSER;
    }

    @java.lang.Override
    public com.google.protobuf.Parser<RechargeGivingMessage> getParserForType() {
      return PARSER;
    }

    @java.lang.Override
    public pb.xiugou.x1.protobuf.recharge.Recharge.RechargeGivingMessage getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface PbRechargeData37OrBuilder extends
      // @@protoc_insertion_point(interface_extends:pb.PbRechargeData37)
      com.google.protobuf.MessageOrBuilder {

    /**
     * <code>string appid = 1;</code>
     * @return The appid.
     */
    java.lang.String getAppid();
    /**
     * <code>string appid = 1;</code>
     * @return The bytes for appid.
     */
    com.google.protobuf.ByteString
        getAppidBytes();

    /**
     * <code>int32 game_id = 2;</code>
     * @return The gameId.
     */
    int getGameId();

    /**
     * <pre>
     *客户端不用填，只取值
     * </pre>
     *
     * <code>int64 uid = 3;</code>
     * @return The uid.
     */
    long getUid();

    /**
     * <pre>
     *客户端不用填，只取值
     * </pre>
     *
     * <code>int32 sid = 4;</code>
     * @return The sid.
     */
    int getSid();

    /**
     * <pre>
     *客户端不用填，只取值
     * </pre>
     *
     * <code>string actor_id = 5;</code>
     * @return The actorId.
     */
    java.lang.String getActorId();
    /**
     * <pre>
     *客户端不用填，只取值
     * </pre>
     *
     * <code>string actor_id = 5;</code>
     * @return The bytes for actorId.
     */
    com.google.protobuf.ByteString
        getActorIdBytes();

    /**
     * <pre>
     *客户端不用填，只取值
     * </pre>
     *
     * <code>string order_no = 6;</code>
     * @return The orderNo.
     */
    java.lang.String getOrderNo();
    /**
     * <pre>
     *客户端不用填，只取值
     * </pre>
     *
     * <code>string order_no = 6;</code>
     * @return The bytes for orderNo.
     */
    com.google.protobuf.ByteString
        getOrderNoBytes();

    /**
     * <pre>
     *客户端不用填，只取值
     * </pre>
     *
     * <code>string money = 7;</code>
     * @return The money.
     */
    java.lang.String getMoney();
    /**
     * <pre>
     *客户端不用填，只取值
     * </pre>
     *
     * <code>string money = 7;</code>
     * @return The bytes for money.
     */
    com.google.protobuf.ByteString
        getMoneyBytes();

    /**
     * <pre>
     *客户端不用填，只取值
     * </pre>
     *
     * <code>int64 game_coin = 8;</code>
     * @return The gameCoin.
     */
    long getGameCoin();

    /**
     * <pre>
     *客户端不用填，只取值
     * </pre>
     *
     * <code>int32 product_id = 9;</code>
     * @return The productId.
     */
    int getProductId();

    /**
     * <pre>
     *客户端不用填，只取值
     * </pre>
     *
     * <code>string subject = 10;</code>
     * @return The subject.
     */
    java.lang.String getSubject();
    /**
     * <pre>
     *客户端不用填，只取值
     * </pre>
     *
     * <code>string subject = 10;</code>
     * @return The bytes for subject.
     */
    com.google.protobuf.ByteString
        getSubjectBytes();

    /**
     * <pre>
     *客户端不用填，只取值
     * </pre>
     *
     * <code>int32 time = 11;</code>
     * @return The time.
     */
    int getTime();

    /**
     * <pre>
     *客户端不用填，只取值
     * </pre>
     *
     * <code>string sign = 12;</code>
     * @return The sign.
     */
    java.lang.String getSign();
    /**
     * <pre>
     *客户端不用填，只取值
     * </pre>
     *
     * <code>string sign = 12;</code>
     * @return The bytes for sign.
     */
    com.google.protobuf.ByteString
        getSignBytes();

    /**
     * <pre>
     *客户端不用填，只取值
     * </pre>
     *
     * <code>string ext = 13;</code>
     * @return The ext.
     */
    java.lang.String getExt();
    /**
     * <pre>
     *客户端不用填，只取值
     * </pre>
     *
     * <code>string ext = 13;</code>
     * @return The bytes for ext.
     */
    com.google.protobuf.ByteString
        getExtBytes();
  }
  /**
   * Protobuf type {@code pb.PbRechargeData37}
   */
  public  static final class PbRechargeData37 extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:pb.PbRechargeData37)
      PbRechargeData37OrBuilder {
  private static final long serialVersionUID = 0L;
    // Use PbRechargeData37.newBuilder() to construct.
    private PbRechargeData37(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
      super(builder);
    }
    private PbRechargeData37() {
      appid_ = "";
      actorId_ = "";
      orderNo_ = "";
      money_ = "";
      subject_ = "";
      sign_ = "";
      ext_ = "";
    }

    @java.lang.Override
    @SuppressWarnings({"unused"})
    protected java.lang.Object newInstance(
        UnusedPrivateParameter unused) {
      return new PbRechargeData37();
    }

    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    private PbRechargeData37(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      this();
      if (extensionRegistry == null) {
        throw new java.lang.NullPointerException();
      }
      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            case 10: {
              java.lang.String s = input.readStringRequireUtf8();

              appid_ = s;
              break;
            }
            case 16: {

              gameId_ = input.readInt32();
              break;
            }
            case 24: {

              uid_ = input.readInt64();
              break;
            }
            case 32: {

              sid_ = input.readInt32();
              break;
            }
            case 42: {
              java.lang.String s = input.readStringRequireUtf8();

              actorId_ = s;
              break;
            }
            case 50: {
              java.lang.String s = input.readStringRequireUtf8();

              orderNo_ = s;
              break;
            }
            case 58: {
              java.lang.String s = input.readStringRequireUtf8();

              money_ = s;
              break;
            }
            case 64: {

              gameCoin_ = input.readInt64();
              break;
            }
            case 72: {

              productId_ = input.readInt32();
              break;
            }
            case 82: {
              java.lang.String s = input.readStringRequireUtf8();

              subject_ = s;
              break;
            }
            case 88: {

              time_ = input.readInt32();
              break;
            }
            case 98: {
              java.lang.String s = input.readStringRequireUtf8();

              sign_ = s;
              break;
            }
            case 106: {
              java.lang.String s = input.readStringRequireUtf8();

              ext_ = s;
              break;
            }
            default: {
              if (!parseUnknownField(
                  input, unknownFields, extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e).setUnfinishedMessage(this);
      } finally {
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return pb.xiugou.x1.protobuf.recharge.Recharge.internal_static_pb_PbRechargeData37_descriptor;
    }

    @java.lang.Override
    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return pb.xiugou.x1.protobuf.recharge.Recharge.internal_static_pb_PbRechargeData37_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              pb.xiugou.x1.protobuf.recharge.Recharge.PbRechargeData37.class, pb.xiugou.x1.protobuf.recharge.Recharge.PbRechargeData37.Builder.class);
    }

    public static final int APPID_FIELD_NUMBER = 1;
    private volatile java.lang.Object appid_;
    /**
     * <code>string appid = 1;</code>
     * @return The appid.
     */
    public java.lang.String getAppid() {
      java.lang.Object ref = appid_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        appid_ = s;
        return s;
      }
    }
    /**
     * <code>string appid = 1;</code>
     * @return The bytes for appid.
     */
    public com.google.protobuf.ByteString
        getAppidBytes() {
      java.lang.Object ref = appid_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        appid_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int GAME_ID_FIELD_NUMBER = 2;
    private int gameId_;
    /**
     * <code>int32 game_id = 2;</code>
     * @return The gameId.
     */
    public int getGameId() {
      return gameId_;
    }

    public static final int UID_FIELD_NUMBER = 3;
    private long uid_;
    /**
     * <pre>
     *客户端不用填，只取值
     * </pre>
     *
     * <code>int64 uid = 3;</code>
     * @return The uid.
     */
    public long getUid() {
      return uid_;
    }

    public static final int SID_FIELD_NUMBER = 4;
    private int sid_;
    /**
     * <pre>
     *客户端不用填，只取值
     * </pre>
     *
     * <code>int32 sid = 4;</code>
     * @return The sid.
     */
    public int getSid() {
      return sid_;
    }

    public static final int ACTOR_ID_FIELD_NUMBER = 5;
    private volatile java.lang.Object actorId_;
    /**
     * <pre>
     *客户端不用填，只取值
     * </pre>
     *
     * <code>string actor_id = 5;</code>
     * @return The actorId.
     */
    public java.lang.String getActorId() {
      java.lang.Object ref = actorId_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        actorId_ = s;
        return s;
      }
    }
    /**
     * <pre>
     *客户端不用填，只取值
     * </pre>
     *
     * <code>string actor_id = 5;</code>
     * @return The bytes for actorId.
     */
    public com.google.protobuf.ByteString
        getActorIdBytes() {
      java.lang.Object ref = actorId_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        actorId_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int ORDER_NO_FIELD_NUMBER = 6;
    private volatile java.lang.Object orderNo_;
    /**
     * <pre>
     *客户端不用填，只取值
     * </pre>
     *
     * <code>string order_no = 6;</code>
     * @return The orderNo.
     */
    public java.lang.String getOrderNo() {
      java.lang.Object ref = orderNo_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        orderNo_ = s;
        return s;
      }
    }
    /**
     * <pre>
     *客户端不用填，只取值
     * </pre>
     *
     * <code>string order_no = 6;</code>
     * @return The bytes for orderNo.
     */
    public com.google.protobuf.ByteString
        getOrderNoBytes() {
      java.lang.Object ref = orderNo_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        orderNo_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int MONEY_FIELD_NUMBER = 7;
    private volatile java.lang.Object money_;
    /**
     * <pre>
     *客户端不用填，只取值
     * </pre>
     *
     * <code>string money = 7;</code>
     * @return The money.
     */
    public java.lang.String getMoney() {
      java.lang.Object ref = money_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        money_ = s;
        return s;
      }
    }
    /**
     * <pre>
     *客户端不用填，只取值
     * </pre>
     *
     * <code>string money = 7;</code>
     * @return The bytes for money.
     */
    public com.google.protobuf.ByteString
        getMoneyBytes() {
      java.lang.Object ref = money_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        money_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int GAME_COIN_FIELD_NUMBER = 8;
    private long gameCoin_;
    /**
     * <pre>
     *客户端不用填，只取值
     * </pre>
     *
     * <code>int64 game_coin = 8;</code>
     * @return The gameCoin.
     */
    public long getGameCoin() {
      return gameCoin_;
    }

    public static final int PRODUCT_ID_FIELD_NUMBER = 9;
    private int productId_;
    /**
     * <pre>
     *客户端不用填，只取值
     * </pre>
     *
     * <code>int32 product_id = 9;</code>
     * @return The productId.
     */
    public int getProductId() {
      return productId_;
    }

    public static final int SUBJECT_FIELD_NUMBER = 10;
    private volatile java.lang.Object subject_;
    /**
     * <pre>
     *客户端不用填，只取值
     * </pre>
     *
     * <code>string subject = 10;</code>
     * @return The subject.
     */
    public java.lang.String getSubject() {
      java.lang.Object ref = subject_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        subject_ = s;
        return s;
      }
    }
    /**
     * <pre>
     *客户端不用填，只取值
     * </pre>
     *
     * <code>string subject = 10;</code>
     * @return The bytes for subject.
     */
    public com.google.protobuf.ByteString
        getSubjectBytes() {
      java.lang.Object ref = subject_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        subject_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int TIME_FIELD_NUMBER = 11;
    private int time_;
    /**
     * <pre>
     *客户端不用填，只取值
     * </pre>
     *
     * <code>int32 time = 11;</code>
     * @return The time.
     */
    public int getTime() {
      return time_;
    }

    public static final int SIGN_FIELD_NUMBER = 12;
    private volatile java.lang.Object sign_;
    /**
     * <pre>
     *客户端不用填，只取值
     * </pre>
     *
     * <code>string sign = 12;</code>
     * @return The sign.
     */
    public java.lang.String getSign() {
      java.lang.Object ref = sign_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        sign_ = s;
        return s;
      }
    }
    /**
     * <pre>
     *客户端不用填，只取值
     * </pre>
     *
     * <code>string sign = 12;</code>
     * @return The bytes for sign.
     */
    public com.google.protobuf.ByteString
        getSignBytes() {
      java.lang.Object ref = sign_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        sign_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int EXT_FIELD_NUMBER = 13;
    private volatile java.lang.Object ext_;
    /**
     * <pre>
     *客户端不用填，只取值
     * </pre>
     *
     * <code>string ext = 13;</code>
     * @return The ext.
     */
    public java.lang.String getExt() {
      java.lang.Object ref = ext_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        ext_ = s;
        return s;
      }
    }
    /**
     * <pre>
     *客户端不用填，只取值
     * </pre>
     *
     * <code>string ext = 13;</code>
     * @return The bytes for ext.
     */
    public com.google.protobuf.ByteString
        getExtBytes() {
      java.lang.Object ref = ext_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        ext_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    private byte memoizedIsInitialized = -1;
    @java.lang.Override
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized == 1) return true;
      if (isInitialized == 0) return false;

      memoizedIsInitialized = 1;
      return true;
    }

    @java.lang.Override
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (!getAppidBytes().isEmpty()) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 1, appid_);
      }
      if (gameId_ != 0) {
        output.writeInt32(2, gameId_);
      }
      if (uid_ != 0L) {
        output.writeInt64(3, uid_);
      }
      if (sid_ != 0) {
        output.writeInt32(4, sid_);
      }
      if (!getActorIdBytes().isEmpty()) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 5, actorId_);
      }
      if (!getOrderNoBytes().isEmpty()) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 6, orderNo_);
      }
      if (!getMoneyBytes().isEmpty()) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 7, money_);
      }
      if (gameCoin_ != 0L) {
        output.writeInt64(8, gameCoin_);
      }
      if (productId_ != 0) {
        output.writeInt32(9, productId_);
      }
      if (!getSubjectBytes().isEmpty()) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 10, subject_);
      }
      if (time_ != 0) {
        output.writeInt32(11, time_);
      }
      if (!getSignBytes().isEmpty()) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 12, sign_);
      }
      if (!getExtBytes().isEmpty()) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 13, ext_);
      }
      unknownFields.writeTo(output);
    }

    @java.lang.Override
    public int getSerializedSize() {
      int size = memoizedSize;
      if (size != -1) return size;

      size = 0;
      if (!getAppidBytes().isEmpty()) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, appid_);
      }
      if (gameId_ != 0) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(2, gameId_);
      }
      if (uid_ != 0L) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt64Size(3, uid_);
      }
      if (sid_ != 0) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(4, sid_);
      }
      if (!getActorIdBytes().isEmpty()) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(5, actorId_);
      }
      if (!getOrderNoBytes().isEmpty()) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(6, orderNo_);
      }
      if (!getMoneyBytes().isEmpty()) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(7, money_);
      }
      if (gameCoin_ != 0L) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt64Size(8, gameCoin_);
      }
      if (productId_ != 0) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(9, productId_);
      }
      if (!getSubjectBytes().isEmpty()) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(10, subject_);
      }
      if (time_ != 0) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(11, time_);
      }
      if (!getSignBytes().isEmpty()) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(12, sign_);
      }
      if (!getExtBytes().isEmpty()) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(13, ext_);
      }
      size += unknownFields.getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof pb.xiugou.x1.protobuf.recharge.Recharge.PbRechargeData37)) {
        return super.equals(obj);
      }
      pb.xiugou.x1.protobuf.recharge.Recharge.PbRechargeData37 other = (pb.xiugou.x1.protobuf.recharge.Recharge.PbRechargeData37) obj;

      if (!getAppid()
          .equals(other.getAppid())) return false;
      if (getGameId()
          != other.getGameId()) return false;
      if (getUid()
          != other.getUid()) return false;
      if (getSid()
          != other.getSid()) return false;
      if (!getActorId()
          .equals(other.getActorId())) return false;
      if (!getOrderNo()
          .equals(other.getOrderNo())) return false;
      if (!getMoney()
          .equals(other.getMoney())) return false;
      if (getGameCoin()
          != other.getGameCoin()) return false;
      if (getProductId()
          != other.getProductId()) return false;
      if (!getSubject()
          .equals(other.getSubject())) return false;
      if (getTime()
          != other.getTime()) return false;
      if (!getSign()
          .equals(other.getSign())) return false;
      if (!getExt()
          .equals(other.getExt())) return false;
      if (!unknownFields.equals(other.unknownFields)) return false;
      return true;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      hash = (37 * hash) + APPID_FIELD_NUMBER;
      hash = (53 * hash) + getAppid().hashCode();
      hash = (37 * hash) + GAME_ID_FIELD_NUMBER;
      hash = (53 * hash) + getGameId();
      hash = (37 * hash) + UID_FIELD_NUMBER;
      hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
          getUid());
      hash = (37 * hash) + SID_FIELD_NUMBER;
      hash = (53 * hash) + getSid();
      hash = (37 * hash) + ACTOR_ID_FIELD_NUMBER;
      hash = (53 * hash) + getActorId().hashCode();
      hash = (37 * hash) + ORDER_NO_FIELD_NUMBER;
      hash = (53 * hash) + getOrderNo().hashCode();
      hash = (37 * hash) + MONEY_FIELD_NUMBER;
      hash = (53 * hash) + getMoney().hashCode();
      hash = (37 * hash) + GAME_COIN_FIELD_NUMBER;
      hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
          getGameCoin());
      hash = (37 * hash) + PRODUCT_ID_FIELD_NUMBER;
      hash = (53 * hash) + getProductId();
      hash = (37 * hash) + SUBJECT_FIELD_NUMBER;
      hash = (53 * hash) + getSubject().hashCode();
      hash = (37 * hash) + TIME_FIELD_NUMBER;
      hash = (53 * hash) + getTime();
      hash = (37 * hash) + SIGN_FIELD_NUMBER;
      hash = (53 * hash) + getSign().hashCode();
      hash = (37 * hash) + EXT_FIELD_NUMBER;
      hash = (53 * hash) + getExt().hashCode();
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static pb.xiugou.x1.protobuf.recharge.Recharge.PbRechargeData37 parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static pb.xiugou.x1.protobuf.recharge.Recharge.PbRechargeData37 parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static pb.xiugou.x1.protobuf.recharge.Recharge.PbRechargeData37 parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static pb.xiugou.x1.protobuf.recharge.Recharge.PbRechargeData37 parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static pb.xiugou.x1.protobuf.recharge.Recharge.PbRechargeData37 parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static pb.xiugou.x1.protobuf.recharge.Recharge.PbRechargeData37 parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static pb.xiugou.x1.protobuf.recharge.Recharge.PbRechargeData37 parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static pb.xiugou.x1.protobuf.recharge.Recharge.PbRechargeData37 parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }
    public static pb.xiugou.x1.protobuf.recharge.Recharge.PbRechargeData37 parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }
    public static pb.xiugou.x1.protobuf.recharge.Recharge.PbRechargeData37 parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
    }
    public static pb.xiugou.x1.protobuf.recharge.Recharge.PbRechargeData37 parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static pb.xiugou.x1.protobuf.recharge.Recharge.PbRechargeData37 parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    @java.lang.Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(pb.xiugou.x1.protobuf.recharge.Recharge.PbRechargeData37 prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    @java.lang.Override
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code pb.PbRechargeData37}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:pb.PbRechargeData37)
        pb.xiugou.x1.protobuf.recharge.Recharge.PbRechargeData37OrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return pb.xiugou.x1.protobuf.recharge.Recharge.internal_static_pb_PbRechargeData37_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return pb.xiugou.x1.protobuf.recharge.Recharge.internal_static_pb_PbRechargeData37_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                pb.xiugou.x1.protobuf.recharge.Recharge.PbRechargeData37.class, pb.xiugou.x1.protobuf.recharge.Recharge.PbRechargeData37.Builder.class);
      }

      // Construct using pb.xiugou.x1.protobuf.recharge.Recharge.PbRechargeData37.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessageV3
                .alwaysUseFieldBuilders) {
        }
      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        appid_ = "";

        gameId_ = 0;

        uid_ = 0L;

        sid_ = 0;

        actorId_ = "";

        orderNo_ = "";

        money_ = "";

        gameCoin_ = 0L;

        productId_ = 0;

        subject_ = "";

        time_ = 0;

        sign_ = "";

        ext_ = "";

        return this;
      }

      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return pb.xiugou.x1.protobuf.recharge.Recharge.internal_static_pb_PbRechargeData37_descriptor;
      }

      @java.lang.Override
      public pb.xiugou.x1.protobuf.recharge.Recharge.PbRechargeData37 getDefaultInstanceForType() {
        return pb.xiugou.x1.protobuf.recharge.Recharge.PbRechargeData37.getDefaultInstance();
      }

      @java.lang.Override
      public pb.xiugou.x1.protobuf.recharge.Recharge.PbRechargeData37 build() {
        pb.xiugou.x1.protobuf.recharge.Recharge.PbRechargeData37 result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public pb.xiugou.x1.protobuf.recharge.Recharge.PbRechargeData37 buildPartial() {
        pb.xiugou.x1.protobuf.recharge.Recharge.PbRechargeData37 result = new pb.xiugou.x1.protobuf.recharge.Recharge.PbRechargeData37(this);
        result.appid_ = appid_;
        result.gameId_ = gameId_;
        result.uid_ = uid_;
        result.sid_ = sid_;
        result.actorId_ = actorId_;
        result.orderNo_ = orderNo_;
        result.money_ = money_;
        result.gameCoin_ = gameCoin_;
        result.productId_ = productId_;
        result.subject_ = subject_;
        result.time_ = time_;
        result.sign_ = sign_;
        result.ext_ = ext_;
        onBuilt();
        return result;
      }

      @java.lang.Override
      public Builder clone() {
        return super.clone();
      }
      @java.lang.Override
      public Builder setField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.setField(field, value);
      }
      @java.lang.Override
      public Builder clearField(
          com.google.protobuf.Descriptors.FieldDescriptor field) {
        return super.clearField(field);
      }
      @java.lang.Override
      public Builder clearOneof(
          com.google.protobuf.Descriptors.OneofDescriptor oneof) {
        return super.clearOneof(oneof);
      }
      @java.lang.Override
      public Builder setRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          int index, java.lang.Object value) {
        return super.setRepeatedField(field, index, value);
      }
      @java.lang.Override
      public Builder addRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.addRepeatedField(field, value);
      }
      @java.lang.Override
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof pb.xiugou.x1.protobuf.recharge.Recharge.PbRechargeData37) {
          return mergeFrom((pb.xiugou.x1.protobuf.recharge.Recharge.PbRechargeData37)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(pb.xiugou.x1.protobuf.recharge.Recharge.PbRechargeData37 other) {
        if (other == pb.xiugou.x1.protobuf.recharge.Recharge.PbRechargeData37.getDefaultInstance()) return this;
        if (!other.getAppid().isEmpty()) {
          appid_ = other.appid_;
          onChanged();
        }
        if (other.getGameId() != 0) {
          setGameId(other.getGameId());
        }
        if (other.getUid() != 0L) {
          setUid(other.getUid());
        }
        if (other.getSid() != 0) {
          setSid(other.getSid());
        }
        if (!other.getActorId().isEmpty()) {
          actorId_ = other.actorId_;
          onChanged();
        }
        if (!other.getOrderNo().isEmpty()) {
          orderNo_ = other.orderNo_;
          onChanged();
        }
        if (!other.getMoney().isEmpty()) {
          money_ = other.money_;
          onChanged();
        }
        if (other.getGameCoin() != 0L) {
          setGameCoin(other.getGameCoin());
        }
        if (other.getProductId() != 0) {
          setProductId(other.getProductId());
        }
        if (!other.getSubject().isEmpty()) {
          subject_ = other.subject_;
          onChanged();
        }
        if (other.getTime() != 0) {
          setTime(other.getTime());
        }
        if (!other.getSign().isEmpty()) {
          sign_ = other.sign_;
          onChanged();
        }
        if (!other.getExt().isEmpty()) {
          ext_ = other.ext_;
          onChanged();
        }
        this.mergeUnknownFields(other.unknownFields);
        onChanged();
        return this;
      }

      @java.lang.Override
      public final boolean isInitialized() {
        return true;
      }

      @java.lang.Override
      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        pb.xiugou.x1.protobuf.recharge.Recharge.PbRechargeData37 parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (pb.xiugou.x1.protobuf.recharge.Recharge.PbRechargeData37) e.getUnfinishedMessage();
          throw e.unwrapIOException();
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }

      private java.lang.Object appid_ = "";
      /**
       * <code>string appid = 1;</code>
       * @return The appid.
       */
      public java.lang.String getAppid() {
        java.lang.Object ref = appid_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          appid_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <code>string appid = 1;</code>
       * @return The bytes for appid.
       */
      public com.google.protobuf.ByteString
          getAppidBytes() {
        java.lang.Object ref = appid_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          appid_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <code>string appid = 1;</code>
       * @param value The appid to set.
       * @return This builder for chaining.
       */
      public Builder setAppid(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        appid_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>string appid = 1;</code>
       * @return This builder for chaining.
       */
      public Builder clearAppid() {
        
        appid_ = getDefaultInstance().getAppid();
        onChanged();
        return this;
      }
      /**
       * <code>string appid = 1;</code>
       * @param value The bytes for appid to set.
       * @return This builder for chaining.
       */
      public Builder setAppidBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        
        appid_ = value;
        onChanged();
        return this;
      }

      private int gameId_ ;
      /**
       * <code>int32 game_id = 2;</code>
       * @return The gameId.
       */
      public int getGameId() {
        return gameId_;
      }
      /**
       * <code>int32 game_id = 2;</code>
       * @param value The gameId to set.
       * @return This builder for chaining.
       */
      public Builder setGameId(int value) {
        
        gameId_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>int32 game_id = 2;</code>
       * @return This builder for chaining.
       */
      public Builder clearGameId() {
        
        gameId_ = 0;
        onChanged();
        return this;
      }

      private long uid_ ;
      /**
       * <pre>
       *客户端不用填，只取值
       * </pre>
       *
       * <code>int64 uid = 3;</code>
       * @return The uid.
       */
      public long getUid() {
        return uid_;
      }
      /**
       * <pre>
       *客户端不用填，只取值
       * </pre>
       *
       * <code>int64 uid = 3;</code>
       * @param value The uid to set.
       * @return This builder for chaining.
       */
      public Builder setUid(long value) {
        
        uid_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *客户端不用填，只取值
       * </pre>
       *
       * <code>int64 uid = 3;</code>
       * @return This builder for chaining.
       */
      public Builder clearUid() {
        
        uid_ = 0L;
        onChanged();
        return this;
      }

      private int sid_ ;
      /**
       * <pre>
       *客户端不用填，只取值
       * </pre>
       *
       * <code>int32 sid = 4;</code>
       * @return The sid.
       */
      public int getSid() {
        return sid_;
      }
      /**
       * <pre>
       *客户端不用填，只取值
       * </pre>
       *
       * <code>int32 sid = 4;</code>
       * @param value The sid to set.
       * @return This builder for chaining.
       */
      public Builder setSid(int value) {
        
        sid_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *客户端不用填，只取值
       * </pre>
       *
       * <code>int32 sid = 4;</code>
       * @return This builder for chaining.
       */
      public Builder clearSid() {
        
        sid_ = 0;
        onChanged();
        return this;
      }

      private java.lang.Object actorId_ = "";
      /**
       * <pre>
       *客户端不用填，只取值
       * </pre>
       *
       * <code>string actor_id = 5;</code>
       * @return The actorId.
       */
      public java.lang.String getActorId() {
        java.lang.Object ref = actorId_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          actorId_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <pre>
       *客户端不用填，只取值
       * </pre>
       *
       * <code>string actor_id = 5;</code>
       * @return The bytes for actorId.
       */
      public com.google.protobuf.ByteString
          getActorIdBytes() {
        java.lang.Object ref = actorId_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          actorId_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <pre>
       *客户端不用填，只取值
       * </pre>
       *
       * <code>string actor_id = 5;</code>
       * @param value The actorId to set.
       * @return This builder for chaining.
       */
      public Builder setActorId(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        actorId_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *客户端不用填，只取值
       * </pre>
       *
       * <code>string actor_id = 5;</code>
       * @return This builder for chaining.
       */
      public Builder clearActorId() {
        
        actorId_ = getDefaultInstance().getActorId();
        onChanged();
        return this;
      }
      /**
       * <pre>
       *客户端不用填，只取值
       * </pre>
       *
       * <code>string actor_id = 5;</code>
       * @param value The bytes for actorId to set.
       * @return This builder for chaining.
       */
      public Builder setActorIdBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        
        actorId_ = value;
        onChanged();
        return this;
      }

      private java.lang.Object orderNo_ = "";
      /**
       * <pre>
       *客户端不用填，只取值
       * </pre>
       *
       * <code>string order_no = 6;</code>
       * @return The orderNo.
       */
      public java.lang.String getOrderNo() {
        java.lang.Object ref = orderNo_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          orderNo_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <pre>
       *客户端不用填，只取值
       * </pre>
       *
       * <code>string order_no = 6;</code>
       * @return The bytes for orderNo.
       */
      public com.google.protobuf.ByteString
          getOrderNoBytes() {
        java.lang.Object ref = orderNo_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          orderNo_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <pre>
       *客户端不用填，只取值
       * </pre>
       *
       * <code>string order_no = 6;</code>
       * @param value The orderNo to set.
       * @return This builder for chaining.
       */
      public Builder setOrderNo(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        orderNo_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *客户端不用填，只取值
       * </pre>
       *
       * <code>string order_no = 6;</code>
       * @return This builder for chaining.
       */
      public Builder clearOrderNo() {
        
        orderNo_ = getDefaultInstance().getOrderNo();
        onChanged();
        return this;
      }
      /**
       * <pre>
       *客户端不用填，只取值
       * </pre>
       *
       * <code>string order_no = 6;</code>
       * @param value The bytes for orderNo to set.
       * @return This builder for chaining.
       */
      public Builder setOrderNoBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        
        orderNo_ = value;
        onChanged();
        return this;
      }

      private java.lang.Object money_ = "";
      /**
       * <pre>
       *客户端不用填，只取值
       * </pre>
       *
       * <code>string money = 7;</code>
       * @return The money.
       */
      public java.lang.String getMoney() {
        java.lang.Object ref = money_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          money_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <pre>
       *客户端不用填，只取值
       * </pre>
       *
       * <code>string money = 7;</code>
       * @return The bytes for money.
       */
      public com.google.protobuf.ByteString
          getMoneyBytes() {
        java.lang.Object ref = money_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          money_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <pre>
       *客户端不用填，只取值
       * </pre>
       *
       * <code>string money = 7;</code>
       * @param value The money to set.
       * @return This builder for chaining.
       */
      public Builder setMoney(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        money_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *客户端不用填，只取值
       * </pre>
       *
       * <code>string money = 7;</code>
       * @return This builder for chaining.
       */
      public Builder clearMoney() {
        
        money_ = getDefaultInstance().getMoney();
        onChanged();
        return this;
      }
      /**
       * <pre>
       *客户端不用填，只取值
       * </pre>
       *
       * <code>string money = 7;</code>
       * @param value The bytes for money to set.
       * @return This builder for chaining.
       */
      public Builder setMoneyBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        
        money_ = value;
        onChanged();
        return this;
      }

      private long gameCoin_ ;
      /**
       * <pre>
       *客户端不用填，只取值
       * </pre>
       *
       * <code>int64 game_coin = 8;</code>
       * @return The gameCoin.
       */
      public long getGameCoin() {
        return gameCoin_;
      }
      /**
       * <pre>
       *客户端不用填，只取值
       * </pre>
       *
       * <code>int64 game_coin = 8;</code>
       * @param value The gameCoin to set.
       * @return This builder for chaining.
       */
      public Builder setGameCoin(long value) {
        
        gameCoin_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *客户端不用填，只取值
       * </pre>
       *
       * <code>int64 game_coin = 8;</code>
       * @return This builder for chaining.
       */
      public Builder clearGameCoin() {
        
        gameCoin_ = 0L;
        onChanged();
        return this;
      }

      private int productId_ ;
      /**
       * <pre>
       *客户端不用填，只取值
       * </pre>
       *
       * <code>int32 product_id = 9;</code>
       * @return The productId.
       */
      public int getProductId() {
        return productId_;
      }
      /**
       * <pre>
       *客户端不用填，只取值
       * </pre>
       *
       * <code>int32 product_id = 9;</code>
       * @param value The productId to set.
       * @return This builder for chaining.
       */
      public Builder setProductId(int value) {
        
        productId_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *客户端不用填，只取值
       * </pre>
       *
       * <code>int32 product_id = 9;</code>
       * @return This builder for chaining.
       */
      public Builder clearProductId() {
        
        productId_ = 0;
        onChanged();
        return this;
      }

      private java.lang.Object subject_ = "";
      /**
       * <pre>
       *客户端不用填，只取值
       * </pre>
       *
       * <code>string subject = 10;</code>
       * @return The subject.
       */
      public java.lang.String getSubject() {
        java.lang.Object ref = subject_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          subject_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <pre>
       *客户端不用填，只取值
       * </pre>
       *
       * <code>string subject = 10;</code>
       * @return The bytes for subject.
       */
      public com.google.protobuf.ByteString
          getSubjectBytes() {
        java.lang.Object ref = subject_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          subject_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <pre>
       *客户端不用填，只取值
       * </pre>
       *
       * <code>string subject = 10;</code>
       * @param value The subject to set.
       * @return This builder for chaining.
       */
      public Builder setSubject(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        subject_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *客户端不用填，只取值
       * </pre>
       *
       * <code>string subject = 10;</code>
       * @return This builder for chaining.
       */
      public Builder clearSubject() {
        
        subject_ = getDefaultInstance().getSubject();
        onChanged();
        return this;
      }
      /**
       * <pre>
       *客户端不用填，只取值
       * </pre>
       *
       * <code>string subject = 10;</code>
       * @param value The bytes for subject to set.
       * @return This builder for chaining.
       */
      public Builder setSubjectBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        
        subject_ = value;
        onChanged();
        return this;
      }

      private int time_ ;
      /**
       * <pre>
       *客户端不用填，只取值
       * </pre>
       *
       * <code>int32 time = 11;</code>
       * @return The time.
       */
      public int getTime() {
        return time_;
      }
      /**
       * <pre>
       *客户端不用填，只取值
       * </pre>
       *
       * <code>int32 time = 11;</code>
       * @param value The time to set.
       * @return This builder for chaining.
       */
      public Builder setTime(int value) {
        
        time_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *客户端不用填，只取值
       * </pre>
       *
       * <code>int32 time = 11;</code>
       * @return This builder for chaining.
       */
      public Builder clearTime() {
        
        time_ = 0;
        onChanged();
        return this;
      }

      private java.lang.Object sign_ = "";
      /**
       * <pre>
       *客户端不用填，只取值
       * </pre>
       *
       * <code>string sign = 12;</code>
       * @return The sign.
       */
      public java.lang.String getSign() {
        java.lang.Object ref = sign_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          sign_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <pre>
       *客户端不用填，只取值
       * </pre>
       *
       * <code>string sign = 12;</code>
       * @return The bytes for sign.
       */
      public com.google.protobuf.ByteString
          getSignBytes() {
        java.lang.Object ref = sign_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          sign_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <pre>
       *客户端不用填，只取值
       * </pre>
       *
       * <code>string sign = 12;</code>
       * @param value The sign to set.
       * @return This builder for chaining.
       */
      public Builder setSign(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        sign_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *客户端不用填，只取值
       * </pre>
       *
       * <code>string sign = 12;</code>
       * @return This builder for chaining.
       */
      public Builder clearSign() {
        
        sign_ = getDefaultInstance().getSign();
        onChanged();
        return this;
      }
      /**
       * <pre>
       *客户端不用填，只取值
       * </pre>
       *
       * <code>string sign = 12;</code>
       * @param value The bytes for sign to set.
       * @return This builder for chaining.
       */
      public Builder setSignBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        
        sign_ = value;
        onChanged();
        return this;
      }

      private java.lang.Object ext_ = "";
      /**
       * <pre>
       *客户端不用填，只取值
       * </pre>
       *
       * <code>string ext = 13;</code>
       * @return The ext.
       */
      public java.lang.String getExt() {
        java.lang.Object ref = ext_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          ext_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <pre>
       *客户端不用填，只取值
       * </pre>
       *
       * <code>string ext = 13;</code>
       * @return The bytes for ext.
       */
      public com.google.protobuf.ByteString
          getExtBytes() {
        java.lang.Object ref = ext_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          ext_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <pre>
       *客户端不用填，只取值
       * </pre>
       *
       * <code>string ext = 13;</code>
       * @param value The ext to set.
       * @return This builder for chaining.
       */
      public Builder setExt(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        ext_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *客户端不用填，只取值
       * </pre>
       *
       * <code>string ext = 13;</code>
       * @return This builder for chaining.
       */
      public Builder clearExt() {
        
        ext_ = getDefaultInstance().getExt();
        onChanged();
        return this;
      }
      /**
       * <pre>
       *客户端不用填，只取值
       * </pre>
       *
       * <code>string ext = 13;</code>
       * @param value The bytes for ext to set.
       * @return This builder for chaining.
       */
      public Builder setExtBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        
        ext_ = value;
        onChanged();
        return this;
      }
      @java.lang.Override
      public final Builder setUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.setUnknownFields(unknownFields);
      }

      @java.lang.Override
      public final Builder mergeUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.mergeUnknownFields(unknownFields);
      }


      // @@protoc_insertion_point(builder_scope:pb.PbRechargeData37)
    }

    // @@protoc_insertion_point(class_scope:pb.PbRechargeData37)
    private static final pb.xiugou.x1.protobuf.recharge.Recharge.PbRechargeData37 DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new pb.xiugou.x1.protobuf.recharge.Recharge.PbRechargeData37();
    }

    public static pb.xiugou.x1.protobuf.recharge.Recharge.PbRechargeData37 getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static final com.google.protobuf.Parser<PbRechargeData37>
        PARSER = new com.google.protobuf.AbstractParser<PbRechargeData37>() {
      @java.lang.Override
      public PbRechargeData37 parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new PbRechargeData37(input, extensionRegistry);
      }
    };

    public static com.google.protobuf.Parser<PbRechargeData37> parser() {
      return PARSER;
    }

    @java.lang.Override
    public com.google.protobuf.Parser<PbRechargeData37> getParserForType() {
      return PARSER;
    }

    @java.lang.Override
    public pb.xiugou.x1.protobuf.recharge.Recharge.PbRechargeData37 getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface PbRechargeDataYiLeOrBuilder extends
      // @@protoc_insertion_point(interface_extends:pb.PbRechargeDataYiLe)
      com.google.protobuf.MessageOrBuilder {

    /**
     * <pre>
     *支付金额，单位元，可传小数	客户端不用填，只取值
     * </pre>
     *
     * <code>string amount = 1;</code>
     * @return The amount.
     */
    java.lang.String getAmount();
    /**
     * <pre>
     *支付金额，单位元，可传小数	客户端不用填，只取值
     * </pre>
     *
     * <code>string amount = 1;</code>
     * @return The bytes for amount.
     */
    com.google.protobuf.ByteString
        getAmountBytes();

    /**
     * <pre>
     *角色ID				客户端不用填，只取值
     * </pre>
     *
     * <code>int64 role_id = 2;</code>
     * @return The roleId.
     */
    long getRoleId();

    /**
     * <pre>
     *角色名				客户端不用填，只取值
     * </pre>
     *
     * <code>string role_name = 3;</code>
     * @return The roleName.
     */
    java.lang.String getRoleName();
    /**
     * <pre>
     *角色名				客户端不用填，只取值
     * </pre>
     *
     * <code>string role_name = 3;</code>
     * @return The bytes for roleName.
     */
    com.google.protobuf.ByteString
        getRoleNameBytes();

    /**
     * <pre>
     *角色所在区服ID		客户端不用填，只取值
     * </pre>
     *
     * <code>int32 server_id = 4;</code>
     * @return The serverId.
     */
    int getServerId();

    /**
     * <pre>
     *角色所在区服名		客户端不用填，只取值
     * </pre>
     *
     * <code>string server_name = 5;</code>
     * @return The serverName.
     */
    java.lang.String getServerName();
    /**
     * <pre>
     *角色所在区服名		客户端不用填，只取值
     * </pre>
     *
     * <code>string server_name = 5;</code>
     * @return The bytes for serverName.
     */
    com.google.protobuf.ByteString
        getServerNameBytes();

    /**
     * <pre>
     *购买商品ID			客户端不用填，只取值
     * </pre>
     *
     * <code>int32 goods_id = 6;</code>
     * @return The goodsId.
     */
    int getGoodsId();

    /**
     * <pre>
     *购买商品描述		客户端不用填，只取值
     * </pre>
     *
     * <code>string goods_desc = 7;</code>
     * @return The goodsDesc.
     */
    java.lang.String getGoodsDesc();
    /**
     * <pre>
     *购买商品描述		客户端不用填，只取值
     * </pre>
     *
     * <code>string goods_desc = 7;</code>
     * @return The bytes for goodsDesc.
     */
    com.google.protobuf.ByteString
        getGoodsDescBytes();

    /**
     * <pre>
     *本次下单游戏订单号	客户端不用填，只取值
     * </pre>
     *
     * <code>string cp_order_id = 8;</code>
     * @return The cpOrderId.
     */
    java.lang.String getCpOrderId();
    /**
     * <pre>
     *本次下单游戏订单号	客户端不用填，只取值
     * </pre>
     *
     * <code>string cp_order_id = 8;</code>
     * @return The bytes for cpOrderId.
     */
    com.google.protobuf.ByteString
        getCpOrderIdBytes();

    /**
     * <pre>
     *透传参数			客户端不用填，只取值
     * </pre>
     *
     * <code>string ext = 9;</code>
     * @return The ext.
     */
    java.lang.String getExt();
    /**
     * <pre>
     *透传参数			客户端不用填，只取值
     * </pre>
     *
     * <code>string ext = 9;</code>
     * @return The bytes for ext.
     */
    com.google.protobuf.ByteString
        getExtBytes();
  }
  /**
   * <pre>
   *益乐充值参数
   * </pre>
   *
   * Protobuf type {@code pb.PbRechargeDataYiLe}
   */
  public  static final class PbRechargeDataYiLe extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:pb.PbRechargeDataYiLe)
      PbRechargeDataYiLeOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use PbRechargeDataYiLe.newBuilder() to construct.
    private PbRechargeDataYiLe(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
      super(builder);
    }
    private PbRechargeDataYiLe() {
      amount_ = "";
      roleName_ = "";
      serverName_ = "";
      goodsDesc_ = "";
      cpOrderId_ = "";
      ext_ = "";
    }

    @java.lang.Override
    @SuppressWarnings({"unused"})
    protected java.lang.Object newInstance(
        UnusedPrivateParameter unused) {
      return new PbRechargeDataYiLe();
    }

    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    private PbRechargeDataYiLe(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      this();
      if (extensionRegistry == null) {
        throw new java.lang.NullPointerException();
      }
      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            case 10: {
              java.lang.String s = input.readStringRequireUtf8();

              amount_ = s;
              break;
            }
            case 16: {

              roleId_ = input.readInt64();
              break;
            }
            case 26: {
              java.lang.String s = input.readStringRequireUtf8();

              roleName_ = s;
              break;
            }
            case 32: {

              serverId_ = input.readInt32();
              break;
            }
            case 42: {
              java.lang.String s = input.readStringRequireUtf8();

              serverName_ = s;
              break;
            }
            case 48: {

              goodsId_ = input.readInt32();
              break;
            }
            case 58: {
              java.lang.String s = input.readStringRequireUtf8();

              goodsDesc_ = s;
              break;
            }
            case 66: {
              java.lang.String s = input.readStringRequireUtf8();

              cpOrderId_ = s;
              break;
            }
            case 74: {
              java.lang.String s = input.readStringRequireUtf8();

              ext_ = s;
              break;
            }
            default: {
              if (!parseUnknownField(
                  input, unknownFields, extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e).setUnfinishedMessage(this);
      } finally {
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return pb.xiugou.x1.protobuf.recharge.Recharge.internal_static_pb_PbRechargeDataYiLe_descriptor;
    }

    @java.lang.Override
    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return pb.xiugou.x1.protobuf.recharge.Recharge.internal_static_pb_PbRechargeDataYiLe_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              pb.xiugou.x1.protobuf.recharge.Recharge.PbRechargeDataYiLe.class, pb.xiugou.x1.protobuf.recharge.Recharge.PbRechargeDataYiLe.Builder.class);
    }

    public static final int AMOUNT_FIELD_NUMBER = 1;
    private volatile java.lang.Object amount_;
    /**
     * <pre>
     *支付金额，单位元，可传小数	客户端不用填，只取值
     * </pre>
     *
     * <code>string amount = 1;</code>
     * @return The amount.
     */
    public java.lang.String getAmount() {
      java.lang.Object ref = amount_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        amount_ = s;
        return s;
      }
    }
    /**
     * <pre>
     *支付金额，单位元，可传小数	客户端不用填，只取值
     * </pre>
     *
     * <code>string amount = 1;</code>
     * @return The bytes for amount.
     */
    public com.google.protobuf.ByteString
        getAmountBytes() {
      java.lang.Object ref = amount_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        amount_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int ROLE_ID_FIELD_NUMBER = 2;
    private long roleId_;
    /**
     * <pre>
     *角色ID				客户端不用填，只取值
     * </pre>
     *
     * <code>int64 role_id = 2;</code>
     * @return The roleId.
     */
    public long getRoleId() {
      return roleId_;
    }

    public static final int ROLE_NAME_FIELD_NUMBER = 3;
    private volatile java.lang.Object roleName_;
    /**
     * <pre>
     *角色名				客户端不用填，只取值
     * </pre>
     *
     * <code>string role_name = 3;</code>
     * @return The roleName.
     */
    public java.lang.String getRoleName() {
      java.lang.Object ref = roleName_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        roleName_ = s;
        return s;
      }
    }
    /**
     * <pre>
     *角色名				客户端不用填，只取值
     * </pre>
     *
     * <code>string role_name = 3;</code>
     * @return The bytes for roleName.
     */
    public com.google.protobuf.ByteString
        getRoleNameBytes() {
      java.lang.Object ref = roleName_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        roleName_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int SERVER_ID_FIELD_NUMBER = 4;
    private int serverId_;
    /**
     * <pre>
     *角色所在区服ID		客户端不用填，只取值
     * </pre>
     *
     * <code>int32 server_id = 4;</code>
     * @return The serverId.
     */
    public int getServerId() {
      return serverId_;
    }

    public static final int SERVER_NAME_FIELD_NUMBER = 5;
    private volatile java.lang.Object serverName_;
    /**
     * <pre>
     *角色所在区服名		客户端不用填，只取值
     * </pre>
     *
     * <code>string server_name = 5;</code>
     * @return The serverName.
     */
    public java.lang.String getServerName() {
      java.lang.Object ref = serverName_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        serverName_ = s;
        return s;
      }
    }
    /**
     * <pre>
     *角色所在区服名		客户端不用填，只取值
     * </pre>
     *
     * <code>string server_name = 5;</code>
     * @return The bytes for serverName.
     */
    public com.google.protobuf.ByteString
        getServerNameBytes() {
      java.lang.Object ref = serverName_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        serverName_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int GOODS_ID_FIELD_NUMBER = 6;
    private int goodsId_;
    /**
     * <pre>
     *购买商品ID			客户端不用填，只取值
     * </pre>
     *
     * <code>int32 goods_id = 6;</code>
     * @return The goodsId.
     */
    public int getGoodsId() {
      return goodsId_;
    }

    public static final int GOODS_DESC_FIELD_NUMBER = 7;
    private volatile java.lang.Object goodsDesc_;
    /**
     * <pre>
     *购买商品描述		客户端不用填，只取值
     * </pre>
     *
     * <code>string goods_desc = 7;</code>
     * @return The goodsDesc.
     */
    public java.lang.String getGoodsDesc() {
      java.lang.Object ref = goodsDesc_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        goodsDesc_ = s;
        return s;
      }
    }
    /**
     * <pre>
     *购买商品描述		客户端不用填，只取值
     * </pre>
     *
     * <code>string goods_desc = 7;</code>
     * @return The bytes for goodsDesc.
     */
    public com.google.protobuf.ByteString
        getGoodsDescBytes() {
      java.lang.Object ref = goodsDesc_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        goodsDesc_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int CP_ORDER_ID_FIELD_NUMBER = 8;
    private volatile java.lang.Object cpOrderId_;
    /**
     * <pre>
     *本次下单游戏订单号	客户端不用填，只取值
     * </pre>
     *
     * <code>string cp_order_id = 8;</code>
     * @return The cpOrderId.
     */
    public java.lang.String getCpOrderId() {
      java.lang.Object ref = cpOrderId_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        cpOrderId_ = s;
        return s;
      }
    }
    /**
     * <pre>
     *本次下单游戏订单号	客户端不用填，只取值
     * </pre>
     *
     * <code>string cp_order_id = 8;</code>
     * @return The bytes for cpOrderId.
     */
    public com.google.protobuf.ByteString
        getCpOrderIdBytes() {
      java.lang.Object ref = cpOrderId_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        cpOrderId_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int EXT_FIELD_NUMBER = 9;
    private volatile java.lang.Object ext_;
    /**
     * <pre>
     *透传参数			客户端不用填，只取值
     * </pre>
     *
     * <code>string ext = 9;</code>
     * @return The ext.
     */
    public java.lang.String getExt() {
      java.lang.Object ref = ext_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        ext_ = s;
        return s;
      }
    }
    /**
     * <pre>
     *透传参数			客户端不用填，只取值
     * </pre>
     *
     * <code>string ext = 9;</code>
     * @return The bytes for ext.
     */
    public com.google.protobuf.ByteString
        getExtBytes() {
      java.lang.Object ref = ext_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        ext_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    private byte memoizedIsInitialized = -1;
    @java.lang.Override
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized == 1) return true;
      if (isInitialized == 0) return false;

      memoizedIsInitialized = 1;
      return true;
    }

    @java.lang.Override
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (!getAmountBytes().isEmpty()) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 1, amount_);
      }
      if (roleId_ != 0L) {
        output.writeInt64(2, roleId_);
      }
      if (!getRoleNameBytes().isEmpty()) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 3, roleName_);
      }
      if (serverId_ != 0) {
        output.writeInt32(4, serverId_);
      }
      if (!getServerNameBytes().isEmpty()) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 5, serverName_);
      }
      if (goodsId_ != 0) {
        output.writeInt32(6, goodsId_);
      }
      if (!getGoodsDescBytes().isEmpty()) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 7, goodsDesc_);
      }
      if (!getCpOrderIdBytes().isEmpty()) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 8, cpOrderId_);
      }
      if (!getExtBytes().isEmpty()) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 9, ext_);
      }
      unknownFields.writeTo(output);
    }

    @java.lang.Override
    public int getSerializedSize() {
      int size = memoizedSize;
      if (size != -1) return size;

      size = 0;
      if (!getAmountBytes().isEmpty()) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, amount_);
      }
      if (roleId_ != 0L) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt64Size(2, roleId_);
      }
      if (!getRoleNameBytes().isEmpty()) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(3, roleName_);
      }
      if (serverId_ != 0) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(4, serverId_);
      }
      if (!getServerNameBytes().isEmpty()) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(5, serverName_);
      }
      if (goodsId_ != 0) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(6, goodsId_);
      }
      if (!getGoodsDescBytes().isEmpty()) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(7, goodsDesc_);
      }
      if (!getCpOrderIdBytes().isEmpty()) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(8, cpOrderId_);
      }
      if (!getExtBytes().isEmpty()) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(9, ext_);
      }
      size += unknownFields.getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof pb.xiugou.x1.protobuf.recharge.Recharge.PbRechargeDataYiLe)) {
        return super.equals(obj);
      }
      pb.xiugou.x1.protobuf.recharge.Recharge.PbRechargeDataYiLe other = (pb.xiugou.x1.protobuf.recharge.Recharge.PbRechargeDataYiLe) obj;

      if (!getAmount()
          .equals(other.getAmount())) return false;
      if (getRoleId()
          != other.getRoleId()) return false;
      if (!getRoleName()
          .equals(other.getRoleName())) return false;
      if (getServerId()
          != other.getServerId()) return false;
      if (!getServerName()
          .equals(other.getServerName())) return false;
      if (getGoodsId()
          != other.getGoodsId()) return false;
      if (!getGoodsDesc()
          .equals(other.getGoodsDesc())) return false;
      if (!getCpOrderId()
          .equals(other.getCpOrderId())) return false;
      if (!getExt()
          .equals(other.getExt())) return false;
      if (!unknownFields.equals(other.unknownFields)) return false;
      return true;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      hash = (37 * hash) + AMOUNT_FIELD_NUMBER;
      hash = (53 * hash) + getAmount().hashCode();
      hash = (37 * hash) + ROLE_ID_FIELD_NUMBER;
      hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
          getRoleId());
      hash = (37 * hash) + ROLE_NAME_FIELD_NUMBER;
      hash = (53 * hash) + getRoleName().hashCode();
      hash = (37 * hash) + SERVER_ID_FIELD_NUMBER;
      hash = (53 * hash) + getServerId();
      hash = (37 * hash) + SERVER_NAME_FIELD_NUMBER;
      hash = (53 * hash) + getServerName().hashCode();
      hash = (37 * hash) + GOODS_ID_FIELD_NUMBER;
      hash = (53 * hash) + getGoodsId();
      hash = (37 * hash) + GOODS_DESC_FIELD_NUMBER;
      hash = (53 * hash) + getGoodsDesc().hashCode();
      hash = (37 * hash) + CP_ORDER_ID_FIELD_NUMBER;
      hash = (53 * hash) + getCpOrderId().hashCode();
      hash = (37 * hash) + EXT_FIELD_NUMBER;
      hash = (53 * hash) + getExt().hashCode();
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static pb.xiugou.x1.protobuf.recharge.Recharge.PbRechargeDataYiLe parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static pb.xiugou.x1.protobuf.recharge.Recharge.PbRechargeDataYiLe parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static pb.xiugou.x1.protobuf.recharge.Recharge.PbRechargeDataYiLe parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static pb.xiugou.x1.protobuf.recharge.Recharge.PbRechargeDataYiLe parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static pb.xiugou.x1.protobuf.recharge.Recharge.PbRechargeDataYiLe parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static pb.xiugou.x1.protobuf.recharge.Recharge.PbRechargeDataYiLe parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static pb.xiugou.x1.protobuf.recharge.Recharge.PbRechargeDataYiLe parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static pb.xiugou.x1.protobuf.recharge.Recharge.PbRechargeDataYiLe parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }
    public static pb.xiugou.x1.protobuf.recharge.Recharge.PbRechargeDataYiLe parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }
    public static pb.xiugou.x1.protobuf.recharge.Recharge.PbRechargeDataYiLe parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
    }
    public static pb.xiugou.x1.protobuf.recharge.Recharge.PbRechargeDataYiLe parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static pb.xiugou.x1.protobuf.recharge.Recharge.PbRechargeDataYiLe parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    @java.lang.Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(pb.xiugou.x1.protobuf.recharge.Recharge.PbRechargeDataYiLe prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    @java.lang.Override
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * <pre>
     *益乐充值参数
     * </pre>
     *
     * Protobuf type {@code pb.PbRechargeDataYiLe}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:pb.PbRechargeDataYiLe)
        pb.xiugou.x1.protobuf.recharge.Recharge.PbRechargeDataYiLeOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return pb.xiugou.x1.protobuf.recharge.Recharge.internal_static_pb_PbRechargeDataYiLe_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return pb.xiugou.x1.protobuf.recharge.Recharge.internal_static_pb_PbRechargeDataYiLe_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                pb.xiugou.x1.protobuf.recharge.Recharge.PbRechargeDataYiLe.class, pb.xiugou.x1.protobuf.recharge.Recharge.PbRechargeDataYiLe.Builder.class);
      }

      // Construct using pb.xiugou.x1.protobuf.recharge.Recharge.PbRechargeDataYiLe.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessageV3
                .alwaysUseFieldBuilders) {
        }
      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        amount_ = "";

        roleId_ = 0L;

        roleName_ = "";

        serverId_ = 0;

        serverName_ = "";

        goodsId_ = 0;

        goodsDesc_ = "";

        cpOrderId_ = "";

        ext_ = "";

        return this;
      }

      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return pb.xiugou.x1.protobuf.recharge.Recharge.internal_static_pb_PbRechargeDataYiLe_descriptor;
      }

      @java.lang.Override
      public pb.xiugou.x1.protobuf.recharge.Recharge.PbRechargeDataYiLe getDefaultInstanceForType() {
        return pb.xiugou.x1.protobuf.recharge.Recharge.PbRechargeDataYiLe.getDefaultInstance();
      }

      @java.lang.Override
      public pb.xiugou.x1.protobuf.recharge.Recharge.PbRechargeDataYiLe build() {
        pb.xiugou.x1.protobuf.recharge.Recharge.PbRechargeDataYiLe result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public pb.xiugou.x1.protobuf.recharge.Recharge.PbRechargeDataYiLe buildPartial() {
        pb.xiugou.x1.protobuf.recharge.Recharge.PbRechargeDataYiLe result = new pb.xiugou.x1.protobuf.recharge.Recharge.PbRechargeDataYiLe(this);
        result.amount_ = amount_;
        result.roleId_ = roleId_;
        result.roleName_ = roleName_;
        result.serverId_ = serverId_;
        result.serverName_ = serverName_;
        result.goodsId_ = goodsId_;
        result.goodsDesc_ = goodsDesc_;
        result.cpOrderId_ = cpOrderId_;
        result.ext_ = ext_;
        onBuilt();
        return result;
      }

      @java.lang.Override
      public Builder clone() {
        return super.clone();
      }
      @java.lang.Override
      public Builder setField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.setField(field, value);
      }
      @java.lang.Override
      public Builder clearField(
          com.google.protobuf.Descriptors.FieldDescriptor field) {
        return super.clearField(field);
      }
      @java.lang.Override
      public Builder clearOneof(
          com.google.protobuf.Descriptors.OneofDescriptor oneof) {
        return super.clearOneof(oneof);
      }
      @java.lang.Override
      public Builder setRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          int index, java.lang.Object value) {
        return super.setRepeatedField(field, index, value);
      }
      @java.lang.Override
      public Builder addRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.addRepeatedField(field, value);
      }
      @java.lang.Override
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof pb.xiugou.x1.protobuf.recharge.Recharge.PbRechargeDataYiLe) {
          return mergeFrom((pb.xiugou.x1.protobuf.recharge.Recharge.PbRechargeDataYiLe)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(pb.xiugou.x1.protobuf.recharge.Recharge.PbRechargeDataYiLe other) {
        if (other == pb.xiugou.x1.protobuf.recharge.Recharge.PbRechargeDataYiLe.getDefaultInstance()) return this;
        if (!other.getAmount().isEmpty()) {
          amount_ = other.amount_;
          onChanged();
        }
        if (other.getRoleId() != 0L) {
          setRoleId(other.getRoleId());
        }
        if (!other.getRoleName().isEmpty()) {
          roleName_ = other.roleName_;
          onChanged();
        }
        if (other.getServerId() != 0) {
          setServerId(other.getServerId());
        }
        if (!other.getServerName().isEmpty()) {
          serverName_ = other.serverName_;
          onChanged();
        }
        if (other.getGoodsId() != 0) {
          setGoodsId(other.getGoodsId());
        }
        if (!other.getGoodsDesc().isEmpty()) {
          goodsDesc_ = other.goodsDesc_;
          onChanged();
        }
        if (!other.getCpOrderId().isEmpty()) {
          cpOrderId_ = other.cpOrderId_;
          onChanged();
        }
        if (!other.getExt().isEmpty()) {
          ext_ = other.ext_;
          onChanged();
        }
        this.mergeUnknownFields(other.unknownFields);
        onChanged();
        return this;
      }

      @java.lang.Override
      public final boolean isInitialized() {
        return true;
      }

      @java.lang.Override
      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        pb.xiugou.x1.protobuf.recharge.Recharge.PbRechargeDataYiLe parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (pb.xiugou.x1.protobuf.recharge.Recharge.PbRechargeDataYiLe) e.getUnfinishedMessage();
          throw e.unwrapIOException();
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }

      private java.lang.Object amount_ = "";
      /**
       * <pre>
       *支付金额，单位元，可传小数	客户端不用填，只取值
       * </pre>
       *
       * <code>string amount = 1;</code>
       * @return The amount.
       */
      public java.lang.String getAmount() {
        java.lang.Object ref = amount_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          amount_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <pre>
       *支付金额，单位元，可传小数	客户端不用填，只取值
       * </pre>
       *
       * <code>string amount = 1;</code>
       * @return The bytes for amount.
       */
      public com.google.protobuf.ByteString
          getAmountBytes() {
        java.lang.Object ref = amount_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          amount_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <pre>
       *支付金额，单位元，可传小数	客户端不用填，只取值
       * </pre>
       *
       * <code>string amount = 1;</code>
       * @param value The amount to set.
       * @return This builder for chaining.
       */
      public Builder setAmount(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        amount_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *支付金额，单位元，可传小数	客户端不用填，只取值
       * </pre>
       *
       * <code>string amount = 1;</code>
       * @return This builder for chaining.
       */
      public Builder clearAmount() {
        
        amount_ = getDefaultInstance().getAmount();
        onChanged();
        return this;
      }
      /**
       * <pre>
       *支付金额，单位元，可传小数	客户端不用填，只取值
       * </pre>
       *
       * <code>string amount = 1;</code>
       * @param value The bytes for amount to set.
       * @return This builder for chaining.
       */
      public Builder setAmountBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        
        amount_ = value;
        onChanged();
        return this;
      }

      private long roleId_ ;
      /**
       * <pre>
       *角色ID				客户端不用填，只取值
       * </pre>
       *
       * <code>int64 role_id = 2;</code>
       * @return The roleId.
       */
      public long getRoleId() {
        return roleId_;
      }
      /**
       * <pre>
       *角色ID				客户端不用填，只取值
       * </pre>
       *
       * <code>int64 role_id = 2;</code>
       * @param value The roleId to set.
       * @return This builder for chaining.
       */
      public Builder setRoleId(long value) {
        
        roleId_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *角色ID				客户端不用填，只取值
       * </pre>
       *
       * <code>int64 role_id = 2;</code>
       * @return This builder for chaining.
       */
      public Builder clearRoleId() {
        
        roleId_ = 0L;
        onChanged();
        return this;
      }

      private java.lang.Object roleName_ = "";
      /**
       * <pre>
       *角色名				客户端不用填，只取值
       * </pre>
       *
       * <code>string role_name = 3;</code>
       * @return The roleName.
       */
      public java.lang.String getRoleName() {
        java.lang.Object ref = roleName_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          roleName_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <pre>
       *角色名				客户端不用填，只取值
       * </pre>
       *
       * <code>string role_name = 3;</code>
       * @return The bytes for roleName.
       */
      public com.google.protobuf.ByteString
          getRoleNameBytes() {
        java.lang.Object ref = roleName_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          roleName_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <pre>
       *角色名				客户端不用填，只取值
       * </pre>
       *
       * <code>string role_name = 3;</code>
       * @param value The roleName to set.
       * @return This builder for chaining.
       */
      public Builder setRoleName(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        roleName_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *角色名				客户端不用填，只取值
       * </pre>
       *
       * <code>string role_name = 3;</code>
       * @return This builder for chaining.
       */
      public Builder clearRoleName() {
        
        roleName_ = getDefaultInstance().getRoleName();
        onChanged();
        return this;
      }
      /**
       * <pre>
       *角色名				客户端不用填，只取值
       * </pre>
       *
       * <code>string role_name = 3;</code>
       * @param value The bytes for roleName to set.
       * @return This builder for chaining.
       */
      public Builder setRoleNameBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        
        roleName_ = value;
        onChanged();
        return this;
      }

      private int serverId_ ;
      /**
       * <pre>
       *角色所在区服ID		客户端不用填，只取值
       * </pre>
       *
       * <code>int32 server_id = 4;</code>
       * @return The serverId.
       */
      public int getServerId() {
        return serverId_;
      }
      /**
       * <pre>
       *角色所在区服ID		客户端不用填，只取值
       * </pre>
       *
       * <code>int32 server_id = 4;</code>
       * @param value The serverId to set.
       * @return This builder for chaining.
       */
      public Builder setServerId(int value) {
        
        serverId_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *角色所在区服ID		客户端不用填，只取值
       * </pre>
       *
       * <code>int32 server_id = 4;</code>
       * @return This builder for chaining.
       */
      public Builder clearServerId() {
        
        serverId_ = 0;
        onChanged();
        return this;
      }

      private java.lang.Object serverName_ = "";
      /**
       * <pre>
       *角色所在区服名		客户端不用填，只取值
       * </pre>
       *
       * <code>string server_name = 5;</code>
       * @return The serverName.
       */
      public java.lang.String getServerName() {
        java.lang.Object ref = serverName_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          serverName_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <pre>
       *角色所在区服名		客户端不用填，只取值
       * </pre>
       *
       * <code>string server_name = 5;</code>
       * @return The bytes for serverName.
       */
      public com.google.protobuf.ByteString
          getServerNameBytes() {
        java.lang.Object ref = serverName_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          serverName_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <pre>
       *角色所在区服名		客户端不用填，只取值
       * </pre>
       *
       * <code>string server_name = 5;</code>
       * @param value The serverName to set.
       * @return This builder for chaining.
       */
      public Builder setServerName(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        serverName_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *角色所在区服名		客户端不用填，只取值
       * </pre>
       *
       * <code>string server_name = 5;</code>
       * @return This builder for chaining.
       */
      public Builder clearServerName() {
        
        serverName_ = getDefaultInstance().getServerName();
        onChanged();
        return this;
      }
      /**
       * <pre>
       *角色所在区服名		客户端不用填，只取值
       * </pre>
       *
       * <code>string server_name = 5;</code>
       * @param value The bytes for serverName to set.
       * @return This builder for chaining.
       */
      public Builder setServerNameBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        
        serverName_ = value;
        onChanged();
        return this;
      }

      private int goodsId_ ;
      /**
       * <pre>
       *购买商品ID			客户端不用填，只取值
       * </pre>
       *
       * <code>int32 goods_id = 6;</code>
       * @return The goodsId.
       */
      public int getGoodsId() {
        return goodsId_;
      }
      /**
       * <pre>
       *购买商品ID			客户端不用填，只取值
       * </pre>
       *
       * <code>int32 goods_id = 6;</code>
       * @param value The goodsId to set.
       * @return This builder for chaining.
       */
      public Builder setGoodsId(int value) {
        
        goodsId_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *购买商品ID			客户端不用填，只取值
       * </pre>
       *
       * <code>int32 goods_id = 6;</code>
       * @return This builder for chaining.
       */
      public Builder clearGoodsId() {
        
        goodsId_ = 0;
        onChanged();
        return this;
      }

      private java.lang.Object goodsDesc_ = "";
      /**
       * <pre>
       *购买商品描述		客户端不用填，只取值
       * </pre>
       *
       * <code>string goods_desc = 7;</code>
       * @return The goodsDesc.
       */
      public java.lang.String getGoodsDesc() {
        java.lang.Object ref = goodsDesc_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          goodsDesc_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <pre>
       *购买商品描述		客户端不用填，只取值
       * </pre>
       *
       * <code>string goods_desc = 7;</code>
       * @return The bytes for goodsDesc.
       */
      public com.google.protobuf.ByteString
          getGoodsDescBytes() {
        java.lang.Object ref = goodsDesc_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          goodsDesc_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <pre>
       *购买商品描述		客户端不用填，只取值
       * </pre>
       *
       * <code>string goods_desc = 7;</code>
       * @param value The goodsDesc to set.
       * @return This builder for chaining.
       */
      public Builder setGoodsDesc(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        goodsDesc_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *购买商品描述		客户端不用填，只取值
       * </pre>
       *
       * <code>string goods_desc = 7;</code>
       * @return This builder for chaining.
       */
      public Builder clearGoodsDesc() {
        
        goodsDesc_ = getDefaultInstance().getGoodsDesc();
        onChanged();
        return this;
      }
      /**
       * <pre>
       *购买商品描述		客户端不用填，只取值
       * </pre>
       *
       * <code>string goods_desc = 7;</code>
       * @param value The bytes for goodsDesc to set.
       * @return This builder for chaining.
       */
      public Builder setGoodsDescBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        
        goodsDesc_ = value;
        onChanged();
        return this;
      }

      private java.lang.Object cpOrderId_ = "";
      /**
       * <pre>
       *本次下单游戏订单号	客户端不用填，只取值
       * </pre>
       *
       * <code>string cp_order_id = 8;</code>
       * @return The cpOrderId.
       */
      public java.lang.String getCpOrderId() {
        java.lang.Object ref = cpOrderId_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          cpOrderId_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <pre>
       *本次下单游戏订单号	客户端不用填，只取值
       * </pre>
       *
       * <code>string cp_order_id = 8;</code>
       * @return The bytes for cpOrderId.
       */
      public com.google.protobuf.ByteString
          getCpOrderIdBytes() {
        java.lang.Object ref = cpOrderId_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          cpOrderId_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <pre>
       *本次下单游戏订单号	客户端不用填，只取值
       * </pre>
       *
       * <code>string cp_order_id = 8;</code>
       * @param value The cpOrderId to set.
       * @return This builder for chaining.
       */
      public Builder setCpOrderId(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        cpOrderId_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *本次下单游戏订单号	客户端不用填，只取值
       * </pre>
       *
       * <code>string cp_order_id = 8;</code>
       * @return This builder for chaining.
       */
      public Builder clearCpOrderId() {
        
        cpOrderId_ = getDefaultInstance().getCpOrderId();
        onChanged();
        return this;
      }
      /**
       * <pre>
       *本次下单游戏订单号	客户端不用填，只取值
       * </pre>
       *
       * <code>string cp_order_id = 8;</code>
       * @param value The bytes for cpOrderId to set.
       * @return This builder for chaining.
       */
      public Builder setCpOrderIdBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        
        cpOrderId_ = value;
        onChanged();
        return this;
      }

      private java.lang.Object ext_ = "";
      /**
       * <pre>
       *透传参数			客户端不用填，只取值
       * </pre>
       *
       * <code>string ext = 9;</code>
       * @return The ext.
       */
      public java.lang.String getExt() {
        java.lang.Object ref = ext_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          ext_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <pre>
       *透传参数			客户端不用填，只取值
       * </pre>
       *
       * <code>string ext = 9;</code>
       * @return The bytes for ext.
       */
      public com.google.protobuf.ByteString
          getExtBytes() {
        java.lang.Object ref = ext_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          ext_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <pre>
       *透传参数			客户端不用填，只取值
       * </pre>
       *
       * <code>string ext = 9;</code>
       * @param value The ext to set.
       * @return This builder for chaining.
       */
      public Builder setExt(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        ext_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *透传参数			客户端不用填，只取值
       * </pre>
       *
       * <code>string ext = 9;</code>
       * @return This builder for chaining.
       */
      public Builder clearExt() {
        
        ext_ = getDefaultInstance().getExt();
        onChanged();
        return this;
      }
      /**
       * <pre>
       *透传参数			客户端不用填，只取值
       * </pre>
       *
       * <code>string ext = 9;</code>
       * @param value The bytes for ext to set.
       * @return This builder for chaining.
       */
      public Builder setExtBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        
        ext_ = value;
        onChanged();
        return this;
      }
      @java.lang.Override
      public final Builder setUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.setUnknownFields(unknownFields);
      }

      @java.lang.Override
      public final Builder mergeUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.mergeUnknownFields(unknownFields);
      }


      // @@protoc_insertion_point(builder_scope:pb.PbRechargeDataYiLe)
    }

    // @@protoc_insertion_point(class_scope:pb.PbRechargeDataYiLe)
    private static final pb.xiugou.x1.protobuf.recharge.Recharge.PbRechargeDataYiLe DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new pb.xiugou.x1.protobuf.recharge.Recharge.PbRechargeDataYiLe();
    }

    public static pb.xiugou.x1.protobuf.recharge.Recharge.PbRechargeDataYiLe getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static final com.google.protobuf.Parser<PbRechargeDataYiLe>
        PARSER = new com.google.protobuf.AbstractParser<PbRechargeDataYiLe>() {
      @java.lang.Override
      public PbRechargeDataYiLe parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new PbRechargeDataYiLe(input, extensionRegistry);
      }
    };

    public static com.google.protobuf.Parser<PbRechargeDataYiLe> parser() {
      return PARSER;
    }

    @java.lang.Override
    public com.google.protobuf.Parser<PbRechargeDataYiLe> getParserForType() {
      return PARSER;
    }

    @java.lang.Override
    public pb.xiugou.x1.protobuf.recharge.Recharge.PbRechargeDataYiLe getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface PbRechargeDataWaboOrBuilder extends
      // @@protoc_insertion_point(interface_extends:pb.PbRechargeDataWabo)
      com.google.protobuf.MessageOrBuilder {

    /**
     * <pre>
     *回调地址		客户端不用填，只取值
     * </pre>
     *
     * <code>string callback_url = 1;</code>
     * @return The callbackUrl.
     */
    java.lang.String getCallbackUrl();
    /**
     * <pre>
     *回调地址		客户端不用填，只取值
     * </pre>
     *
     * <code>string callback_url = 1;</code>
     * @return The bytes for callbackUrl.
     */
    com.google.protobuf.ByteString
        getCallbackUrlBytes();

    /**
     * <pre>
     *支付金额，单位元，可传小数	客户端不用填，只取值
     * </pre>
     *
     * <code>string amount = 2;</code>
     * @return The amount.
     */
    java.lang.String getAmount();
    /**
     * <pre>
     *支付金额，单位元，可传小数	客户端不用填，只取值
     * </pre>
     *
     * <code>string amount = 2;</code>
     * @return The bytes for amount.
     */
    com.google.protobuf.ByteString
        getAmountBytes();

    /**
     * <pre>
     *角色ID			客户端不用填，只取值
     * </pre>
     *
     * <code>int64 role_id = 3;</code>
     * @return The roleId.
     */
    long getRoleId();

    /**
     * <pre>
     *角色名			客户端不用填，只取值
     * </pre>
     *
     * <code>string role_name = 4;</code>
     * @return The roleName.
     */
    java.lang.String getRoleName();
    /**
     * <pre>
     *角色名			客户端不用填，只取值
     * </pre>
     *
     * <code>string role_name = 4;</code>
     * @return The bytes for roleName.
     */
    com.google.protobuf.ByteString
        getRoleNameBytes();

    /**
     * <pre>
     *角色所在区服ID	客户端不用填，只取值
     * </pre>
     *
     * <code>int32 server_id = 5;</code>
     * @return The serverId.
     */
    int getServerId();

    /**
     * <pre>
     *角色所在区服名		客户端不用填，只取值
     * </pre>
     *
     * <code>string server_name = 6;</code>
     * @return The serverName.
     */
    java.lang.String getServerName();
    /**
     * <pre>
     *角色所在区服名		客户端不用填，只取值
     * </pre>
     *
     * <code>string server_name = 6;</code>
     * @return The bytes for serverName.
     */
    com.google.protobuf.ByteString
        getServerNameBytes();

    /**
     * <pre>
     *购买商品ID		客户端不用填，只取值
     * </pre>
     *
     * <code>string goods_id = 7;</code>
     * @return The goodsId.
     */
    java.lang.String getGoodsId();
    /**
     * <pre>
     *购买商品ID		客户端不用填，只取值
     * </pre>
     *
     * <code>string goods_id = 7;</code>
     * @return The bytes for goodsId.
     */
    com.google.protobuf.ByteString
        getGoodsIdBytes();

    /**
     * <pre>
     *购买商品描述		客户端不用填，只取值
     * </pre>
     *
     * <code>string goods_desc = 8;</code>
     * @return The goodsDesc.
     */
    java.lang.String getGoodsDesc();
    /**
     * <pre>
     *购买商品描述		客户端不用填，只取值
     * </pre>
     *
     * <code>string goods_desc = 8;</code>
     * @return The bytes for goodsDesc.
     */
    com.google.protobuf.ByteString
        getGoodsDescBytes();

    /**
     * <pre>
     *本次下单游戏订单号	客户端不用填，只取值
     * </pre>
     *
     * <code>string cp_order_id = 9;</code>
     * @return The cpOrderId.
     */
    java.lang.String getCpOrderId();
    /**
     * <pre>
     *本次下单游戏订单号	客户端不用填，只取值
     * </pre>
     *
     * <code>string cp_order_id = 9;</code>
     * @return The bytes for cpOrderId.
     */
    com.google.protobuf.ByteString
        getCpOrderIdBytes();

    /**
     * <pre>
     *透传参数			客户端不用填，只取值
     * </pre>
     *
     * <code>string ext = 10;</code>
     * @return The ext.
     */
    java.lang.String getExt();
    /**
     * <pre>
     *透传参数			客户端不用填，只取值
     * </pre>
     *
     * <code>string ext = 10;</code>
     * @return The bytes for ext.
     */
    com.google.protobuf.ByteString
        getExtBytes();
  }
  /**
   * <pre>
   *欧美wabo充值参数
   * </pre>
   *
   * Protobuf type {@code pb.PbRechargeDataWabo}
   */
  public  static final class PbRechargeDataWabo extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:pb.PbRechargeDataWabo)
      PbRechargeDataWaboOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use PbRechargeDataWabo.newBuilder() to construct.
    private PbRechargeDataWabo(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
      super(builder);
    }
    private PbRechargeDataWabo() {
      callbackUrl_ = "";
      amount_ = "";
      roleName_ = "";
      serverName_ = "";
      goodsId_ = "";
      goodsDesc_ = "";
      cpOrderId_ = "";
      ext_ = "";
    }

    @java.lang.Override
    @SuppressWarnings({"unused"})
    protected java.lang.Object newInstance(
        UnusedPrivateParameter unused) {
      return new PbRechargeDataWabo();
    }

    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    private PbRechargeDataWabo(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      this();
      if (extensionRegistry == null) {
        throw new java.lang.NullPointerException();
      }
      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            case 10: {
              java.lang.String s = input.readStringRequireUtf8();

              callbackUrl_ = s;
              break;
            }
            case 18: {
              java.lang.String s = input.readStringRequireUtf8();

              amount_ = s;
              break;
            }
            case 24: {

              roleId_ = input.readInt64();
              break;
            }
            case 34: {
              java.lang.String s = input.readStringRequireUtf8();

              roleName_ = s;
              break;
            }
            case 40: {

              serverId_ = input.readInt32();
              break;
            }
            case 50: {
              java.lang.String s = input.readStringRequireUtf8();

              serverName_ = s;
              break;
            }
            case 58: {
              java.lang.String s = input.readStringRequireUtf8();

              goodsId_ = s;
              break;
            }
            case 66: {
              java.lang.String s = input.readStringRequireUtf8();

              goodsDesc_ = s;
              break;
            }
            case 74: {
              java.lang.String s = input.readStringRequireUtf8();

              cpOrderId_ = s;
              break;
            }
            case 82: {
              java.lang.String s = input.readStringRequireUtf8();

              ext_ = s;
              break;
            }
            default: {
              if (!parseUnknownField(
                  input, unknownFields, extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e).setUnfinishedMessage(this);
      } finally {
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return pb.xiugou.x1.protobuf.recharge.Recharge.internal_static_pb_PbRechargeDataWabo_descriptor;
    }

    @java.lang.Override
    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return pb.xiugou.x1.protobuf.recharge.Recharge.internal_static_pb_PbRechargeDataWabo_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              pb.xiugou.x1.protobuf.recharge.Recharge.PbRechargeDataWabo.class, pb.xiugou.x1.protobuf.recharge.Recharge.PbRechargeDataWabo.Builder.class);
    }

    public static final int CALLBACK_URL_FIELD_NUMBER = 1;
    private volatile java.lang.Object callbackUrl_;
    /**
     * <pre>
     *回调地址		客户端不用填，只取值
     * </pre>
     *
     * <code>string callback_url = 1;</code>
     * @return The callbackUrl.
     */
    public java.lang.String getCallbackUrl() {
      java.lang.Object ref = callbackUrl_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        callbackUrl_ = s;
        return s;
      }
    }
    /**
     * <pre>
     *回调地址		客户端不用填，只取值
     * </pre>
     *
     * <code>string callback_url = 1;</code>
     * @return The bytes for callbackUrl.
     */
    public com.google.protobuf.ByteString
        getCallbackUrlBytes() {
      java.lang.Object ref = callbackUrl_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        callbackUrl_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int AMOUNT_FIELD_NUMBER = 2;
    private volatile java.lang.Object amount_;
    /**
     * <pre>
     *支付金额，单位元，可传小数	客户端不用填，只取值
     * </pre>
     *
     * <code>string amount = 2;</code>
     * @return The amount.
     */
    public java.lang.String getAmount() {
      java.lang.Object ref = amount_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        amount_ = s;
        return s;
      }
    }
    /**
     * <pre>
     *支付金额，单位元，可传小数	客户端不用填，只取值
     * </pre>
     *
     * <code>string amount = 2;</code>
     * @return The bytes for amount.
     */
    public com.google.protobuf.ByteString
        getAmountBytes() {
      java.lang.Object ref = amount_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        amount_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int ROLE_ID_FIELD_NUMBER = 3;
    private long roleId_;
    /**
     * <pre>
     *角色ID			客户端不用填，只取值
     * </pre>
     *
     * <code>int64 role_id = 3;</code>
     * @return The roleId.
     */
    public long getRoleId() {
      return roleId_;
    }

    public static final int ROLE_NAME_FIELD_NUMBER = 4;
    private volatile java.lang.Object roleName_;
    /**
     * <pre>
     *角色名			客户端不用填，只取值
     * </pre>
     *
     * <code>string role_name = 4;</code>
     * @return The roleName.
     */
    public java.lang.String getRoleName() {
      java.lang.Object ref = roleName_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        roleName_ = s;
        return s;
      }
    }
    /**
     * <pre>
     *角色名			客户端不用填，只取值
     * </pre>
     *
     * <code>string role_name = 4;</code>
     * @return The bytes for roleName.
     */
    public com.google.protobuf.ByteString
        getRoleNameBytes() {
      java.lang.Object ref = roleName_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        roleName_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int SERVER_ID_FIELD_NUMBER = 5;
    private int serverId_;
    /**
     * <pre>
     *角色所在区服ID	客户端不用填，只取值
     * </pre>
     *
     * <code>int32 server_id = 5;</code>
     * @return The serverId.
     */
    public int getServerId() {
      return serverId_;
    }

    public static final int SERVER_NAME_FIELD_NUMBER = 6;
    private volatile java.lang.Object serverName_;
    /**
     * <pre>
     *角色所在区服名		客户端不用填，只取值
     * </pre>
     *
     * <code>string server_name = 6;</code>
     * @return The serverName.
     */
    public java.lang.String getServerName() {
      java.lang.Object ref = serverName_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        serverName_ = s;
        return s;
      }
    }
    /**
     * <pre>
     *角色所在区服名		客户端不用填，只取值
     * </pre>
     *
     * <code>string server_name = 6;</code>
     * @return The bytes for serverName.
     */
    public com.google.protobuf.ByteString
        getServerNameBytes() {
      java.lang.Object ref = serverName_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        serverName_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int GOODS_ID_FIELD_NUMBER = 7;
    private volatile java.lang.Object goodsId_;
    /**
     * <pre>
     *购买商品ID		客户端不用填，只取值
     * </pre>
     *
     * <code>string goods_id = 7;</code>
     * @return The goodsId.
     */
    public java.lang.String getGoodsId() {
      java.lang.Object ref = goodsId_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        goodsId_ = s;
        return s;
      }
    }
    /**
     * <pre>
     *购买商品ID		客户端不用填，只取值
     * </pre>
     *
     * <code>string goods_id = 7;</code>
     * @return The bytes for goodsId.
     */
    public com.google.protobuf.ByteString
        getGoodsIdBytes() {
      java.lang.Object ref = goodsId_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        goodsId_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int GOODS_DESC_FIELD_NUMBER = 8;
    private volatile java.lang.Object goodsDesc_;
    /**
     * <pre>
     *购买商品描述		客户端不用填，只取值
     * </pre>
     *
     * <code>string goods_desc = 8;</code>
     * @return The goodsDesc.
     */
    public java.lang.String getGoodsDesc() {
      java.lang.Object ref = goodsDesc_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        goodsDesc_ = s;
        return s;
      }
    }
    /**
     * <pre>
     *购买商品描述		客户端不用填，只取值
     * </pre>
     *
     * <code>string goods_desc = 8;</code>
     * @return The bytes for goodsDesc.
     */
    public com.google.protobuf.ByteString
        getGoodsDescBytes() {
      java.lang.Object ref = goodsDesc_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        goodsDesc_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int CP_ORDER_ID_FIELD_NUMBER = 9;
    private volatile java.lang.Object cpOrderId_;
    /**
     * <pre>
     *本次下单游戏订单号	客户端不用填，只取值
     * </pre>
     *
     * <code>string cp_order_id = 9;</code>
     * @return The cpOrderId.
     */
    public java.lang.String getCpOrderId() {
      java.lang.Object ref = cpOrderId_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        cpOrderId_ = s;
        return s;
      }
    }
    /**
     * <pre>
     *本次下单游戏订单号	客户端不用填，只取值
     * </pre>
     *
     * <code>string cp_order_id = 9;</code>
     * @return The bytes for cpOrderId.
     */
    public com.google.protobuf.ByteString
        getCpOrderIdBytes() {
      java.lang.Object ref = cpOrderId_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        cpOrderId_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int EXT_FIELD_NUMBER = 10;
    private volatile java.lang.Object ext_;
    /**
     * <pre>
     *透传参数			客户端不用填，只取值
     * </pre>
     *
     * <code>string ext = 10;</code>
     * @return The ext.
     */
    public java.lang.String getExt() {
      java.lang.Object ref = ext_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        ext_ = s;
        return s;
      }
    }
    /**
     * <pre>
     *透传参数			客户端不用填，只取值
     * </pre>
     *
     * <code>string ext = 10;</code>
     * @return The bytes for ext.
     */
    public com.google.protobuf.ByteString
        getExtBytes() {
      java.lang.Object ref = ext_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        ext_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    private byte memoizedIsInitialized = -1;
    @java.lang.Override
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized == 1) return true;
      if (isInitialized == 0) return false;

      memoizedIsInitialized = 1;
      return true;
    }

    @java.lang.Override
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (!getCallbackUrlBytes().isEmpty()) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 1, callbackUrl_);
      }
      if (!getAmountBytes().isEmpty()) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 2, amount_);
      }
      if (roleId_ != 0L) {
        output.writeInt64(3, roleId_);
      }
      if (!getRoleNameBytes().isEmpty()) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 4, roleName_);
      }
      if (serverId_ != 0) {
        output.writeInt32(5, serverId_);
      }
      if (!getServerNameBytes().isEmpty()) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 6, serverName_);
      }
      if (!getGoodsIdBytes().isEmpty()) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 7, goodsId_);
      }
      if (!getGoodsDescBytes().isEmpty()) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 8, goodsDesc_);
      }
      if (!getCpOrderIdBytes().isEmpty()) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 9, cpOrderId_);
      }
      if (!getExtBytes().isEmpty()) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 10, ext_);
      }
      unknownFields.writeTo(output);
    }

    @java.lang.Override
    public int getSerializedSize() {
      int size = memoizedSize;
      if (size != -1) return size;

      size = 0;
      if (!getCallbackUrlBytes().isEmpty()) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, callbackUrl_);
      }
      if (!getAmountBytes().isEmpty()) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, amount_);
      }
      if (roleId_ != 0L) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt64Size(3, roleId_);
      }
      if (!getRoleNameBytes().isEmpty()) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(4, roleName_);
      }
      if (serverId_ != 0) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(5, serverId_);
      }
      if (!getServerNameBytes().isEmpty()) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(6, serverName_);
      }
      if (!getGoodsIdBytes().isEmpty()) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(7, goodsId_);
      }
      if (!getGoodsDescBytes().isEmpty()) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(8, goodsDesc_);
      }
      if (!getCpOrderIdBytes().isEmpty()) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(9, cpOrderId_);
      }
      if (!getExtBytes().isEmpty()) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(10, ext_);
      }
      size += unknownFields.getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof pb.xiugou.x1.protobuf.recharge.Recharge.PbRechargeDataWabo)) {
        return super.equals(obj);
      }
      pb.xiugou.x1.protobuf.recharge.Recharge.PbRechargeDataWabo other = (pb.xiugou.x1.protobuf.recharge.Recharge.PbRechargeDataWabo) obj;

      if (!getCallbackUrl()
          .equals(other.getCallbackUrl())) return false;
      if (!getAmount()
          .equals(other.getAmount())) return false;
      if (getRoleId()
          != other.getRoleId()) return false;
      if (!getRoleName()
          .equals(other.getRoleName())) return false;
      if (getServerId()
          != other.getServerId()) return false;
      if (!getServerName()
          .equals(other.getServerName())) return false;
      if (!getGoodsId()
          .equals(other.getGoodsId())) return false;
      if (!getGoodsDesc()
          .equals(other.getGoodsDesc())) return false;
      if (!getCpOrderId()
          .equals(other.getCpOrderId())) return false;
      if (!getExt()
          .equals(other.getExt())) return false;
      if (!unknownFields.equals(other.unknownFields)) return false;
      return true;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      hash = (37 * hash) + CALLBACK_URL_FIELD_NUMBER;
      hash = (53 * hash) + getCallbackUrl().hashCode();
      hash = (37 * hash) + AMOUNT_FIELD_NUMBER;
      hash = (53 * hash) + getAmount().hashCode();
      hash = (37 * hash) + ROLE_ID_FIELD_NUMBER;
      hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
          getRoleId());
      hash = (37 * hash) + ROLE_NAME_FIELD_NUMBER;
      hash = (53 * hash) + getRoleName().hashCode();
      hash = (37 * hash) + SERVER_ID_FIELD_NUMBER;
      hash = (53 * hash) + getServerId();
      hash = (37 * hash) + SERVER_NAME_FIELD_NUMBER;
      hash = (53 * hash) + getServerName().hashCode();
      hash = (37 * hash) + GOODS_ID_FIELD_NUMBER;
      hash = (53 * hash) + getGoodsId().hashCode();
      hash = (37 * hash) + GOODS_DESC_FIELD_NUMBER;
      hash = (53 * hash) + getGoodsDesc().hashCode();
      hash = (37 * hash) + CP_ORDER_ID_FIELD_NUMBER;
      hash = (53 * hash) + getCpOrderId().hashCode();
      hash = (37 * hash) + EXT_FIELD_NUMBER;
      hash = (53 * hash) + getExt().hashCode();
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static pb.xiugou.x1.protobuf.recharge.Recharge.PbRechargeDataWabo parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static pb.xiugou.x1.protobuf.recharge.Recharge.PbRechargeDataWabo parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static pb.xiugou.x1.protobuf.recharge.Recharge.PbRechargeDataWabo parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static pb.xiugou.x1.protobuf.recharge.Recharge.PbRechargeDataWabo parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static pb.xiugou.x1.protobuf.recharge.Recharge.PbRechargeDataWabo parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static pb.xiugou.x1.protobuf.recharge.Recharge.PbRechargeDataWabo parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static pb.xiugou.x1.protobuf.recharge.Recharge.PbRechargeDataWabo parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static pb.xiugou.x1.protobuf.recharge.Recharge.PbRechargeDataWabo parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }
    public static pb.xiugou.x1.protobuf.recharge.Recharge.PbRechargeDataWabo parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }
    public static pb.xiugou.x1.protobuf.recharge.Recharge.PbRechargeDataWabo parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
    }
    public static pb.xiugou.x1.protobuf.recharge.Recharge.PbRechargeDataWabo parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static pb.xiugou.x1.protobuf.recharge.Recharge.PbRechargeDataWabo parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    @java.lang.Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(pb.xiugou.x1.protobuf.recharge.Recharge.PbRechargeDataWabo prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    @java.lang.Override
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * <pre>
     *欧美wabo充值参数
     * </pre>
     *
     * Protobuf type {@code pb.PbRechargeDataWabo}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:pb.PbRechargeDataWabo)
        pb.xiugou.x1.protobuf.recharge.Recharge.PbRechargeDataWaboOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return pb.xiugou.x1.protobuf.recharge.Recharge.internal_static_pb_PbRechargeDataWabo_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return pb.xiugou.x1.protobuf.recharge.Recharge.internal_static_pb_PbRechargeDataWabo_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                pb.xiugou.x1.protobuf.recharge.Recharge.PbRechargeDataWabo.class, pb.xiugou.x1.protobuf.recharge.Recharge.PbRechargeDataWabo.Builder.class);
      }

      // Construct using pb.xiugou.x1.protobuf.recharge.Recharge.PbRechargeDataWabo.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessageV3
                .alwaysUseFieldBuilders) {
        }
      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        callbackUrl_ = "";

        amount_ = "";

        roleId_ = 0L;

        roleName_ = "";

        serverId_ = 0;

        serverName_ = "";

        goodsId_ = "";

        goodsDesc_ = "";

        cpOrderId_ = "";

        ext_ = "";

        return this;
      }

      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return pb.xiugou.x1.protobuf.recharge.Recharge.internal_static_pb_PbRechargeDataWabo_descriptor;
      }

      @java.lang.Override
      public pb.xiugou.x1.protobuf.recharge.Recharge.PbRechargeDataWabo getDefaultInstanceForType() {
        return pb.xiugou.x1.protobuf.recharge.Recharge.PbRechargeDataWabo.getDefaultInstance();
      }

      @java.lang.Override
      public pb.xiugou.x1.protobuf.recharge.Recharge.PbRechargeDataWabo build() {
        pb.xiugou.x1.protobuf.recharge.Recharge.PbRechargeDataWabo result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public pb.xiugou.x1.protobuf.recharge.Recharge.PbRechargeDataWabo buildPartial() {
        pb.xiugou.x1.protobuf.recharge.Recharge.PbRechargeDataWabo result = new pb.xiugou.x1.protobuf.recharge.Recharge.PbRechargeDataWabo(this);
        result.callbackUrl_ = callbackUrl_;
        result.amount_ = amount_;
        result.roleId_ = roleId_;
        result.roleName_ = roleName_;
        result.serverId_ = serverId_;
        result.serverName_ = serverName_;
        result.goodsId_ = goodsId_;
        result.goodsDesc_ = goodsDesc_;
        result.cpOrderId_ = cpOrderId_;
        result.ext_ = ext_;
        onBuilt();
        return result;
      }

      @java.lang.Override
      public Builder clone() {
        return super.clone();
      }
      @java.lang.Override
      public Builder setField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.setField(field, value);
      }
      @java.lang.Override
      public Builder clearField(
          com.google.protobuf.Descriptors.FieldDescriptor field) {
        return super.clearField(field);
      }
      @java.lang.Override
      public Builder clearOneof(
          com.google.protobuf.Descriptors.OneofDescriptor oneof) {
        return super.clearOneof(oneof);
      }
      @java.lang.Override
      public Builder setRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          int index, java.lang.Object value) {
        return super.setRepeatedField(field, index, value);
      }
      @java.lang.Override
      public Builder addRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.addRepeatedField(field, value);
      }
      @java.lang.Override
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof pb.xiugou.x1.protobuf.recharge.Recharge.PbRechargeDataWabo) {
          return mergeFrom((pb.xiugou.x1.protobuf.recharge.Recharge.PbRechargeDataWabo)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(pb.xiugou.x1.protobuf.recharge.Recharge.PbRechargeDataWabo other) {
        if (other == pb.xiugou.x1.protobuf.recharge.Recharge.PbRechargeDataWabo.getDefaultInstance()) return this;
        if (!other.getCallbackUrl().isEmpty()) {
          callbackUrl_ = other.callbackUrl_;
          onChanged();
        }
        if (!other.getAmount().isEmpty()) {
          amount_ = other.amount_;
          onChanged();
        }
        if (other.getRoleId() != 0L) {
          setRoleId(other.getRoleId());
        }
        if (!other.getRoleName().isEmpty()) {
          roleName_ = other.roleName_;
          onChanged();
        }
        if (other.getServerId() != 0) {
          setServerId(other.getServerId());
        }
        if (!other.getServerName().isEmpty()) {
          serverName_ = other.serverName_;
          onChanged();
        }
        if (!other.getGoodsId().isEmpty()) {
          goodsId_ = other.goodsId_;
          onChanged();
        }
        if (!other.getGoodsDesc().isEmpty()) {
          goodsDesc_ = other.goodsDesc_;
          onChanged();
        }
        if (!other.getCpOrderId().isEmpty()) {
          cpOrderId_ = other.cpOrderId_;
          onChanged();
        }
        if (!other.getExt().isEmpty()) {
          ext_ = other.ext_;
          onChanged();
        }
        this.mergeUnknownFields(other.unknownFields);
        onChanged();
        return this;
      }

      @java.lang.Override
      public final boolean isInitialized() {
        return true;
      }

      @java.lang.Override
      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        pb.xiugou.x1.protobuf.recharge.Recharge.PbRechargeDataWabo parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (pb.xiugou.x1.protobuf.recharge.Recharge.PbRechargeDataWabo) e.getUnfinishedMessage();
          throw e.unwrapIOException();
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }

      private java.lang.Object callbackUrl_ = "";
      /**
       * <pre>
       *回调地址		客户端不用填，只取值
       * </pre>
       *
       * <code>string callback_url = 1;</code>
       * @return The callbackUrl.
       */
      public java.lang.String getCallbackUrl() {
        java.lang.Object ref = callbackUrl_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          callbackUrl_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <pre>
       *回调地址		客户端不用填，只取值
       * </pre>
       *
       * <code>string callback_url = 1;</code>
       * @return The bytes for callbackUrl.
       */
      public com.google.protobuf.ByteString
          getCallbackUrlBytes() {
        java.lang.Object ref = callbackUrl_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          callbackUrl_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <pre>
       *回调地址		客户端不用填，只取值
       * </pre>
       *
       * <code>string callback_url = 1;</code>
       * @param value The callbackUrl to set.
       * @return This builder for chaining.
       */
      public Builder setCallbackUrl(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        callbackUrl_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *回调地址		客户端不用填，只取值
       * </pre>
       *
       * <code>string callback_url = 1;</code>
       * @return This builder for chaining.
       */
      public Builder clearCallbackUrl() {
        
        callbackUrl_ = getDefaultInstance().getCallbackUrl();
        onChanged();
        return this;
      }
      /**
       * <pre>
       *回调地址		客户端不用填，只取值
       * </pre>
       *
       * <code>string callback_url = 1;</code>
       * @param value The bytes for callbackUrl to set.
       * @return This builder for chaining.
       */
      public Builder setCallbackUrlBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        
        callbackUrl_ = value;
        onChanged();
        return this;
      }

      private java.lang.Object amount_ = "";
      /**
       * <pre>
       *支付金额，单位元，可传小数	客户端不用填，只取值
       * </pre>
       *
       * <code>string amount = 2;</code>
       * @return The amount.
       */
      public java.lang.String getAmount() {
        java.lang.Object ref = amount_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          amount_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <pre>
       *支付金额，单位元，可传小数	客户端不用填，只取值
       * </pre>
       *
       * <code>string amount = 2;</code>
       * @return The bytes for amount.
       */
      public com.google.protobuf.ByteString
          getAmountBytes() {
        java.lang.Object ref = amount_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          amount_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <pre>
       *支付金额，单位元，可传小数	客户端不用填，只取值
       * </pre>
       *
       * <code>string amount = 2;</code>
       * @param value The amount to set.
       * @return This builder for chaining.
       */
      public Builder setAmount(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        amount_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *支付金额，单位元，可传小数	客户端不用填，只取值
       * </pre>
       *
       * <code>string amount = 2;</code>
       * @return This builder for chaining.
       */
      public Builder clearAmount() {
        
        amount_ = getDefaultInstance().getAmount();
        onChanged();
        return this;
      }
      /**
       * <pre>
       *支付金额，单位元，可传小数	客户端不用填，只取值
       * </pre>
       *
       * <code>string amount = 2;</code>
       * @param value The bytes for amount to set.
       * @return This builder for chaining.
       */
      public Builder setAmountBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        
        amount_ = value;
        onChanged();
        return this;
      }

      private long roleId_ ;
      /**
       * <pre>
       *角色ID			客户端不用填，只取值
       * </pre>
       *
       * <code>int64 role_id = 3;</code>
       * @return The roleId.
       */
      public long getRoleId() {
        return roleId_;
      }
      /**
       * <pre>
       *角色ID			客户端不用填，只取值
       * </pre>
       *
       * <code>int64 role_id = 3;</code>
       * @param value The roleId to set.
       * @return This builder for chaining.
       */
      public Builder setRoleId(long value) {
        
        roleId_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *角色ID			客户端不用填，只取值
       * </pre>
       *
       * <code>int64 role_id = 3;</code>
       * @return This builder for chaining.
       */
      public Builder clearRoleId() {
        
        roleId_ = 0L;
        onChanged();
        return this;
      }

      private java.lang.Object roleName_ = "";
      /**
       * <pre>
       *角色名			客户端不用填，只取值
       * </pre>
       *
       * <code>string role_name = 4;</code>
       * @return The roleName.
       */
      public java.lang.String getRoleName() {
        java.lang.Object ref = roleName_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          roleName_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <pre>
       *角色名			客户端不用填，只取值
       * </pre>
       *
       * <code>string role_name = 4;</code>
       * @return The bytes for roleName.
       */
      public com.google.protobuf.ByteString
          getRoleNameBytes() {
        java.lang.Object ref = roleName_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          roleName_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <pre>
       *角色名			客户端不用填，只取值
       * </pre>
       *
       * <code>string role_name = 4;</code>
       * @param value The roleName to set.
       * @return This builder for chaining.
       */
      public Builder setRoleName(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        roleName_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *角色名			客户端不用填，只取值
       * </pre>
       *
       * <code>string role_name = 4;</code>
       * @return This builder for chaining.
       */
      public Builder clearRoleName() {
        
        roleName_ = getDefaultInstance().getRoleName();
        onChanged();
        return this;
      }
      /**
       * <pre>
       *角色名			客户端不用填，只取值
       * </pre>
       *
       * <code>string role_name = 4;</code>
       * @param value The bytes for roleName to set.
       * @return This builder for chaining.
       */
      public Builder setRoleNameBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        
        roleName_ = value;
        onChanged();
        return this;
      }

      private int serverId_ ;
      /**
       * <pre>
       *角色所在区服ID	客户端不用填，只取值
       * </pre>
       *
       * <code>int32 server_id = 5;</code>
       * @return The serverId.
       */
      public int getServerId() {
        return serverId_;
      }
      /**
       * <pre>
       *角色所在区服ID	客户端不用填，只取值
       * </pre>
       *
       * <code>int32 server_id = 5;</code>
       * @param value The serverId to set.
       * @return This builder for chaining.
       */
      public Builder setServerId(int value) {
        
        serverId_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *角色所在区服ID	客户端不用填，只取值
       * </pre>
       *
       * <code>int32 server_id = 5;</code>
       * @return This builder for chaining.
       */
      public Builder clearServerId() {
        
        serverId_ = 0;
        onChanged();
        return this;
      }

      private java.lang.Object serverName_ = "";
      /**
       * <pre>
       *角色所在区服名		客户端不用填，只取值
       * </pre>
       *
       * <code>string server_name = 6;</code>
       * @return The serverName.
       */
      public java.lang.String getServerName() {
        java.lang.Object ref = serverName_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          serverName_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <pre>
       *角色所在区服名		客户端不用填，只取值
       * </pre>
       *
       * <code>string server_name = 6;</code>
       * @return The bytes for serverName.
       */
      public com.google.protobuf.ByteString
          getServerNameBytes() {
        java.lang.Object ref = serverName_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          serverName_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <pre>
       *角色所在区服名		客户端不用填，只取值
       * </pre>
       *
       * <code>string server_name = 6;</code>
       * @param value The serverName to set.
       * @return This builder for chaining.
       */
      public Builder setServerName(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        serverName_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *角色所在区服名		客户端不用填，只取值
       * </pre>
       *
       * <code>string server_name = 6;</code>
       * @return This builder for chaining.
       */
      public Builder clearServerName() {
        
        serverName_ = getDefaultInstance().getServerName();
        onChanged();
        return this;
      }
      /**
       * <pre>
       *角色所在区服名		客户端不用填，只取值
       * </pre>
       *
       * <code>string server_name = 6;</code>
       * @param value The bytes for serverName to set.
       * @return This builder for chaining.
       */
      public Builder setServerNameBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        
        serverName_ = value;
        onChanged();
        return this;
      }

      private java.lang.Object goodsId_ = "";
      /**
       * <pre>
       *购买商品ID		客户端不用填，只取值
       * </pre>
       *
       * <code>string goods_id = 7;</code>
       * @return The goodsId.
       */
      public java.lang.String getGoodsId() {
        java.lang.Object ref = goodsId_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          goodsId_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <pre>
       *购买商品ID		客户端不用填，只取值
       * </pre>
       *
       * <code>string goods_id = 7;</code>
       * @return The bytes for goodsId.
       */
      public com.google.protobuf.ByteString
          getGoodsIdBytes() {
        java.lang.Object ref = goodsId_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          goodsId_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <pre>
       *购买商品ID		客户端不用填，只取值
       * </pre>
       *
       * <code>string goods_id = 7;</code>
       * @param value The goodsId to set.
       * @return This builder for chaining.
       */
      public Builder setGoodsId(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        goodsId_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *购买商品ID		客户端不用填，只取值
       * </pre>
       *
       * <code>string goods_id = 7;</code>
       * @return This builder for chaining.
       */
      public Builder clearGoodsId() {
        
        goodsId_ = getDefaultInstance().getGoodsId();
        onChanged();
        return this;
      }
      /**
       * <pre>
       *购买商品ID		客户端不用填，只取值
       * </pre>
       *
       * <code>string goods_id = 7;</code>
       * @param value The bytes for goodsId to set.
       * @return This builder for chaining.
       */
      public Builder setGoodsIdBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        
        goodsId_ = value;
        onChanged();
        return this;
      }

      private java.lang.Object goodsDesc_ = "";
      /**
       * <pre>
       *购买商品描述		客户端不用填，只取值
       * </pre>
       *
       * <code>string goods_desc = 8;</code>
       * @return The goodsDesc.
       */
      public java.lang.String getGoodsDesc() {
        java.lang.Object ref = goodsDesc_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          goodsDesc_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <pre>
       *购买商品描述		客户端不用填，只取值
       * </pre>
       *
       * <code>string goods_desc = 8;</code>
       * @return The bytes for goodsDesc.
       */
      public com.google.protobuf.ByteString
          getGoodsDescBytes() {
        java.lang.Object ref = goodsDesc_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          goodsDesc_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <pre>
       *购买商品描述		客户端不用填，只取值
       * </pre>
       *
       * <code>string goods_desc = 8;</code>
       * @param value The goodsDesc to set.
       * @return This builder for chaining.
       */
      public Builder setGoodsDesc(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        goodsDesc_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *购买商品描述		客户端不用填，只取值
       * </pre>
       *
       * <code>string goods_desc = 8;</code>
       * @return This builder for chaining.
       */
      public Builder clearGoodsDesc() {
        
        goodsDesc_ = getDefaultInstance().getGoodsDesc();
        onChanged();
        return this;
      }
      /**
       * <pre>
       *购买商品描述		客户端不用填，只取值
       * </pre>
       *
       * <code>string goods_desc = 8;</code>
       * @param value The bytes for goodsDesc to set.
       * @return This builder for chaining.
       */
      public Builder setGoodsDescBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        
        goodsDesc_ = value;
        onChanged();
        return this;
      }

      private java.lang.Object cpOrderId_ = "";
      /**
       * <pre>
       *本次下单游戏订单号	客户端不用填，只取值
       * </pre>
       *
       * <code>string cp_order_id = 9;</code>
       * @return The cpOrderId.
       */
      public java.lang.String getCpOrderId() {
        java.lang.Object ref = cpOrderId_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          cpOrderId_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <pre>
       *本次下单游戏订单号	客户端不用填，只取值
       * </pre>
       *
       * <code>string cp_order_id = 9;</code>
       * @return The bytes for cpOrderId.
       */
      public com.google.protobuf.ByteString
          getCpOrderIdBytes() {
        java.lang.Object ref = cpOrderId_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          cpOrderId_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <pre>
       *本次下单游戏订单号	客户端不用填，只取值
       * </pre>
       *
       * <code>string cp_order_id = 9;</code>
       * @param value The cpOrderId to set.
       * @return This builder for chaining.
       */
      public Builder setCpOrderId(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        cpOrderId_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *本次下单游戏订单号	客户端不用填，只取值
       * </pre>
       *
       * <code>string cp_order_id = 9;</code>
       * @return This builder for chaining.
       */
      public Builder clearCpOrderId() {
        
        cpOrderId_ = getDefaultInstance().getCpOrderId();
        onChanged();
        return this;
      }
      /**
       * <pre>
       *本次下单游戏订单号	客户端不用填，只取值
       * </pre>
       *
       * <code>string cp_order_id = 9;</code>
       * @param value The bytes for cpOrderId to set.
       * @return This builder for chaining.
       */
      public Builder setCpOrderIdBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        
        cpOrderId_ = value;
        onChanged();
        return this;
      }

      private java.lang.Object ext_ = "";
      /**
       * <pre>
       *透传参数			客户端不用填，只取值
       * </pre>
       *
       * <code>string ext = 10;</code>
       * @return The ext.
       */
      public java.lang.String getExt() {
        java.lang.Object ref = ext_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          ext_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <pre>
       *透传参数			客户端不用填，只取值
       * </pre>
       *
       * <code>string ext = 10;</code>
       * @return The bytes for ext.
       */
      public com.google.protobuf.ByteString
          getExtBytes() {
        java.lang.Object ref = ext_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          ext_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <pre>
       *透传参数			客户端不用填，只取值
       * </pre>
       *
       * <code>string ext = 10;</code>
       * @param value The ext to set.
       * @return This builder for chaining.
       */
      public Builder setExt(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        ext_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *透传参数			客户端不用填，只取值
       * </pre>
       *
       * <code>string ext = 10;</code>
       * @return This builder for chaining.
       */
      public Builder clearExt() {
        
        ext_ = getDefaultInstance().getExt();
        onChanged();
        return this;
      }
      /**
       * <pre>
       *透传参数			客户端不用填，只取值
       * </pre>
       *
       * <code>string ext = 10;</code>
       * @param value The bytes for ext to set.
       * @return This builder for chaining.
       */
      public Builder setExtBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        
        ext_ = value;
        onChanged();
        return this;
      }
      @java.lang.Override
      public final Builder setUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.setUnknownFields(unknownFields);
      }

      @java.lang.Override
      public final Builder mergeUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.mergeUnknownFields(unknownFields);
      }


      // @@protoc_insertion_point(builder_scope:pb.PbRechargeDataWabo)
    }

    // @@protoc_insertion_point(class_scope:pb.PbRechargeDataWabo)
    private static final pb.xiugou.x1.protobuf.recharge.Recharge.PbRechargeDataWabo DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new pb.xiugou.x1.protobuf.recharge.Recharge.PbRechargeDataWabo();
    }

    public static pb.xiugou.x1.protobuf.recharge.Recharge.PbRechargeDataWabo getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static final com.google.protobuf.Parser<PbRechargeDataWabo>
        PARSER = new com.google.protobuf.AbstractParser<PbRechargeDataWabo>() {
      @java.lang.Override
      public PbRechargeDataWabo parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new PbRechargeDataWabo(input, extensionRegistry);
      }
    };

    public static com.google.protobuf.Parser<PbRechargeDataWabo> parser() {
      return PARSER;
    }

    @java.lang.Override
    public com.google.protobuf.Parser<PbRechargeDataWabo> getParserForType() {
      return PARSER;
    }

    @java.lang.Override
    public pb.xiugou.x1.protobuf.recharge.Recharge.PbRechargeDataWabo getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface PbRechargeDataFuShunOrBuilder extends
      // @@protoc_insertion_point(interface_extends:pb.PbRechargeDataFuShun)
      com.google.protobuf.MessageOrBuilder {

    /**
     * <pre>
     *支付金额，单位分，可传小数	客户端不用填，只取值
     * </pre>
     *
     * <code>string total_fee = 1;</code>
     * @return The totalFee.
     */
    java.lang.String getTotalFee();
    /**
     * <pre>
     *支付金额，单位分，可传小数	客户端不用填，只取值
     * </pre>
     *
     * <code>string total_fee = 1;</code>
     * @return The bytes for totalFee.
     */
    com.google.protobuf.ByteString
        getTotalFeeBytes();

    /**
     * <pre>
     *角色ID				客户端不用填，只取值
     * </pre>
     *
     * <code>int64 role_id = 2;</code>
     * @return The roleId.
     */
    long getRoleId();

    /**
     * <pre>
     *角色名				客户端不用填，只取值
     * </pre>
     *
     * <code>string role_name = 3;</code>
     * @return The roleName.
     */
    java.lang.String getRoleName();
    /**
     * <pre>
     *角色名				客户端不用填，只取值
     * </pre>
     *
     * <code>string role_name = 3;</code>
     * @return The bytes for roleName.
     */
    com.google.protobuf.ByteString
        getRoleNameBytes();

    /**
     * <pre>
     *角色所在区服ID		客户端不用填，只取值
     * </pre>
     *
     * <code>int32 server_id = 4;</code>
     * @return The serverId.
     */
    int getServerId();

    /**
     * <pre>
     *角色所在区服名		客户端不用填，只取值
     * </pre>
     *
     * <code>string server_name = 5;</code>
     * @return The serverName.
     */
    java.lang.String getServerName();
    /**
     * <pre>
     *角色所在区服名		客户端不用填，只取值
     * </pre>
     *
     * <code>string server_name = 5;</code>
     * @return The bytes for serverName.
     */
    com.google.protobuf.ByteString
        getServerNameBytes();

    /**
     * <pre>
     *玩家等级			客户端不用填，只取值
     * </pre>
     *
     * <code>int32 role_level = 6;</code>
     * @return The roleLevel.
     */
    int getRoleLevel();

    /**
     * <pre>
     *VIP等级			客户端不用填，只取值
     * </pre>
     *
     * <code>int32 vip_level = 7;</code>
     * @return The vipLevel.
     */
    int getVipLevel();

    /**
     * <pre>
     *购买商品ID			客户端不用填，只取值
     * </pre>
     *
     * <code>int32 product_id = 8;</code>
     * @return The productId.
     */
    int getProductId();

    /**
     * <pre>
     *购买商品描述		客户端不用填，只取值
     * </pre>
     *
     * <code>string product_name = 9;</code>
     * @return The productName.
     */
    java.lang.String getProductName();
    /**
     * <pre>
     *购买商品描述		客户端不用填，只取值
     * </pre>
     *
     * <code>string product_name = 9;</code>
     * @return The bytes for productName.
     */
    com.google.protobuf.ByteString
        getProductNameBytes();

    /**
     * <pre>
     *本次下单游戏订单号	客户端不用填，只取值
     * </pre>
     *
     * <code>string cp_order_num = 10;</code>
     * @return The cpOrderNum.
     */
    java.lang.String getCpOrderNum();
    /**
     * <pre>
     *本次下单游戏订单号	客户端不用填，只取值
     * </pre>
     *
     * <code>string cp_order_num = 10;</code>
     * @return The bytes for cpOrderNum.
     */
    com.google.protobuf.ByteString
        getCpOrderNumBytes();

    /**
     * <pre>
     *透传参数			客户端不用填，只取值
     * </pre>
     *
     * <code>string ext = 11;</code>
     * @return The ext.
     */
    java.lang.String getExt();
    /**
     * <pre>
     *透传参数			客户端不用填，只取值
     * </pre>
     *
     * <code>string ext = 11;</code>
     * @return The bytes for ext.
     */
    com.google.protobuf.ByteString
        getExtBytes();
  }
  /**
   * <pre>
   *福顺
   * </pre>
   *
   * Protobuf type {@code pb.PbRechargeDataFuShun}
   */
  public  static final class PbRechargeDataFuShun extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:pb.PbRechargeDataFuShun)
      PbRechargeDataFuShunOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use PbRechargeDataFuShun.newBuilder() to construct.
    private PbRechargeDataFuShun(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
      super(builder);
    }
    private PbRechargeDataFuShun() {
      totalFee_ = "";
      roleName_ = "";
      serverName_ = "";
      productName_ = "";
      cpOrderNum_ = "";
      ext_ = "";
    }

    @java.lang.Override
    @SuppressWarnings({"unused"})
    protected java.lang.Object newInstance(
        UnusedPrivateParameter unused) {
      return new PbRechargeDataFuShun();
    }

    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    private PbRechargeDataFuShun(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      this();
      if (extensionRegistry == null) {
        throw new java.lang.NullPointerException();
      }
      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            case 10: {
              java.lang.String s = input.readStringRequireUtf8();

              totalFee_ = s;
              break;
            }
            case 16: {

              roleId_ = input.readInt64();
              break;
            }
            case 26: {
              java.lang.String s = input.readStringRequireUtf8();

              roleName_ = s;
              break;
            }
            case 32: {

              serverId_ = input.readInt32();
              break;
            }
            case 42: {
              java.lang.String s = input.readStringRequireUtf8();

              serverName_ = s;
              break;
            }
            case 48: {

              roleLevel_ = input.readInt32();
              break;
            }
            case 56: {

              vipLevel_ = input.readInt32();
              break;
            }
            case 64: {

              productId_ = input.readInt32();
              break;
            }
            case 74: {
              java.lang.String s = input.readStringRequireUtf8();

              productName_ = s;
              break;
            }
            case 82: {
              java.lang.String s = input.readStringRequireUtf8();

              cpOrderNum_ = s;
              break;
            }
            case 90: {
              java.lang.String s = input.readStringRequireUtf8();

              ext_ = s;
              break;
            }
            default: {
              if (!parseUnknownField(
                  input, unknownFields, extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e).setUnfinishedMessage(this);
      } finally {
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return pb.xiugou.x1.protobuf.recharge.Recharge.internal_static_pb_PbRechargeDataFuShun_descriptor;
    }

    @java.lang.Override
    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return pb.xiugou.x1.protobuf.recharge.Recharge.internal_static_pb_PbRechargeDataFuShun_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              pb.xiugou.x1.protobuf.recharge.Recharge.PbRechargeDataFuShun.class, pb.xiugou.x1.protobuf.recharge.Recharge.PbRechargeDataFuShun.Builder.class);
    }

    public static final int TOTAL_FEE_FIELD_NUMBER = 1;
    private volatile java.lang.Object totalFee_;
    /**
     * <pre>
     *支付金额，单位分，可传小数	客户端不用填，只取值
     * </pre>
     *
     * <code>string total_fee = 1;</code>
     * @return The totalFee.
     */
    public java.lang.String getTotalFee() {
      java.lang.Object ref = totalFee_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        totalFee_ = s;
        return s;
      }
    }
    /**
     * <pre>
     *支付金额，单位分，可传小数	客户端不用填，只取值
     * </pre>
     *
     * <code>string total_fee = 1;</code>
     * @return The bytes for totalFee.
     */
    public com.google.protobuf.ByteString
        getTotalFeeBytes() {
      java.lang.Object ref = totalFee_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        totalFee_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int ROLE_ID_FIELD_NUMBER = 2;
    private long roleId_;
    /**
     * <pre>
     *角色ID				客户端不用填，只取值
     * </pre>
     *
     * <code>int64 role_id = 2;</code>
     * @return The roleId.
     */
    public long getRoleId() {
      return roleId_;
    }

    public static final int ROLE_NAME_FIELD_NUMBER = 3;
    private volatile java.lang.Object roleName_;
    /**
     * <pre>
     *角色名				客户端不用填，只取值
     * </pre>
     *
     * <code>string role_name = 3;</code>
     * @return The roleName.
     */
    public java.lang.String getRoleName() {
      java.lang.Object ref = roleName_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        roleName_ = s;
        return s;
      }
    }
    /**
     * <pre>
     *角色名				客户端不用填，只取值
     * </pre>
     *
     * <code>string role_name = 3;</code>
     * @return The bytes for roleName.
     */
    public com.google.protobuf.ByteString
        getRoleNameBytes() {
      java.lang.Object ref = roleName_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        roleName_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int SERVER_ID_FIELD_NUMBER = 4;
    private int serverId_;
    /**
     * <pre>
     *角色所在区服ID		客户端不用填，只取值
     * </pre>
     *
     * <code>int32 server_id = 4;</code>
     * @return The serverId.
     */
    public int getServerId() {
      return serverId_;
    }

    public static final int SERVER_NAME_FIELD_NUMBER = 5;
    private volatile java.lang.Object serverName_;
    /**
     * <pre>
     *角色所在区服名		客户端不用填，只取值
     * </pre>
     *
     * <code>string server_name = 5;</code>
     * @return The serverName.
     */
    public java.lang.String getServerName() {
      java.lang.Object ref = serverName_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        serverName_ = s;
        return s;
      }
    }
    /**
     * <pre>
     *角色所在区服名		客户端不用填，只取值
     * </pre>
     *
     * <code>string server_name = 5;</code>
     * @return The bytes for serverName.
     */
    public com.google.protobuf.ByteString
        getServerNameBytes() {
      java.lang.Object ref = serverName_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        serverName_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int ROLE_LEVEL_FIELD_NUMBER = 6;
    private int roleLevel_;
    /**
     * <pre>
     *玩家等级			客户端不用填，只取值
     * </pre>
     *
     * <code>int32 role_level = 6;</code>
     * @return The roleLevel.
     */
    public int getRoleLevel() {
      return roleLevel_;
    }

    public static final int VIP_LEVEL_FIELD_NUMBER = 7;
    private int vipLevel_;
    /**
     * <pre>
     *VIP等级			客户端不用填，只取值
     * </pre>
     *
     * <code>int32 vip_level = 7;</code>
     * @return The vipLevel.
     */
    public int getVipLevel() {
      return vipLevel_;
    }

    public static final int PRODUCT_ID_FIELD_NUMBER = 8;
    private int productId_;
    /**
     * <pre>
     *购买商品ID			客户端不用填，只取值
     * </pre>
     *
     * <code>int32 product_id = 8;</code>
     * @return The productId.
     */
    public int getProductId() {
      return productId_;
    }

    public static final int PRODUCT_NAME_FIELD_NUMBER = 9;
    private volatile java.lang.Object productName_;
    /**
     * <pre>
     *购买商品描述		客户端不用填，只取值
     * </pre>
     *
     * <code>string product_name = 9;</code>
     * @return The productName.
     */
    public java.lang.String getProductName() {
      java.lang.Object ref = productName_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        productName_ = s;
        return s;
      }
    }
    /**
     * <pre>
     *购买商品描述		客户端不用填，只取值
     * </pre>
     *
     * <code>string product_name = 9;</code>
     * @return The bytes for productName.
     */
    public com.google.protobuf.ByteString
        getProductNameBytes() {
      java.lang.Object ref = productName_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        productName_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int CP_ORDER_NUM_FIELD_NUMBER = 10;
    private volatile java.lang.Object cpOrderNum_;
    /**
     * <pre>
     *本次下单游戏订单号	客户端不用填，只取值
     * </pre>
     *
     * <code>string cp_order_num = 10;</code>
     * @return The cpOrderNum.
     */
    public java.lang.String getCpOrderNum() {
      java.lang.Object ref = cpOrderNum_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        cpOrderNum_ = s;
        return s;
      }
    }
    /**
     * <pre>
     *本次下单游戏订单号	客户端不用填，只取值
     * </pre>
     *
     * <code>string cp_order_num = 10;</code>
     * @return The bytes for cpOrderNum.
     */
    public com.google.protobuf.ByteString
        getCpOrderNumBytes() {
      java.lang.Object ref = cpOrderNum_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        cpOrderNum_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int EXT_FIELD_NUMBER = 11;
    private volatile java.lang.Object ext_;
    /**
     * <pre>
     *透传参数			客户端不用填，只取值
     * </pre>
     *
     * <code>string ext = 11;</code>
     * @return The ext.
     */
    public java.lang.String getExt() {
      java.lang.Object ref = ext_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        ext_ = s;
        return s;
      }
    }
    /**
     * <pre>
     *透传参数			客户端不用填，只取值
     * </pre>
     *
     * <code>string ext = 11;</code>
     * @return The bytes for ext.
     */
    public com.google.protobuf.ByteString
        getExtBytes() {
      java.lang.Object ref = ext_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        ext_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    private byte memoizedIsInitialized = -1;
    @java.lang.Override
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized == 1) return true;
      if (isInitialized == 0) return false;

      memoizedIsInitialized = 1;
      return true;
    }

    @java.lang.Override
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (!getTotalFeeBytes().isEmpty()) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 1, totalFee_);
      }
      if (roleId_ != 0L) {
        output.writeInt64(2, roleId_);
      }
      if (!getRoleNameBytes().isEmpty()) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 3, roleName_);
      }
      if (serverId_ != 0) {
        output.writeInt32(4, serverId_);
      }
      if (!getServerNameBytes().isEmpty()) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 5, serverName_);
      }
      if (roleLevel_ != 0) {
        output.writeInt32(6, roleLevel_);
      }
      if (vipLevel_ != 0) {
        output.writeInt32(7, vipLevel_);
      }
      if (productId_ != 0) {
        output.writeInt32(8, productId_);
      }
      if (!getProductNameBytes().isEmpty()) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 9, productName_);
      }
      if (!getCpOrderNumBytes().isEmpty()) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 10, cpOrderNum_);
      }
      if (!getExtBytes().isEmpty()) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 11, ext_);
      }
      unknownFields.writeTo(output);
    }

    @java.lang.Override
    public int getSerializedSize() {
      int size = memoizedSize;
      if (size != -1) return size;

      size = 0;
      if (!getTotalFeeBytes().isEmpty()) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, totalFee_);
      }
      if (roleId_ != 0L) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt64Size(2, roleId_);
      }
      if (!getRoleNameBytes().isEmpty()) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(3, roleName_);
      }
      if (serverId_ != 0) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(4, serverId_);
      }
      if (!getServerNameBytes().isEmpty()) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(5, serverName_);
      }
      if (roleLevel_ != 0) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(6, roleLevel_);
      }
      if (vipLevel_ != 0) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(7, vipLevel_);
      }
      if (productId_ != 0) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(8, productId_);
      }
      if (!getProductNameBytes().isEmpty()) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(9, productName_);
      }
      if (!getCpOrderNumBytes().isEmpty()) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(10, cpOrderNum_);
      }
      if (!getExtBytes().isEmpty()) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(11, ext_);
      }
      size += unknownFields.getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof pb.xiugou.x1.protobuf.recharge.Recharge.PbRechargeDataFuShun)) {
        return super.equals(obj);
      }
      pb.xiugou.x1.protobuf.recharge.Recharge.PbRechargeDataFuShun other = (pb.xiugou.x1.protobuf.recharge.Recharge.PbRechargeDataFuShun) obj;

      if (!getTotalFee()
          .equals(other.getTotalFee())) return false;
      if (getRoleId()
          != other.getRoleId()) return false;
      if (!getRoleName()
          .equals(other.getRoleName())) return false;
      if (getServerId()
          != other.getServerId()) return false;
      if (!getServerName()
          .equals(other.getServerName())) return false;
      if (getRoleLevel()
          != other.getRoleLevel()) return false;
      if (getVipLevel()
          != other.getVipLevel()) return false;
      if (getProductId()
          != other.getProductId()) return false;
      if (!getProductName()
          .equals(other.getProductName())) return false;
      if (!getCpOrderNum()
          .equals(other.getCpOrderNum())) return false;
      if (!getExt()
          .equals(other.getExt())) return false;
      if (!unknownFields.equals(other.unknownFields)) return false;
      return true;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      hash = (37 * hash) + TOTAL_FEE_FIELD_NUMBER;
      hash = (53 * hash) + getTotalFee().hashCode();
      hash = (37 * hash) + ROLE_ID_FIELD_NUMBER;
      hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
          getRoleId());
      hash = (37 * hash) + ROLE_NAME_FIELD_NUMBER;
      hash = (53 * hash) + getRoleName().hashCode();
      hash = (37 * hash) + SERVER_ID_FIELD_NUMBER;
      hash = (53 * hash) + getServerId();
      hash = (37 * hash) + SERVER_NAME_FIELD_NUMBER;
      hash = (53 * hash) + getServerName().hashCode();
      hash = (37 * hash) + ROLE_LEVEL_FIELD_NUMBER;
      hash = (53 * hash) + getRoleLevel();
      hash = (37 * hash) + VIP_LEVEL_FIELD_NUMBER;
      hash = (53 * hash) + getVipLevel();
      hash = (37 * hash) + PRODUCT_ID_FIELD_NUMBER;
      hash = (53 * hash) + getProductId();
      hash = (37 * hash) + PRODUCT_NAME_FIELD_NUMBER;
      hash = (53 * hash) + getProductName().hashCode();
      hash = (37 * hash) + CP_ORDER_NUM_FIELD_NUMBER;
      hash = (53 * hash) + getCpOrderNum().hashCode();
      hash = (37 * hash) + EXT_FIELD_NUMBER;
      hash = (53 * hash) + getExt().hashCode();
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static pb.xiugou.x1.protobuf.recharge.Recharge.PbRechargeDataFuShun parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static pb.xiugou.x1.protobuf.recharge.Recharge.PbRechargeDataFuShun parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static pb.xiugou.x1.protobuf.recharge.Recharge.PbRechargeDataFuShun parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static pb.xiugou.x1.protobuf.recharge.Recharge.PbRechargeDataFuShun parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static pb.xiugou.x1.protobuf.recharge.Recharge.PbRechargeDataFuShun parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static pb.xiugou.x1.protobuf.recharge.Recharge.PbRechargeDataFuShun parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static pb.xiugou.x1.protobuf.recharge.Recharge.PbRechargeDataFuShun parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static pb.xiugou.x1.protobuf.recharge.Recharge.PbRechargeDataFuShun parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }
    public static pb.xiugou.x1.protobuf.recharge.Recharge.PbRechargeDataFuShun parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }
    public static pb.xiugou.x1.protobuf.recharge.Recharge.PbRechargeDataFuShun parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
    }
    public static pb.xiugou.x1.protobuf.recharge.Recharge.PbRechargeDataFuShun parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static pb.xiugou.x1.protobuf.recharge.Recharge.PbRechargeDataFuShun parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    @java.lang.Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(pb.xiugou.x1.protobuf.recharge.Recharge.PbRechargeDataFuShun prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    @java.lang.Override
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * <pre>
     *福顺
     * </pre>
     *
     * Protobuf type {@code pb.PbRechargeDataFuShun}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:pb.PbRechargeDataFuShun)
        pb.xiugou.x1.protobuf.recharge.Recharge.PbRechargeDataFuShunOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return pb.xiugou.x1.protobuf.recharge.Recharge.internal_static_pb_PbRechargeDataFuShun_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return pb.xiugou.x1.protobuf.recharge.Recharge.internal_static_pb_PbRechargeDataFuShun_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                pb.xiugou.x1.protobuf.recharge.Recharge.PbRechargeDataFuShun.class, pb.xiugou.x1.protobuf.recharge.Recharge.PbRechargeDataFuShun.Builder.class);
      }

      // Construct using pb.xiugou.x1.protobuf.recharge.Recharge.PbRechargeDataFuShun.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessageV3
                .alwaysUseFieldBuilders) {
        }
      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        totalFee_ = "";

        roleId_ = 0L;

        roleName_ = "";

        serverId_ = 0;

        serverName_ = "";

        roleLevel_ = 0;

        vipLevel_ = 0;

        productId_ = 0;

        productName_ = "";

        cpOrderNum_ = "";

        ext_ = "";

        return this;
      }

      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return pb.xiugou.x1.protobuf.recharge.Recharge.internal_static_pb_PbRechargeDataFuShun_descriptor;
      }

      @java.lang.Override
      public pb.xiugou.x1.protobuf.recharge.Recharge.PbRechargeDataFuShun getDefaultInstanceForType() {
        return pb.xiugou.x1.protobuf.recharge.Recharge.PbRechargeDataFuShun.getDefaultInstance();
      }

      @java.lang.Override
      public pb.xiugou.x1.protobuf.recharge.Recharge.PbRechargeDataFuShun build() {
        pb.xiugou.x1.protobuf.recharge.Recharge.PbRechargeDataFuShun result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public pb.xiugou.x1.protobuf.recharge.Recharge.PbRechargeDataFuShun buildPartial() {
        pb.xiugou.x1.protobuf.recharge.Recharge.PbRechargeDataFuShun result = new pb.xiugou.x1.protobuf.recharge.Recharge.PbRechargeDataFuShun(this);
        result.totalFee_ = totalFee_;
        result.roleId_ = roleId_;
        result.roleName_ = roleName_;
        result.serverId_ = serverId_;
        result.serverName_ = serverName_;
        result.roleLevel_ = roleLevel_;
        result.vipLevel_ = vipLevel_;
        result.productId_ = productId_;
        result.productName_ = productName_;
        result.cpOrderNum_ = cpOrderNum_;
        result.ext_ = ext_;
        onBuilt();
        return result;
      }

      @java.lang.Override
      public Builder clone() {
        return super.clone();
      }
      @java.lang.Override
      public Builder setField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.setField(field, value);
      }
      @java.lang.Override
      public Builder clearField(
          com.google.protobuf.Descriptors.FieldDescriptor field) {
        return super.clearField(field);
      }
      @java.lang.Override
      public Builder clearOneof(
          com.google.protobuf.Descriptors.OneofDescriptor oneof) {
        return super.clearOneof(oneof);
      }
      @java.lang.Override
      public Builder setRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          int index, java.lang.Object value) {
        return super.setRepeatedField(field, index, value);
      }
      @java.lang.Override
      public Builder addRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.addRepeatedField(field, value);
      }
      @java.lang.Override
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof pb.xiugou.x1.protobuf.recharge.Recharge.PbRechargeDataFuShun) {
          return mergeFrom((pb.xiugou.x1.protobuf.recharge.Recharge.PbRechargeDataFuShun)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(pb.xiugou.x1.protobuf.recharge.Recharge.PbRechargeDataFuShun other) {
        if (other == pb.xiugou.x1.protobuf.recharge.Recharge.PbRechargeDataFuShun.getDefaultInstance()) return this;
        if (!other.getTotalFee().isEmpty()) {
          totalFee_ = other.totalFee_;
          onChanged();
        }
        if (other.getRoleId() != 0L) {
          setRoleId(other.getRoleId());
        }
        if (!other.getRoleName().isEmpty()) {
          roleName_ = other.roleName_;
          onChanged();
        }
        if (other.getServerId() != 0) {
          setServerId(other.getServerId());
        }
        if (!other.getServerName().isEmpty()) {
          serverName_ = other.serverName_;
          onChanged();
        }
        if (other.getRoleLevel() != 0) {
          setRoleLevel(other.getRoleLevel());
        }
        if (other.getVipLevel() != 0) {
          setVipLevel(other.getVipLevel());
        }
        if (other.getProductId() != 0) {
          setProductId(other.getProductId());
        }
        if (!other.getProductName().isEmpty()) {
          productName_ = other.productName_;
          onChanged();
        }
        if (!other.getCpOrderNum().isEmpty()) {
          cpOrderNum_ = other.cpOrderNum_;
          onChanged();
        }
        if (!other.getExt().isEmpty()) {
          ext_ = other.ext_;
          onChanged();
        }
        this.mergeUnknownFields(other.unknownFields);
        onChanged();
        return this;
      }

      @java.lang.Override
      public final boolean isInitialized() {
        return true;
      }

      @java.lang.Override
      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        pb.xiugou.x1.protobuf.recharge.Recharge.PbRechargeDataFuShun parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (pb.xiugou.x1.protobuf.recharge.Recharge.PbRechargeDataFuShun) e.getUnfinishedMessage();
          throw e.unwrapIOException();
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }

      private java.lang.Object totalFee_ = "";
      /**
       * <pre>
       *支付金额，单位分，可传小数	客户端不用填，只取值
       * </pre>
       *
       * <code>string total_fee = 1;</code>
       * @return The totalFee.
       */
      public java.lang.String getTotalFee() {
        java.lang.Object ref = totalFee_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          totalFee_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <pre>
       *支付金额，单位分，可传小数	客户端不用填，只取值
       * </pre>
       *
       * <code>string total_fee = 1;</code>
       * @return The bytes for totalFee.
       */
      public com.google.protobuf.ByteString
          getTotalFeeBytes() {
        java.lang.Object ref = totalFee_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          totalFee_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <pre>
       *支付金额，单位分，可传小数	客户端不用填，只取值
       * </pre>
       *
       * <code>string total_fee = 1;</code>
       * @param value The totalFee to set.
       * @return This builder for chaining.
       */
      public Builder setTotalFee(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        totalFee_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *支付金额，单位分，可传小数	客户端不用填，只取值
       * </pre>
       *
       * <code>string total_fee = 1;</code>
       * @return This builder for chaining.
       */
      public Builder clearTotalFee() {
        
        totalFee_ = getDefaultInstance().getTotalFee();
        onChanged();
        return this;
      }
      /**
       * <pre>
       *支付金额，单位分，可传小数	客户端不用填，只取值
       * </pre>
       *
       * <code>string total_fee = 1;</code>
       * @param value The bytes for totalFee to set.
       * @return This builder for chaining.
       */
      public Builder setTotalFeeBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        
        totalFee_ = value;
        onChanged();
        return this;
      }

      private long roleId_ ;
      /**
       * <pre>
       *角色ID				客户端不用填，只取值
       * </pre>
       *
       * <code>int64 role_id = 2;</code>
       * @return The roleId.
       */
      public long getRoleId() {
        return roleId_;
      }
      /**
       * <pre>
       *角色ID				客户端不用填，只取值
       * </pre>
       *
       * <code>int64 role_id = 2;</code>
       * @param value The roleId to set.
       * @return This builder for chaining.
       */
      public Builder setRoleId(long value) {
        
        roleId_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *角色ID				客户端不用填，只取值
       * </pre>
       *
       * <code>int64 role_id = 2;</code>
       * @return This builder for chaining.
       */
      public Builder clearRoleId() {
        
        roleId_ = 0L;
        onChanged();
        return this;
      }

      private java.lang.Object roleName_ = "";
      /**
       * <pre>
       *角色名				客户端不用填，只取值
       * </pre>
       *
       * <code>string role_name = 3;</code>
       * @return The roleName.
       */
      public java.lang.String getRoleName() {
        java.lang.Object ref = roleName_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          roleName_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <pre>
       *角色名				客户端不用填，只取值
       * </pre>
       *
       * <code>string role_name = 3;</code>
       * @return The bytes for roleName.
       */
      public com.google.protobuf.ByteString
          getRoleNameBytes() {
        java.lang.Object ref = roleName_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          roleName_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <pre>
       *角色名				客户端不用填，只取值
       * </pre>
       *
       * <code>string role_name = 3;</code>
       * @param value The roleName to set.
       * @return This builder for chaining.
       */
      public Builder setRoleName(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        roleName_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *角色名				客户端不用填，只取值
       * </pre>
       *
       * <code>string role_name = 3;</code>
       * @return This builder for chaining.
       */
      public Builder clearRoleName() {
        
        roleName_ = getDefaultInstance().getRoleName();
        onChanged();
        return this;
      }
      /**
       * <pre>
       *角色名				客户端不用填，只取值
       * </pre>
       *
       * <code>string role_name = 3;</code>
       * @param value The bytes for roleName to set.
       * @return This builder for chaining.
       */
      public Builder setRoleNameBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        
        roleName_ = value;
        onChanged();
        return this;
      }

      private int serverId_ ;
      /**
       * <pre>
       *角色所在区服ID		客户端不用填，只取值
       * </pre>
       *
       * <code>int32 server_id = 4;</code>
       * @return The serverId.
       */
      public int getServerId() {
        return serverId_;
      }
      /**
       * <pre>
       *角色所在区服ID		客户端不用填，只取值
       * </pre>
       *
       * <code>int32 server_id = 4;</code>
       * @param value The serverId to set.
       * @return This builder for chaining.
       */
      public Builder setServerId(int value) {
        
        serverId_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *角色所在区服ID		客户端不用填，只取值
       * </pre>
       *
       * <code>int32 server_id = 4;</code>
       * @return This builder for chaining.
       */
      public Builder clearServerId() {
        
        serverId_ = 0;
        onChanged();
        return this;
      }

      private java.lang.Object serverName_ = "";
      /**
       * <pre>
       *角色所在区服名		客户端不用填，只取值
       * </pre>
       *
       * <code>string server_name = 5;</code>
       * @return The serverName.
       */
      public java.lang.String getServerName() {
        java.lang.Object ref = serverName_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          serverName_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <pre>
       *角色所在区服名		客户端不用填，只取值
       * </pre>
       *
       * <code>string server_name = 5;</code>
       * @return The bytes for serverName.
       */
      public com.google.protobuf.ByteString
          getServerNameBytes() {
        java.lang.Object ref = serverName_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          serverName_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <pre>
       *角色所在区服名		客户端不用填，只取值
       * </pre>
       *
       * <code>string server_name = 5;</code>
       * @param value The serverName to set.
       * @return This builder for chaining.
       */
      public Builder setServerName(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        serverName_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *角色所在区服名		客户端不用填，只取值
       * </pre>
       *
       * <code>string server_name = 5;</code>
       * @return This builder for chaining.
       */
      public Builder clearServerName() {
        
        serverName_ = getDefaultInstance().getServerName();
        onChanged();
        return this;
      }
      /**
       * <pre>
       *角色所在区服名		客户端不用填，只取值
       * </pre>
       *
       * <code>string server_name = 5;</code>
       * @param value The bytes for serverName to set.
       * @return This builder for chaining.
       */
      public Builder setServerNameBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        
        serverName_ = value;
        onChanged();
        return this;
      }

      private int roleLevel_ ;
      /**
       * <pre>
       *玩家等级			客户端不用填，只取值
       * </pre>
       *
       * <code>int32 role_level = 6;</code>
       * @return The roleLevel.
       */
      public int getRoleLevel() {
        return roleLevel_;
      }
      /**
       * <pre>
       *玩家等级			客户端不用填，只取值
       * </pre>
       *
       * <code>int32 role_level = 6;</code>
       * @param value The roleLevel to set.
       * @return This builder for chaining.
       */
      public Builder setRoleLevel(int value) {
        
        roleLevel_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *玩家等级			客户端不用填，只取值
       * </pre>
       *
       * <code>int32 role_level = 6;</code>
       * @return This builder for chaining.
       */
      public Builder clearRoleLevel() {
        
        roleLevel_ = 0;
        onChanged();
        return this;
      }

      private int vipLevel_ ;
      /**
       * <pre>
       *VIP等级			客户端不用填，只取值
       * </pre>
       *
       * <code>int32 vip_level = 7;</code>
       * @return The vipLevel.
       */
      public int getVipLevel() {
        return vipLevel_;
      }
      /**
       * <pre>
       *VIP等级			客户端不用填，只取值
       * </pre>
       *
       * <code>int32 vip_level = 7;</code>
       * @param value The vipLevel to set.
       * @return This builder for chaining.
       */
      public Builder setVipLevel(int value) {
        
        vipLevel_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *VIP等级			客户端不用填，只取值
       * </pre>
       *
       * <code>int32 vip_level = 7;</code>
       * @return This builder for chaining.
       */
      public Builder clearVipLevel() {
        
        vipLevel_ = 0;
        onChanged();
        return this;
      }

      private int productId_ ;
      /**
       * <pre>
       *购买商品ID			客户端不用填，只取值
       * </pre>
       *
       * <code>int32 product_id = 8;</code>
       * @return The productId.
       */
      public int getProductId() {
        return productId_;
      }
      /**
       * <pre>
       *购买商品ID			客户端不用填，只取值
       * </pre>
       *
       * <code>int32 product_id = 8;</code>
       * @param value The productId to set.
       * @return This builder for chaining.
       */
      public Builder setProductId(int value) {
        
        productId_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *购买商品ID			客户端不用填，只取值
       * </pre>
       *
       * <code>int32 product_id = 8;</code>
       * @return This builder for chaining.
       */
      public Builder clearProductId() {
        
        productId_ = 0;
        onChanged();
        return this;
      }

      private java.lang.Object productName_ = "";
      /**
       * <pre>
       *购买商品描述		客户端不用填，只取值
       * </pre>
       *
       * <code>string product_name = 9;</code>
       * @return The productName.
       */
      public java.lang.String getProductName() {
        java.lang.Object ref = productName_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          productName_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <pre>
       *购买商品描述		客户端不用填，只取值
       * </pre>
       *
       * <code>string product_name = 9;</code>
       * @return The bytes for productName.
       */
      public com.google.protobuf.ByteString
          getProductNameBytes() {
        java.lang.Object ref = productName_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          productName_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <pre>
       *购买商品描述		客户端不用填，只取值
       * </pre>
       *
       * <code>string product_name = 9;</code>
       * @param value The productName to set.
       * @return This builder for chaining.
       */
      public Builder setProductName(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        productName_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *购买商品描述		客户端不用填，只取值
       * </pre>
       *
       * <code>string product_name = 9;</code>
       * @return This builder for chaining.
       */
      public Builder clearProductName() {
        
        productName_ = getDefaultInstance().getProductName();
        onChanged();
        return this;
      }
      /**
       * <pre>
       *购买商品描述		客户端不用填，只取值
       * </pre>
       *
       * <code>string product_name = 9;</code>
       * @param value The bytes for productName to set.
       * @return This builder for chaining.
       */
      public Builder setProductNameBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        
        productName_ = value;
        onChanged();
        return this;
      }

      private java.lang.Object cpOrderNum_ = "";
      /**
       * <pre>
       *本次下单游戏订单号	客户端不用填，只取值
       * </pre>
       *
       * <code>string cp_order_num = 10;</code>
       * @return The cpOrderNum.
       */
      public java.lang.String getCpOrderNum() {
        java.lang.Object ref = cpOrderNum_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          cpOrderNum_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <pre>
       *本次下单游戏订单号	客户端不用填，只取值
       * </pre>
       *
       * <code>string cp_order_num = 10;</code>
       * @return The bytes for cpOrderNum.
       */
      public com.google.protobuf.ByteString
          getCpOrderNumBytes() {
        java.lang.Object ref = cpOrderNum_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          cpOrderNum_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <pre>
       *本次下单游戏订单号	客户端不用填，只取值
       * </pre>
       *
       * <code>string cp_order_num = 10;</code>
       * @param value The cpOrderNum to set.
       * @return This builder for chaining.
       */
      public Builder setCpOrderNum(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        cpOrderNum_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *本次下单游戏订单号	客户端不用填，只取值
       * </pre>
       *
       * <code>string cp_order_num = 10;</code>
       * @return This builder for chaining.
       */
      public Builder clearCpOrderNum() {
        
        cpOrderNum_ = getDefaultInstance().getCpOrderNum();
        onChanged();
        return this;
      }
      /**
       * <pre>
       *本次下单游戏订单号	客户端不用填，只取值
       * </pre>
       *
       * <code>string cp_order_num = 10;</code>
       * @param value The bytes for cpOrderNum to set.
       * @return This builder for chaining.
       */
      public Builder setCpOrderNumBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        
        cpOrderNum_ = value;
        onChanged();
        return this;
      }

      private java.lang.Object ext_ = "";
      /**
       * <pre>
       *透传参数			客户端不用填，只取值
       * </pre>
       *
       * <code>string ext = 11;</code>
       * @return The ext.
       */
      public java.lang.String getExt() {
        java.lang.Object ref = ext_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          ext_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <pre>
       *透传参数			客户端不用填，只取值
       * </pre>
       *
       * <code>string ext = 11;</code>
       * @return The bytes for ext.
       */
      public com.google.protobuf.ByteString
          getExtBytes() {
        java.lang.Object ref = ext_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          ext_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <pre>
       *透传参数			客户端不用填，只取值
       * </pre>
       *
       * <code>string ext = 11;</code>
       * @param value The ext to set.
       * @return This builder for chaining.
       */
      public Builder setExt(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        ext_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *透传参数			客户端不用填，只取值
       * </pre>
       *
       * <code>string ext = 11;</code>
       * @return This builder for chaining.
       */
      public Builder clearExt() {
        
        ext_ = getDefaultInstance().getExt();
        onChanged();
        return this;
      }
      /**
       * <pre>
       *透传参数			客户端不用填，只取值
       * </pre>
       *
       * <code>string ext = 11;</code>
       * @param value The bytes for ext to set.
       * @return This builder for chaining.
       */
      public Builder setExtBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        
        ext_ = value;
        onChanged();
        return this;
      }
      @java.lang.Override
      public final Builder setUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.setUnknownFields(unknownFields);
      }

      @java.lang.Override
      public final Builder mergeUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.mergeUnknownFields(unknownFields);
      }


      // @@protoc_insertion_point(builder_scope:pb.PbRechargeDataFuShun)
    }

    // @@protoc_insertion_point(class_scope:pb.PbRechargeDataFuShun)
    private static final pb.xiugou.x1.protobuf.recharge.Recharge.PbRechargeDataFuShun DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new pb.xiugou.x1.protobuf.recharge.Recharge.PbRechargeDataFuShun();
    }

    public static pb.xiugou.x1.protobuf.recharge.Recharge.PbRechargeDataFuShun getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static final com.google.protobuf.Parser<PbRechargeDataFuShun>
        PARSER = new com.google.protobuf.AbstractParser<PbRechargeDataFuShun>() {
      @java.lang.Override
      public PbRechargeDataFuShun parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new PbRechargeDataFuShun(input, extensionRegistry);
      }
    };

    public static com.google.protobuf.Parser<PbRechargeDataFuShun> parser() {
      return PARSER;
    }

    @java.lang.Override
    public com.google.protobuf.Parser<PbRechargeDataFuShun> getParserForType() {
      return PARSER;
    }

    @java.lang.Override
    public pb.xiugou.x1.protobuf.recharge.Recharge.PbRechargeDataFuShun getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_pb_RechargeInfoResponse_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_pb_RechargeInfoResponse_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_pb_RechargeOrderRequest_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_pb_RechargeOrderRequest_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_pb_RechargeOrderResponse_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_pb_RechargeOrderResponse_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_pb_RechargeVoucherOrderRequest_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_pb_RechargeVoucherOrderRequest_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_pb_RechargeVoucherOrderResponse_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_pb_RechargeVoucherOrderResponse_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_pb_RechargeGivingMessage_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_pb_RechargeGivingMessage_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_pb_PbRechargeData37_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_pb_PbRechargeData37_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_pb_PbRechargeDataYiLe_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_pb_PbRechargeDataYiLe_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_pb_PbRechargeDataWabo_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_pb_PbRechargeDataWabo_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_pb_PbRechargeDataFuShun_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_pb_PbRechargeDataFuShun_fieldAccessorTable;

  public static com.google.protobuf.Descriptors.FileDescriptor
      getDescriptor() {
    return descriptor;
  }
  private static  com.google.protobuf.Descriptors.FileDescriptor
      descriptor;
  static {
    java.lang.String[] descriptorData = {
      "\n\016Recharge.proto\022\002pb\032\020MiniStruct.proto\"K" +
      "\n\024RechargeInfoResponse\022\023\n\013product_ids\030\001 " +
      "\003(\005\"\036\n\005Proto\022\013\n\007UNKNOWN\020\000\022\010\n\002ID\020\341\373s\"\221\001\n\024" +
      "RechargeOrderRequest\022\022\n\nproduct_id\030\001 \001(\005" +
      "\022\024\n\014product_data\030\002 \001(\t\022\030\n\020channel_identi" +
      "ty\030\003 \001(\t\022\025\n\rrecharge_data\030\004 \001(\014\"\036\n\005Proto" +
      "\022\013\n\007UNKNOWN\020\000\022\010\n\002ID\020\342\373s\"\242\001\n\025RechargeOrde" +
      "rResponse\022\022\n\nproduct_id\030\001 \001(\005\022\020\n\010order_i" +
      "d\030\002 \001(\t\022\022\n\nextra_info\030\003 \001(\t\022\030\n\020channel_i" +
      "dentity\030\004 \001(\t\022\025\n\rrecharge_data\030\005 \001(\014\"\036\n\005" +
      "Proto\022\013\n\007UNKNOWN\020\000\022\010\n\002ID\020\342\373s\"g\n\033Recharge" +
      "VoucherOrderRequest\022\022\n\nproduct_id\030\001 \001(\005\022" +
      "\024\n\014product_data\030\002 \001(\t\"\036\n\005Proto\022\013\n\007UNKNOW" +
      "N\020\000\022\010\n\002ID\020\343\373s\">\n\034RechargeVoucherOrderRes" +
      "ponse\"\036\n\005Proto\022\013\n\007UNKNOWN\020\000\022\010\n\002ID\020\343\373s\"h\n" +
      "\025RechargeGivingMessage\022\022\n\nproduct_id\030\001 \001" +
      "(\005\022\033\n\006things\030\002 \003(\0132\013.pb.PbThing\"\036\n\005Proto" +
      "\022\013\n\007UNKNOWN\020\000\022\010\n\002ID\020\344\373s\"\340\001\n\020PbRechargeDa" +
      "ta37\022\r\n\005appid\030\001 \001(\t\022\017\n\007game_id\030\002 \001(\005\022\013\n\003" +
      "uid\030\003 \001(\003\022\013\n\003sid\030\004 \001(\005\022\020\n\010actor_id\030\005 \001(\t" +
      "\022\020\n\010order_no\030\006 \001(\t\022\r\n\005money\030\007 \001(\t\022\021\n\tgam" +
      "e_coin\030\010 \001(\003\022\022\n\nproduct_id\030\t \001(\005\022\017\n\007subj" +
      "ect\030\n \001(\t\022\014\n\004time\030\013 \001(\005\022\014\n\004sign\030\014 \001(\t\022\013\n" +
      "\003ext\030\r \001(\t\"\270\001\n\022PbRechargeDataYiLe\022\016\n\006amo" +
      "unt\030\001 \001(\t\022\017\n\007role_id\030\002 \001(\003\022\021\n\trole_name\030" +
      "\003 \001(\t\022\021\n\tserver_id\030\004 \001(\005\022\023\n\013server_name\030" +
      "\005 \001(\t\022\020\n\010goods_id\030\006 \001(\005\022\022\n\ngoods_desc\030\007 " +
      "\001(\t\022\023\n\013cp_order_id\030\010 \001(\t\022\013\n\003ext\030\t \001(\t\"\316\001" +
      "\n\022PbRechargeDataWabo\022\024\n\014callback_url\030\001 \001" +
      "(\t\022\016\n\006amount\030\002 \001(\t\022\017\n\007role_id\030\003 \001(\003\022\021\n\tr" +
      "ole_name\030\004 \001(\t\022\021\n\tserver_id\030\005 \001(\005\022\023\n\013ser" +
      "ver_name\030\006 \001(\t\022\020\n\010goods_id\030\007 \001(\t\022\022\n\ngood" +
      "s_desc\030\010 \001(\t\022\023\n\013cp_order_id\030\t \001(\t\022\013\n\003ext" +
      "\030\n \001(\t\"\351\001\n\024PbRechargeDataFuShun\022\021\n\ttotal" +
      "_fee\030\001 \001(\t\022\017\n\007role_id\030\002 \001(\003\022\021\n\trole_name" +
      "\030\003 \001(\t\022\021\n\tserver_id\030\004 \001(\005\022\023\n\013server_name" +
      "\030\005 \001(\t\022\022\n\nrole_level\030\006 \001(\005\022\021\n\tvip_level\030" +
      "\007 \001(\005\022\022\n\nproduct_id\030\010 \001(\005\022\024\n\014product_nam" +
      "e\030\t \001(\t\022\024\n\014cp_order_num\030\n \001(\t\022\013\n\003ext\030\013 \001" +
      "(\tB8\n\036pb.xiugou.x1.protobuf.recharge\252\002\025p" +
      "b.xiugou.x1.protobufb\006proto3"
    };
    descriptor = com.google.protobuf.Descriptors.FileDescriptor
      .internalBuildGeneratedFileFrom(descriptorData,
        new com.google.protobuf.Descriptors.FileDescriptor[] {
          pb.xiugou.x1.protobuf.ministruct.MiniStruct.getDescriptor(),
        });
    internal_static_pb_RechargeInfoResponse_descriptor =
      getDescriptor().getMessageTypes().get(0);
    internal_static_pb_RechargeInfoResponse_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_pb_RechargeInfoResponse_descriptor,
        new java.lang.String[] { "ProductIds", });
    internal_static_pb_RechargeOrderRequest_descriptor =
      getDescriptor().getMessageTypes().get(1);
    internal_static_pb_RechargeOrderRequest_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_pb_RechargeOrderRequest_descriptor,
        new java.lang.String[] { "ProductId", "ProductData", "ChannelIdentity", "RechargeData", });
    internal_static_pb_RechargeOrderResponse_descriptor =
      getDescriptor().getMessageTypes().get(2);
    internal_static_pb_RechargeOrderResponse_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_pb_RechargeOrderResponse_descriptor,
        new java.lang.String[] { "ProductId", "OrderId", "ExtraInfo", "ChannelIdentity", "RechargeData", });
    internal_static_pb_RechargeVoucherOrderRequest_descriptor =
      getDescriptor().getMessageTypes().get(3);
    internal_static_pb_RechargeVoucherOrderRequest_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_pb_RechargeVoucherOrderRequest_descriptor,
        new java.lang.String[] { "ProductId", "ProductData", });
    internal_static_pb_RechargeVoucherOrderResponse_descriptor =
      getDescriptor().getMessageTypes().get(4);
    internal_static_pb_RechargeVoucherOrderResponse_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_pb_RechargeVoucherOrderResponse_descriptor,
        new java.lang.String[] { });
    internal_static_pb_RechargeGivingMessage_descriptor =
      getDescriptor().getMessageTypes().get(5);
    internal_static_pb_RechargeGivingMessage_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_pb_RechargeGivingMessage_descriptor,
        new java.lang.String[] { "ProductId", "Things", });
    internal_static_pb_PbRechargeData37_descriptor =
      getDescriptor().getMessageTypes().get(6);
    internal_static_pb_PbRechargeData37_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_pb_PbRechargeData37_descriptor,
        new java.lang.String[] { "Appid", "GameId", "Uid", "Sid", "ActorId", "OrderNo", "Money", "GameCoin", "ProductId", "Subject", "Time", "Sign", "Ext", });
    internal_static_pb_PbRechargeDataYiLe_descriptor =
      getDescriptor().getMessageTypes().get(7);
    internal_static_pb_PbRechargeDataYiLe_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_pb_PbRechargeDataYiLe_descriptor,
        new java.lang.String[] { "Amount", "RoleId", "RoleName", "ServerId", "ServerName", "GoodsId", "GoodsDesc", "CpOrderId", "Ext", });
    internal_static_pb_PbRechargeDataWabo_descriptor =
      getDescriptor().getMessageTypes().get(8);
    internal_static_pb_PbRechargeDataWabo_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_pb_PbRechargeDataWabo_descriptor,
        new java.lang.String[] { "CallbackUrl", "Amount", "RoleId", "RoleName", "ServerId", "ServerName", "GoodsId", "GoodsDesc", "CpOrderId", "Ext", });
    internal_static_pb_PbRechargeDataFuShun_descriptor =
      getDescriptor().getMessageTypes().get(9);
    internal_static_pb_PbRechargeDataFuShun_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_pb_PbRechargeDataFuShun_descriptor,
        new java.lang.String[] { "TotalFee", "RoleId", "RoleName", "ServerId", "ServerName", "RoleLevel", "VipLevel", "ProductId", "ProductName", "CpOrderNum", "Ext", });
    pb.xiugou.x1.protobuf.ministruct.MiniStruct.getDescriptor();
  }

  // @@protoc_insertion_point(outer_class_scope)
}
