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

package com.kfzs.duanduan.proto;

public final class CouponOuterClass {
  private CouponOuterClass() {}
  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 CouponOrBuilder extends
      // @@protoc_insertion_point(interface_extends:protobuf.Coupon)
      com.google.protobuf.MessageOrBuilder {

    /**
     * <code>int32 Id = 1;</code>
     */
    int getId();

    /**
     * <code>int32 Type = 2;</code>
     */
    int getType();

    /**
     * <code>string Img = 3;</code>
     */
    java.lang.String getImg();
    /**
     * <code>string Img = 3;</code>
     */
    com.google.protobuf.ByteString
        getImgBytes();

    /**
     * <code>int32 Status = 4;</code>
     */
    int getStatus();

    /**
     * <code>string Name = 5;</code>
     */
    java.lang.String getName();
    /**
     * <code>string Name = 5;</code>
     */
    com.google.protobuf.ByteString
        getNameBytes();

    /**
     * <code>int32 Sort = 6;</code>
     */
    int getSort();

    /**
     * <code>int64 CreateTime = 7;</code>
     */
    long getCreateTime();

    /**
     * <code>int64 StartTime = 8;</code>
     */
    long getStartTime();

    /**
     * <pre>
     *剩余数量
     * </pre>
     *
     * <code>int32 NumberRemaining = 9;</code>
     */
    int getNumberRemaining();

    /**
     * <pre>
     *总量
     * </pre>
     *
     * <code>int32 TotalCount = 10;</code>
     */
    int getTotalCount();

    /**
     * <pre>
     *是否已领取
     * </pre>
     *
     * <code>bool IsReceive = 11;</code>
     */
    boolean getIsReceive();

    /**
     * <pre>
     *领取条件
     * </pre>
     *
     * <code>int32 Condition = 12;</code>
     */
    int getCondition();

    /**
     * <code>float Amount = 13;</code>
     */
    float getAmount();
  }
  /**
   * Protobuf type {@code protobuf.Coupon}
   */
  public  static final class Coupon extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:protobuf.Coupon)
      CouponOrBuilder {
    // Use Coupon.newBuilder() to construct.
    private Coupon(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
      super(builder);
    }
    private Coupon() {
      id_ = 0;
      type_ = 0;
      img_ = "";
      status_ = 0;
      name_ = "";
      sort_ = 0;
      createTime_ = 0L;
      startTime_ = 0L;
      numberRemaining_ = 0;
      totalCount_ = 0;
      isReceive_ = false;
      condition_ = 0;
      amount_ = 0F;
    }

    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return com.google.protobuf.UnknownFieldSet.getDefaultInstance();
    }
    private Coupon(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      this();
      int mutable_bitField0_ = 0;
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            default: {
              if (!input.skipField(tag)) {
                done = true;
              }
              break;
            }
            case 8: {

              id_ = input.readInt32();
              break;
            }
            case 16: {

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

              img_ = s;
              break;
            }
            case 32: {

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

              name_ = s;
              break;
            }
            case 48: {

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

              createTime_ = input.readInt64();
              break;
            }
            case 64: {

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

              numberRemaining_ = input.readInt32();
              break;
            }
            case 80: {

              totalCount_ = input.readInt32();
              break;
            }
            case 88: {

              isReceive_ = input.readBool();
              break;
            }
            case 96: {

              condition_ = input.readInt32();
              break;
            }
            case 109: {

              amount_ = input.readFloat();
              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 {
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return com.kfzs.duanduan.proto.CouponOuterClass.internal_static_protobuf_Coupon_descriptor;
    }

    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return com.kfzs.duanduan.proto.CouponOuterClass.internal_static_protobuf_Coupon_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              com.kfzs.duanduan.proto.CouponOuterClass.Coupon.class, com.kfzs.duanduan.proto.CouponOuterClass.Coupon.Builder.class);
    }

    public static final int ID_FIELD_NUMBER = 1;
    private int id_;
    /**
     * <code>int32 Id = 1;</code>
     */
    public int getId() {
      return id_;
    }

    public static final int TYPE_FIELD_NUMBER = 2;
    private int type_;
    /**
     * <code>int32 Type = 2;</code>
     */
    public int getType() {
      return type_;
    }

    public static final int IMG_FIELD_NUMBER = 3;
    private volatile java.lang.Object img_;
    /**
     * <code>string Img = 3;</code>
     */
    public java.lang.String getImg() {
      java.lang.Object ref = img_;
      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();
        img_ = s;
        return s;
      }
    }
    /**
     * <code>string Img = 3;</code>
     */
    public com.google.protobuf.ByteString
        getImgBytes() {
      java.lang.Object ref = img_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        img_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int STATUS_FIELD_NUMBER = 4;
    private int status_;
    /**
     * <code>int32 Status = 4;</code>
     */
    public int getStatus() {
      return status_;
    }

    public static final int NAME_FIELD_NUMBER = 5;
    private volatile java.lang.Object name_;
    /**
     * <code>string Name = 5;</code>
     */
    public java.lang.String getName() {
      java.lang.Object ref = name_;
      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();
        name_ = s;
        return s;
      }
    }
    /**
     * <code>string Name = 5;</code>
     */
    public com.google.protobuf.ByteString
        getNameBytes() {
      java.lang.Object ref = name_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        name_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int SORT_FIELD_NUMBER = 6;
    private int sort_;
    /**
     * <code>int32 Sort = 6;</code>
     */
    public int getSort() {
      return sort_;
    }

    public static final int CREATETIME_FIELD_NUMBER = 7;
    private long createTime_;
    /**
     * <code>int64 CreateTime = 7;</code>
     */
    public long getCreateTime() {
      return createTime_;
    }

    public static final int STARTTIME_FIELD_NUMBER = 8;
    private long startTime_;
    /**
     * <code>int64 StartTime = 8;</code>
     */
    public long getStartTime() {
      return startTime_;
    }

    public static final int NUMBERREMAINING_FIELD_NUMBER = 9;
    private int numberRemaining_;
    /**
     * <pre>
     *剩余数量
     * </pre>
     *
     * <code>int32 NumberRemaining = 9;</code>
     */
    public int getNumberRemaining() {
      return numberRemaining_;
    }

    public static final int TOTALCOUNT_FIELD_NUMBER = 10;
    private int totalCount_;
    /**
     * <pre>
     *总量
     * </pre>
     *
     * <code>int32 TotalCount = 10;</code>
     */
    public int getTotalCount() {
      return totalCount_;
    }

    public static final int ISRECEIVE_FIELD_NUMBER = 11;
    private boolean isReceive_;
    /**
     * <pre>
     *是否已领取
     * </pre>
     *
     * <code>bool IsReceive = 11;</code>
     */
    public boolean getIsReceive() {
      return isReceive_;
    }

    public static final int CONDITION_FIELD_NUMBER = 12;
    private int condition_;
    /**
     * <pre>
     *领取条件
     * </pre>
     *
     * <code>int32 Condition = 12;</code>
     */
    public int getCondition() {
      return condition_;
    }

    public static final int AMOUNT_FIELD_NUMBER = 13;
    private float amount_;
    /**
     * <code>float Amount = 13;</code>
     */
    public float getAmount() {
      return amount_;
    }

    private byte memoizedIsInitialized = -1;
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized == 1) return true;
      if (isInitialized == 0) return false;

      memoizedIsInitialized = 1;
      return true;
    }

    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (id_ != 0) {
        output.writeInt32(1, id_);
      }
      if (type_ != 0) {
        output.writeInt32(2, type_);
      }
      if (!getImgBytes().isEmpty()) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 3, img_);
      }
      if (status_ != 0) {
        output.writeInt32(4, status_);
      }
      if (!getNameBytes().isEmpty()) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 5, name_);
      }
      if (sort_ != 0) {
        output.writeInt32(6, sort_);
      }
      if (createTime_ != 0L) {
        output.writeInt64(7, createTime_);
      }
      if (startTime_ != 0L) {
        output.writeInt64(8, startTime_);
      }
      if (numberRemaining_ != 0) {
        output.writeInt32(9, numberRemaining_);
      }
      if (totalCount_ != 0) {
        output.writeInt32(10, totalCount_);
      }
      if (isReceive_ != false) {
        output.writeBool(11, isReceive_);
      }
      if (condition_ != 0) {
        output.writeInt32(12, condition_);
      }
      if (amount_ != 0F) {
        output.writeFloat(13, amount_);
      }
    }

    public int getSerializedSize() {
      int size = memoizedSize;
      if (size != -1) return size;

      size = 0;
      if (id_ != 0) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(1, id_);
      }
      if (type_ != 0) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(2, type_);
      }
      if (!getImgBytes().isEmpty()) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(3, img_);
      }
      if (status_ != 0) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(4, status_);
      }
      if (!getNameBytes().isEmpty()) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(5, name_);
      }
      if (sort_ != 0) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(6, sort_);
      }
      if (createTime_ != 0L) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt64Size(7, createTime_);
      }
      if (startTime_ != 0L) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt64Size(8, startTime_);
      }
      if (numberRemaining_ != 0) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(9, numberRemaining_);
      }
      if (totalCount_ != 0) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(10, totalCount_);
      }
      if (isReceive_ != false) {
        size += com.google.protobuf.CodedOutputStream
          .computeBoolSize(11, isReceive_);
      }
      if (condition_ != 0) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(12, condition_);
      }
      if (amount_ != 0F) {
        size += com.google.protobuf.CodedOutputStream
          .computeFloatSize(13, amount_);
      }
      memoizedSize = size;
      return size;
    }

    private static final long serialVersionUID = 0L;
    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof com.kfzs.duanduan.proto.CouponOuterClass.Coupon)) {
        return super.equals(obj);
      }
      com.kfzs.duanduan.proto.CouponOuterClass.Coupon other = (com.kfzs.duanduan.proto.CouponOuterClass.Coupon) obj;

      boolean result = true;
      result = result && (getId()
          == other.getId());
      result = result && (getType()
          == other.getType());
      result = result && getImg()
          .equals(other.getImg());
      result = result && (getStatus()
          == other.getStatus());
      result = result && getName()
          .equals(other.getName());
      result = result && (getSort()
          == other.getSort());
      result = result && (getCreateTime()
          == other.getCreateTime());
      result = result && (getStartTime()
          == other.getStartTime());
      result = result && (getNumberRemaining()
          == other.getNumberRemaining());
      result = result && (getTotalCount()
          == other.getTotalCount());
      result = result && (getIsReceive()
          == other.getIsReceive());
      result = result && (getCondition()
          == other.getCondition());
      result = result && (
          java.lang.Float.floatToIntBits(getAmount())
          == java.lang.Float.floatToIntBits(
              other.getAmount()));
      return result;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      hash = (37 * hash) + ID_FIELD_NUMBER;
      hash = (53 * hash) + getId();
      hash = (37 * hash) + TYPE_FIELD_NUMBER;
      hash = (53 * hash) + getType();
      hash = (37 * hash) + IMG_FIELD_NUMBER;
      hash = (53 * hash) + getImg().hashCode();
      hash = (37 * hash) + STATUS_FIELD_NUMBER;
      hash = (53 * hash) + getStatus();
      hash = (37 * hash) + NAME_FIELD_NUMBER;
      hash = (53 * hash) + getName().hashCode();
      hash = (37 * hash) + SORT_FIELD_NUMBER;
      hash = (53 * hash) + getSort();
      hash = (37 * hash) + CREATETIME_FIELD_NUMBER;
      hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
          getCreateTime());
      hash = (37 * hash) + STARTTIME_FIELD_NUMBER;
      hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
          getStartTime());
      hash = (37 * hash) + NUMBERREMAINING_FIELD_NUMBER;
      hash = (53 * hash) + getNumberRemaining();
      hash = (37 * hash) + TOTALCOUNT_FIELD_NUMBER;
      hash = (53 * hash) + getTotalCount();
      hash = (37 * hash) + ISRECEIVE_FIELD_NUMBER;
      hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
          getIsReceive());
      hash = (37 * hash) + CONDITION_FIELD_NUMBER;
      hash = (53 * hash) + getCondition();
      hash = (37 * hash) + AMOUNT_FIELD_NUMBER;
      hash = (53 * hash) + java.lang.Float.floatToIntBits(
          getAmount());
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static com.kfzs.duanduan.proto.CouponOuterClass.Coupon parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.kfzs.duanduan.proto.CouponOuterClass.Coupon parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.kfzs.duanduan.proto.CouponOuterClass.Coupon parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.kfzs.duanduan.proto.CouponOuterClass.Coupon parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.kfzs.duanduan.proto.CouponOuterClass.Coupon parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static com.kfzs.duanduan.proto.CouponOuterClass.Coupon 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 com.kfzs.duanduan.proto.CouponOuterClass.Coupon parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }
    public static com.kfzs.duanduan.proto.CouponOuterClass.Coupon 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 com.kfzs.duanduan.proto.CouponOuterClass.Coupon parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static com.kfzs.duanduan.proto.CouponOuterClass.Coupon parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(com.kfzs.duanduan.proto.CouponOuterClass.Coupon prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    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 protobuf.Coupon}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:protobuf.Coupon)
        com.kfzs.duanduan.proto.CouponOuterClass.CouponOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return com.kfzs.duanduan.proto.CouponOuterClass.internal_static_protobuf_Coupon_descriptor;
      }

      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return com.kfzs.duanduan.proto.CouponOuterClass.internal_static_protobuf_Coupon_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                com.kfzs.duanduan.proto.CouponOuterClass.Coupon.class, com.kfzs.duanduan.proto.CouponOuterClass.Coupon.Builder.class);
      }

      // Construct using com.kfzs.duanduan.proto.CouponOuterClass.Coupon.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessageV3
                .alwaysUseFieldBuilders) {
        }
      }
      public Builder clear() {
        super.clear();
        id_ = 0;

        type_ = 0;

        img_ = "";

        status_ = 0;

        name_ = "";

        sort_ = 0;

        createTime_ = 0L;

        startTime_ = 0L;

        numberRemaining_ = 0;

        totalCount_ = 0;

        isReceive_ = false;

        condition_ = 0;

        amount_ = 0F;

        return this;
      }

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return com.kfzs.duanduan.proto.CouponOuterClass.internal_static_protobuf_Coupon_descriptor;
      }

      public com.kfzs.duanduan.proto.CouponOuterClass.Coupon getDefaultInstanceForType() {
        return com.kfzs.duanduan.proto.CouponOuterClass.Coupon.getDefaultInstance();
      }

      public com.kfzs.duanduan.proto.CouponOuterClass.Coupon build() {
        com.kfzs.duanduan.proto.CouponOuterClass.Coupon result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      public com.kfzs.duanduan.proto.CouponOuterClass.Coupon buildPartial() {
        com.kfzs.duanduan.proto.CouponOuterClass.Coupon result = new com.kfzs.duanduan.proto.CouponOuterClass.Coupon(this);
        result.id_ = id_;
        result.type_ = type_;
        result.img_ = img_;
        result.status_ = status_;
        result.name_ = name_;
        result.sort_ = sort_;
        result.createTime_ = createTime_;
        result.startTime_ = startTime_;
        result.numberRemaining_ = numberRemaining_;
        result.totalCount_ = totalCount_;
        result.isReceive_ = isReceive_;
        result.condition_ = condition_;
        result.amount_ = amount_;
        onBuilt();
        return result;
      }

      public Builder clone() {
        return super.clone();
      }
      public Builder setField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          Object value) {
        return super.setField(field, value);
      }
      public Builder clearField(
          com.google.protobuf.Descriptors.FieldDescriptor field) {
        return super.clearField(field);
      }
      public Builder clearOneof(
          com.google.protobuf.Descriptors.OneofDescriptor oneof) {
        return super.clearOneof(oneof);
      }
      public Builder setRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          int index, Object value) {
        return super.setRepeatedField(field, index, value);
      }
      public Builder addRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          Object value) {
        return super.addRepeatedField(field, value);
      }
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof com.kfzs.duanduan.proto.CouponOuterClass.Coupon) {
          return mergeFrom((com.kfzs.duanduan.proto.CouponOuterClass.Coupon)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(com.kfzs.duanduan.proto.CouponOuterClass.Coupon other) {
        if (other == com.kfzs.duanduan.proto.CouponOuterClass.Coupon.getDefaultInstance()) return this;
        if (other.getId() != 0) {
          setId(other.getId());
        }
        if (other.getType() != 0) {
          setType(other.getType());
        }
        if (!other.getImg().isEmpty()) {
          img_ = other.img_;
          onChanged();
        }
        if (other.getStatus() != 0) {
          setStatus(other.getStatus());
        }
        if (!other.getName().isEmpty()) {
          name_ = other.name_;
          onChanged();
        }
        if (other.getSort() != 0) {
          setSort(other.getSort());
        }
        if (other.getCreateTime() != 0L) {
          setCreateTime(other.getCreateTime());
        }
        if (other.getStartTime() != 0L) {
          setStartTime(other.getStartTime());
        }
        if (other.getNumberRemaining() != 0) {
          setNumberRemaining(other.getNumberRemaining());
        }
        if (other.getTotalCount() != 0) {
          setTotalCount(other.getTotalCount());
        }
        if (other.getIsReceive() != false) {
          setIsReceive(other.getIsReceive());
        }
        if (other.getCondition() != 0) {
          setCondition(other.getCondition());
        }
        if (other.getAmount() != 0F) {
          setAmount(other.getAmount());
        }
        onChanged();
        return this;
      }

      public final boolean isInitialized() {
        return true;
      }

      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        com.kfzs.duanduan.proto.CouponOuterClass.Coupon parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (com.kfzs.duanduan.proto.CouponOuterClass.Coupon) e.getUnfinishedMessage();
          throw e.unwrapIOException();
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }

      private int id_ ;
      /**
       * <code>int32 Id = 1;</code>
       */
      public int getId() {
        return id_;
      }
      /**
       * <code>int32 Id = 1;</code>
       */
      public Builder setId(int value) {
        
        id_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>int32 Id = 1;</code>
       */
      public Builder clearId() {
        
        id_ = 0;
        onChanged();
        return this;
      }

      private int type_ ;
      /**
       * <code>int32 Type = 2;</code>
       */
      public int getType() {
        return type_;
      }
      /**
       * <code>int32 Type = 2;</code>
       */
      public Builder setType(int value) {
        
        type_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>int32 Type = 2;</code>
       */
      public Builder clearType() {
        
        type_ = 0;
        onChanged();
        return this;
      }

      private java.lang.Object img_ = "";
      /**
       * <code>string Img = 3;</code>
       */
      public java.lang.String getImg() {
        java.lang.Object ref = img_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          img_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <code>string Img = 3;</code>
       */
      public com.google.protobuf.ByteString
          getImgBytes() {
        java.lang.Object ref = img_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          img_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <code>string Img = 3;</code>
       */
      public Builder setImg(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        img_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>string Img = 3;</code>
       */
      public Builder clearImg() {
        
        img_ = getDefaultInstance().getImg();
        onChanged();
        return this;
      }
      /**
       * <code>string Img = 3;</code>
       */
      public Builder setImgBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        
        img_ = value;
        onChanged();
        return this;
      }

      private int status_ ;
      /**
       * <code>int32 Status = 4;</code>
       */
      public int getStatus() {
        return status_;
      }
      /**
       * <code>int32 Status = 4;</code>
       */
      public Builder setStatus(int value) {
        
        status_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>int32 Status = 4;</code>
       */
      public Builder clearStatus() {
        
        status_ = 0;
        onChanged();
        return this;
      }

      private java.lang.Object name_ = "";
      /**
       * <code>string Name = 5;</code>
       */
      public java.lang.String getName() {
        java.lang.Object ref = name_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          name_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <code>string Name = 5;</code>
       */
      public com.google.protobuf.ByteString
          getNameBytes() {
        java.lang.Object ref = name_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          name_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <code>string Name = 5;</code>
       */
      public Builder setName(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        name_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>string Name = 5;</code>
       */
      public Builder clearName() {
        
        name_ = getDefaultInstance().getName();
        onChanged();
        return this;
      }
      /**
       * <code>string Name = 5;</code>
       */
      public Builder setNameBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        
        name_ = value;
        onChanged();
        return this;
      }

      private int sort_ ;
      /**
       * <code>int32 Sort = 6;</code>
       */
      public int getSort() {
        return sort_;
      }
      /**
       * <code>int32 Sort = 6;</code>
       */
      public Builder setSort(int value) {
        
        sort_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>int32 Sort = 6;</code>
       */
      public Builder clearSort() {
        
        sort_ = 0;
        onChanged();
        return this;
      }

      private long createTime_ ;
      /**
       * <code>int64 CreateTime = 7;</code>
       */
      public long getCreateTime() {
        return createTime_;
      }
      /**
       * <code>int64 CreateTime = 7;</code>
       */
      public Builder setCreateTime(long value) {
        
        createTime_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>int64 CreateTime = 7;</code>
       */
      public Builder clearCreateTime() {
        
        createTime_ = 0L;
        onChanged();
        return this;
      }

      private long startTime_ ;
      /**
       * <code>int64 StartTime = 8;</code>
       */
      public long getStartTime() {
        return startTime_;
      }
      /**
       * <code>int64 StartTime = 8;</code>
       */
      public Builder setStartTime(long value) {
        
        startTime_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>int64 StartTime = 8;</code>
       */
      public Builder clearStartTime() {
        
        startTime_ = 0L;
        onChanged();
        return this;
      }

      private int numberRemaining_ ;
      /**
       * <pre>
       *剩余数量
       * </pre>
       *
       * <code>int32 NumberRemaining = 9;</code>
       */
      public int getNumberRemaining() {
        return numberRemaining_;
      }
      /**
       * <pre>
       *剩余数量
       * </pre>
       *
       * <code>int32 NumberRemaining = 9;</code>
       */
      public Builder setNumberRemaining(int value) {
        
        numberRemaining_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *剩余数量
       * </pre>
       *
       * <code>int32 NumberRemaining = 9;</code>
       */
      public Builder clearNumberRemaining() {
        
        numberRemaining_ = 0;
        onChanged();
        return this;
      }

      private int totalCount_ ;
      /**
       * <pre>
       *总量
       * </pre>
       *
       * <code>int32 TotalCount = 10;</code>
       */
      public int getTotalCount() {
        return totalCount_;
      }
      /**
       * <pre>
       *总量
       * </pre>
       *
       * <code>int32 TotalCount = 10;</code>
       */
      public Builder setTotalCount(int value) {
        
        totalCount_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *总量
       * </pre>
       *
       * <code>int32 TotalCount = 10;</code>
       */
      public Builder clearTotalCount() {
        
        totalCount_ = 0;
        onChanged();
        return this;
      }

      private boolean isReceive_ ;
      /**
       * <pre>
       *是否已领取
       * </pre>
       *
       * <code>bool IsReceive = 11;</code>
       */
      public boolean getIsReceive() {
        return isReceive_;
      }
      /**
       * <pre>
       *是否已领取
       * </pre>
       *
       * <code>bool IsReceive = 11;</code>
       */
      public Builder setIsReceive(boolean value) {
        
        isReceive_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *是否已领取
       * </pre>
       *
       * <code>bool IsReceive = 11;</code>
       */
      public Builder clearIsReceive() {
        
        isReceive_ = false;
        onChanged();
        return this;
      }

      private int condition_ ;
      /**
       * <pre>
       *领取条件
       * </pre>
       *
       * <code>int32 Condition = 12;</code>
       */
      public int getCondition() {
        return condition_;
      }
      /**
       * <pre>
       *领取条件
       * </pre>
       *
       * <code>int32 Condition = 12;</code>
       */
      public Builder setCondition(int value) {
        
        condition_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *领取条件
       * </pre>
       *
       * <code>int32 Condition = 12;</code>
       */
      public Builder clearCondition() {
        
        condition_ = 0;
        onChanged();
        return this;
      }

      private float amount_ ;
      /**
       * <code>float Amount = 13;</code>
       */
      public float getAmount() {
        return amount_;
      }
      /**
       * <code>float Amount = 13;</code>
       */
      public Builder setAmount(float value) {
        
        amount_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>float Amount = 13;</code>
       */
      public Builder clearAmount() {
        
        amount_ = 0F;
        onChanged();
        return this;
      }
      public final Builder setUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return this;
      }

      public final Builder mergeUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return this;
      }


      // @@protoc_insertion_point(builder_scope:protobuf.Coupon)
    }

    // @@protoc_insertion_point(class_scope:protobuf.Coupon)
    private static final com.kfzs.duanduan.proto.CouponOuterClass.Coupon DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new com.kfzs.duanduan.proto.CouponOuterClass.Coupon();
    }

    public static com.kfzs.duanduan.proto.CouponOuterClass.Coupon getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

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

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

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

    public com.kfzs.duanduan.proto.CouponOuterClass.Coupon getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_protobuf_Coupon_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_protobuf_Coupon_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\014coupon.proto\022\010protobuf\"\345\001\n\006Coupon\022\n\n\002I" +
      "d\030\001 \001(\005\022\014\n\004Type\030\002 \001(\005\022\013\n\003Img\030\003 \001(\t\022\016\n\006St" +
      "atus\030\004 \001(\005\022\014\n\004Name\030\005 \001(\t\022\014\n\004Sort\030\006 \001(\005\022\022" +
      "\n\nCreateTime\030\007 \001(\003\022\021\n\tStartTime\030\010 \001(\003\022\027\n" +
      "\017NumberRemaining\030\t \001(\005\022\022\n\nTotalCount\030\n \001" +
      "(\005\022\021\n\tIsReceive\030\013 \001(\010\022\021\n\tCondition\030\014 \001(\005" +
      "\022\016\n\006Amount\030\r \001(\002B\031\n\027com.kfzs.duanduan.pr" +
      "otob\006proto3"
    };
    com.google.protobuf.Descriptors.FileDescriptor.InternalDescriptorAssigner assigner =
        new com.google.protobuf.Descriptors.FileDescriptor.    InternalDescriptorAssigner() {
          public com.google.protobuf.ExtensionRegistry assignDescriptors(
              com.google.protobuf.Descriptors.FileDescriptor root) {
            descriptor = root;
            return null;
          }
        };
    com.google.protobuf.Descriptors.FileDescriptor
      .internalBuildGeneratedFileFrom(descriptorData,
        new com.google.protobuf.Descriptors.FileDescriptor[] {
        }, assigner);
    internal_static_protobuf_Coupon_descriptor =
      getDescriptor().getMessageTypes().get(0);
    internal_static_protobuf_Coupon_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_protobuf_Coupon_descriptor,
        new java.lang.String[] { "Id", "Type", "Img", "Status", "Name", "Sort", "CreateTime", "StartTime", "NumberRemaining", "TotalCount", "IsReceive", "Condition", "Amount", });
  }

  // @@protoc_insertion_point(outer_class_scope)
}
