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

package com.ywt.gapi.wx_ins_pay;

/**
 * Protobuf type {@code com.ywt.gapi.wx_ins_pay.CreatePayInsOrderRequest}
 */
public final class CreatePayInsOrderRequest extends
    com.google.protobuf.GeneratedMessageV3 implements
    // @@protoc_insertion_point(message_implements:com.ywt.gapi.wx_ins_pay.CreatePayInsOrderRequest)
    CreatePayInsOrderRequestOrBuilder {
private static final long serialVersionUID = 0L;
  // Use CreatePayInsOrderRequest.newBuilder() to construct.
  private CreatePayInsOrderRequest(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
    super(builder);
  }
  private CreatePayInsOrderRequest() {
    orderType_ = "";
    appId_ = "";
    mchId_ = "";
    openId_ = "";
    hospOutTradeNo_ = "";
    hospitalName_ = "";
    spbillCreateIp_ = "";
    notifyUrl_ = "";
    body_ = "";
    returnUrl_ = "";
    userCardNo_ = "";
    userName_ = "";
    serialNo_ = "";
    orgNo_ = "";
    gmtOutCreate_ = "";
    extendz_ = "";
    attach_ = "";
    insUploadFeeResp_ = "";
  }

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

  @java.lang.Override
  public final com.google.protobuf.UnknownFieldSet
  getUnknownFields() {
    return this.unknownFields;
  }
  private CreatePayInsOrderRequest(
      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();

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

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

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

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

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

            hospitalName_ = s;
            break;
          }
          case 56: {

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

            cashFee_ = input.readInt32();
            break;
          }
          case 72: {

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

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

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

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

            returnUrl_ = s;
            break;
          }
          case 112: {

            payType_ = input.readInt32();
            break;
          }
          case 120: {

            insuranceFee_ = input.readInt32();
            break;
          }
          case 128: {

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

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

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

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

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

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

            extendz_ = s;
            break;
          }
          case 184: {

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

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

            insUploadFeeResp_ = s;
            break;
          }
          case 208: {

            consumeType_ = input.readInt32();
            break;
          }
          case 216: {

            medInsType_ = input.readInt32();
            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 com.ywt.gapi.wx_ins_pay.WxInsPayProto.internal_static_com_ywt_gapi_wx_ins_pay_CreatePayInsOrderRequest_descriptor;
  }

  @java.lang.Override
  protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internalGetFieldAccessorTable() {
    return com.ywt.gapi.wx_ins_pay.WxInsPayProto.internal_static_com_ywt_gapi_wx_ins_pay_CreatePayInsOrderRequest_fieldAccessorTable
        .ensureFieldAccessorsInitialized(
            com.ywt.gapi.wx_ins_pay.CreatePayInsOrderRequest.class, com.ywt.gapi.wx_ins_pay.CreatePayInsOrderRequest.Builder.class);
  }

  public static final int ORDERTYPE_FIELD_NUMBER = 1;
  private volatile java.lang.Object orderType_;
  /**
   * <pre>
   * 支付类型：RegPay=挂号支付 DiagPay=诊间 支付 InHospPay=住院
   * </pre>
   *
   * <code>string orderType = 1;</code>
   * @return The orderType.
   */
  @java.lang.Override
  public java.lang.String getOrderType() {
    java.lang.Object ref = orderType_;
    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();
      orderType_ = s;
      return s;
    }
  }
  /**
   * <pre>
   * 支付类型：RegPay=挂号支付 DiagPay=诊间 支付 InHospPay=住院
   * </pre>
   *
   * <code>string orderType = 1;</code>
   * @return The bytes for orderType.
   */
  @java.lang.Override
  public com.google.protobuf.ByteString
      getOrderTypeBytes() {
    java.lang.Object ref = orderType_;
    if (ref instanceof java.lang.String) {
      com.google.protobuf.ByteString b = 
          com.google.protobuf.ByteString.copyFromUtf8(
              (java.lang.String) ref);
      orderType_ = b;
      return b;
    } else {
      return (com.google.protobuf.ByteString) ref;
    }
  }

  public static final int APPID_FIELD_NUMBER = 2;
  private volatile java.lang.Object appId_;
  /**
   * <pre>
   * 微信分配的公众账号 ID
   * </pre>
   *
   * <code>string appId = 2;</code>
   * @return The appId.
   */
  @java.lang.Override
  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;
    }
  }
  /**
   * <pre>
   * 微信分配的公众账号 ID
   * </pre>
   *
   * <code>string appId = 2;</code>
   * @return The bytes for appId.
   */
  @java.lang.Override
  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 MCHID_FIELD_NUMBER = 3;
  private volatile java.lang.Object mchId_;
  /**
   * <pre>
   * 微信支付分配的商户号
   * </pre>
   *
   * <code>string mchId = 3;</code>
   * @return The mchId.
   */
  @java.lang.Override
  public java.lang.String getMchId() {
    java.lang.Object ref = mchId_;
    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();
      mchId_ = s;
      return s;
    }
  }
  /**
   * <pre>
   * 微信支付分配的商户号
   * </pre>
   *
   * <code>string mchId = 3;</code>
   * @return The bytes for mchId.
   */
  @java.lang.Override
  public com.google.protobuf.ByteString
      getMchIdBytes() {
    java.lang.Object ref = mchId_;
    if (ref instanceof java.lang.String) {
      com.google.protobuf.ByteString b = 
          com.google.protobuf.ByteString.copyFromUtf8(
              (java.lang.String) ref);
      mchId_ = b;
      return b;
    } else {
      return (com.google.protobuf.ByteString) ref;
    }
  }

  public static final int OPENID_FIELD_NUMBER = 4;
  private volatile java.lang.Object openId_;
  /**
   * <code>string openId = 4;</code>
   * @return The openId.
   */
  @java.lang.Override
  public java.lang.String getOpenId() {
    java.lang.Object ref = openId_;
    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();
      openId_ = s;
      return s;
    }
  }
  /**
   * <code>string openId = 4;</code>
   * @return The bytes for openId.
   */
  @java.lang.Override
  public com.google.protobuf.ByteString
      getOpenIdBytes() {
    java.lang.Object ref = openId_;
    if (ref instanceof java.lang.String) {
      com.google.protobuf.ByteString b = 
          com.google.protobuf.ByteString.copyFromUtf8(
              (java.lang.String) ref);
      openId_ = b;
      return b;
    } else {
      return (com.google.protobuf.ByteString) ref;
    }
  }

  public static final int HOSPOUTTRADENO_FIELD_NUMBER = 5;
  private volatile java.lang.Object hospOutTradeNo_;
  /**
   * <pre>
   * 第三方服务商平台自动生成的一个订单号
   * </pre>
   *
   * <code>string hospOutTradeNo = 5;</code>
   * @return The hospOutTradeNo.
   */
  @java.lang.Override
  public java.lang.String getHospOutTradeNo() {
    java.lang.Object ref = hospOutTradeNo_;
    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();
      hospOutTradeNo_ = s;
      return s;
    }
  }
  /**
   * <pre>
   * 第三方服务商平台自动生成的一个订单号
   * </pre>
   *
   * <code>string hospOutTradeNo = 5;</code>
   * @return The bytes for hospOutTradeNo.
   */
  @java.lang.Override
  public com.google.protobuf.ByteString
      getHospOutTradeNoBytes() {
    java.lang.Object ref = hospOutTradeNo_;
    if (ref instanceof java.lang.String) {
      com.google.protobuf.ByteString b = 
          com.google.protobuf.ByteString.copyFromUtf8(
              (java.lang.String) ref);
      hospOutTradeNo_ = b;
      return b;
    } else {
      return (com.google.protobuf.ByteString) ref;
    }
  }

  public static final int HOSPITALNAME_FIELD_NUMBER = 6;
  private volatile java.lang.Object hospitalName_;
  /**
   * <code>string hospitalName = 6;</code>
   * @return The hospitalName.
   */
  @java.lang.Override
  public java.lang.String getHospitalName() {
    java.lang.Object ref = hospitalName_;
    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();
      hospitalName_ = s;
      return s;
    }
  }
  /**
   * <code>string hospitalName = 6;</code>
   * @return The bytes for hospitalName.
   */
  @java.lang.Override
  public com.google.protobuf.ByteString
      getHospitalNameBytes() {
    java.lang.Object ref = hospitalName_;
    if (ref instanceof java.lang.String) {
      com.google.protobuf.ByteString b = 
          com.google.protobuf.ByteString.copyFromUtf8(
              (java.lang.String) ref);
      hospitalName_ = b;
      return b;
    } else {
      return (com.google.protobuf.ByteString) ref;
    }
  }

  public static final int TOTALFEE_FIELD_NUMBER = 7;
  private int totalFee_;
  /**
   * <pre>
   * 总共需要支付现金金额。单位为分&gt;0。表示订单总额即全额现金的价格。
   * </pre>
   *
   * <code>int32 totalFee = 7;</code>
   * @return The totalFee.
   */
  @java.lang.Override
  public int getTotalFee() {
    return totalFee_;
  }

  public static final int CASHFEE_FIELD_NUMBER = 8;
  private int cashFee_;
  /**
   * <pre>
   * 个账金额，分
   * </pre>
   *
   * <code>int32 cashFee = 8;</code>
   * @return The cashFee.
   */
  @java.lang.Override
  public int getCashFee() {
    return cashFee_;
  }

  public static final int ALLOWFEECHANGE_FIELD_NUMBER = 9;
  private int allowFeeChange_;
  /**
   * <pre>
   * 是否允许预结算费用发生变化。0：不允许 1：允许。当医保局返回的预结算金额与医院上传的金额不一致时，此字段为0 则直接报错，为 1 则以医保局金额为准
   * </pre>
   *
   * <code>int32 allowFeeChange = 9;</code>
   * @return The allowFeeChange.
   */
  @java.lang.Override
  public int getAllowFeeChange() {
    return allowFeeChange_;
  }

  public static final int SPBILLCREATEIP_FIELD_NUMBER = 10;
  private volatile java.lang.Object spbillCreateIp_;
  /**
   * <pre>
   * 用户端 ip
   * </pre>
   *
   * <code>string spbillCreateIp = 10;</code>
   * @return The spbillCreateIp.
   */
  @java.lang.Override
  public java.lang.String getSpbillCreateIp() {
    java.lang.Object ref = spbillCreateIp_;
    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();
      spbillCreateIp_ = s;
      return s;
    }
  }
  /**
   * <pre>
   * 用户端 ip
   * </pre>
   *
   * <code>string spbillCreateIp = 10;</code>
   * @return The bytes for spbillCreateIp.
   */
  @java.lang.Override
  public com.google.protobuf.ByteString
      getSpbillCreateIpBytes() {
    java.lang.Object ref = spbillCreateIp_;
    if (ref instanceof java.lang.String) {
      com.google.protobuf.ByteString b = 
          com.google.protobuf.ByteString.copyFromUtf8(
              (java.lang.String) ref);
      spbillCreateIp_ = b;
      return b;
    } else {
      return (com.google.protobuf.ByteString) ref;
    }
  }

  public static final int NOTIFYURL_FIELD_NUMBER = 11;
  private volatile java.lang.Object notifyUrl_;
  /**
   * <pre>
   * 接受微信支付异步通知回调地址
   * </pre>
   *
   * <code>string notifyUrl = 11;</code>
   * @return The notifyUrl.
   */
  @java.lang.Override
  public java.lang.String getNotifyUrl() {
    java.lang.Object ref = notifyUrl_;
    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();
      notifyUrl_ = s;
      return s;
    }
  }
  /**
   * <pre>
   * 接受微信支付异步通知回调地址
   * </pre>
   *
   * <code>string notifyUrl = 11;</code>
   * @return The bytes for notifyUrl.
   */
  @java.lang.Override
  public com.google.protobuf.ByteString
      getNotifyUrlBytes() {
    java.lang.Object ref = notifyUrl_;
    if (ref instanceof java.lang.String) {
      com.google.protobuf.ByteString b = 
          com.google.protobuf.ByteString.copyFromUtf8(
              (java.lang.String) ref);
      notifyUrl_ = b;
      return b;
    } else {
      return (com.google.protobuf.ByteString) ref;
    }
  }

  public static final int BODY_FIELD_NUMBER = 12;
  private volatile java.lang.Object body_;
  /**
   * <pre>
   * 商品描述，商家名称-销售商品类目，参考 https://pay.weixin.qq.com/wiki/doc/api/jsapi.php?chapter=4_2
   * </pre>
   *
   * <code>string body = 12;</code>
   * @return The body.
   */
  @java.lang.Override
  public java.lang.String getBody() {
    java.lang.Object ref = body_;
    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();
      body_ = s;
      return s;
    }
  }
  /**
   * <pre>
   * 商品描述，商家名称-销售商品类目，参考 https://pay.weixin.qq.com/wiki/doc/api/jsapi.php?chapter=4_2
   * </pre>
   *
   * <code>string body = 12;</code>
   * @return The bytes for body.
   */
  @java.lang.Override
  public com.google.protobuf.ByteString
      getBodyBytes() {
    java.lang.Object ref = body_;
    if (ref instanceof java.lang.String) {
      com.google.protobuf.ByteString b = 
          com.google.protobuf.ByteString.copyFromUtf8(
              (java.lang.String) ref);
      body_ = b;
      return b;
    } else {
      return (com.google.protobuf.ByteString) ref;
    }
  }

  public static final int RETURNURL_FIELD_NUMBER = 13;
  private volatile java.lang.Object returnUrl_;
  /**
   * <pre>
   * 支付后回跳的页面，不论成功或者失败均会回跳。调用方可以在链接中加上支付单号，回跳后查询调用方订单状态，如果订单已支付则成功， 如果订单未支付则进行查单操作确认订单结果
   * </pre>
   *
   * <code>string returnUrl = 13;</code>
   * @return The returnUrl.
   */
  @java.lang.Override
  public java.lang.String getReturnUrl() {
    java.lang.Object ref = returnUrl_;
    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();
      returnUrl_ = s;
      return s;
    }
  }
  /**
   * <pre>
   * 支付后回跳的页面，不论成功或者失败均会回跳。调用方可以在链接中加上支付单号，回跳后查询调用方订单状态，如果订单已支付则成功， 如果订单未支付则进行查单操作确认订单结果
   * </pre>
   *
   * <code>string returnUrl = 13;</code>
   * @return The bytes for returnUrl.
   */
  @java.lang.Override
  public com.google.protobuf.ByteString
      getReturnUrlBytes() {
    java.lang.Object ref = returnUrl_;
    if (ref instanceof java.lang.String) {
      com.google.protobuf.ByteString b = 
          com.google.protobuf.ByteString.copyFromUtf8(
              (java.lang.String) ref);
      returnUrl_ = b;
      return b;
    } else {
      return (com.google.protobuf.ByteString) ref;
    }
  }

  public static final int PAYTYPE_FIELD_NUMBER = 14;
  private int payType_;
  /**
   * <pre>
   * 支付方式：1：现金 2：医保 3：现金+医保 备注说明： 当订单要走医保支付时 ① cash_fee&gt;0, paytype 填 3 ② cash_fee=0, paytype 填 2
   * </pre>
   *
   * <code>int32 payType = 14;</code>
   * @return The payType.
   */
  @java.lang.Override
  public int getPayType() {
    return payType_;
  }

  public static final int INSURANCEFEE_FIELD_NUMBER = 15;
  private int insuranceFee_;
  /**
   * <pre>
   * 医保支付金额，分
   * </pre>
   *
   * <code>int32 insuranceFee = 15;</code>
   * @return The insuranceFee.
   */
  @java.lang.Override
  public int getInsuranceFee() {
    return insuranceFee_;
  }

  public static final int USERCARDTYPE_FIELD_NUMBER = 16;
  private int userCardType_;
  /**
   * <pre>
   * 证件类型，1-身份证
   * </pre>
   *
   * <code>int32 userCardType = 16;</code>
   * @return The userCardType.
   */
  @java.lang.Override
  public int getUserCardType() {
    return userCardType_;
  }

  public static final int USERCARDNO_FIELD_NUMBER = 17;
  private volatile java.lang.Object userCardNo_;
  /**
   * <pre>
   * 证件号码，身份证中如果有字母需要转成大写再做 MD5,15位身份证号需要转为18 位
   * </pre>
   *
   * <code>string userCardNo = 17;</code>
   * @return The userCardNo.
   */
  @java.lang.Override
  public java.lang.String getUserCardNo() {
    java.lang.Object ref = userCardNo_;
    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();
      userCardNo_ = s;
      return s;
    }
  }
  /**
   * <pre>
   * 证件号码，身份证中如果有字母需要转成大写再做 MD5,15位身份证号需要转为18 位
   * </pre>
   *
   * <code>string userCardNo = 17;</code>
   * @return The bytes for userCardNo.
   */
  @java.lang.Override
  public com.google.protobuf.ByteString
      getUserCardNoBytes() {
    java.lang.Object ref = userCardNo_;
    if (ref instanceof java.lang.String) {
      com.google.protobuf.ByteString b = 
          com.google.protobuf.ByteString.copyFromUtf8(
              (java.lang.String) ref);
      userCardNo_ = b;
      return b;
    } else {
      return (com.google.protobuf.ByteString) ref;
    }
  }

  public static final int USERNAME_FIELD_NUMBER = 18;
  private volatile java.lang.Object userName_;
  /**
   * <pre>
   * 真实姓名
   * </pre>
   *
   * <code>string userName = 18;</code>
   * @return The userName.
   */
  @java.lang.Override
  public java.lang.String getUserName() {
    java.lang.Object ref = userName_;
    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();
      userName_ = s;
      return s;
    }
  }
  /**
   * <pre>
   * 真实姓名
   * </pre>
   *
   * <code>string userName = 18;</code>
   * @return The bytes for userName.
   */
  @java.lang.Override
  public com.google.protobuf.ByteString
      getUserNameBytes() {
    java.lang.Object ref = userName_;
    if (ref instanceof java.lang.String) {
      com.google.protobuf.ByteString b = 
          com.google.protobuf.ByteString.copyFromUtf8(
              (java.lang.String) ref);
      userName_ = b;
      return b;
    } else {
      return (com.google.protobuf.ByteString) ref;
    }
  }

  public static final int SERIALNO_FIELD_NUMBER = 19;
  private volatile java.lang.Object serialNo_;
  /**
   * <pre>
   * 医院 HIS 系统订单号
   * </pre>
   *
   * <code>string serialNo = 19;</code>
   * @return The serialNo.
   */
  @java.lang.Override
  public java.lang.String getSerialNo() {
    java.lang.Object ref = serialNo_;
    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();
      serialNo_ = s;
      return s;
    }
  }
  /**
   * <pre>
   * 医院 HIS 系统订单号
   * </pre>
   *
   * <code>string serialNo = 19;</code>
   * @return The bytes for serialNo.
   */
  @java.lang.Override
  public com.google.protobuf.ByteString
      getSerialNoBytes() {
    java.lang.Object ref = serialNo_;
    if (ref instanceof java.lang.String) {
      com.google.protobuf.ByteString b = 
          com.google.protobuf.ByteString.copyFromUtf8(
              (java.lang.String) ref);
      serialNo_ = b;
      return b;
    } else {
      return (com.google.protobuf.ByteString) ref;
    }
  }

  public static final int ORGNO_FIELD_NUMBER = 20;
  private volatile java.lang.Object orgNo_;
  /**
   * <pre>
   * 医疗机构编码（医保局分配给机构）；德生分配的商户号
   * </pre>
   *
   * <code>string orgNo = 20;</code>
   * @return The orgNo.
   */
  @java.lang.Override
  public java.lang.String getOrgNo() {
    java.lang.Object ref = orgNo_;
    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();
      orgNo_ = s;
      return s;
    }
  }
  /**
   * <pre>
   * 医疗机构编码（医保局分配给机构）；德生分配的商户号
   * </pre>
   *
   * <code>string orgNo = 20;</code>
   * @return The bytes for orgNo.
   */
  @java.lang.Override
  public com.google.protobuf.ByteString
      getOrgNoBytes() {
    java.lang.Object ref = orgNo_;
    if (ref instanceof java.lang.String) {
      com.google.protobuf.ByteString b = 
          com.google.protobuf.ByteString.copyFromUtf8(
              (java.lang.String) ref);
      orgNo_ = b;
      return b;
    } else {
      return (com.google.protobuf.ByteString) ref;
    }
  }

  public static final int GMTOUTCREATE_FIELD_NUMBER = 21;
  private volatile java.lang.Object gmtOutCreate_;
  /**
   * <pre>
   * 医院下单时间，格式：yyyyMMddHHmmss
   * </pre>
   *
   * <code>string gmtOutCreate = 21;</code>
   * @return The gmtOutCreate.
   */
  @java.lang.Override
  public java.lang.String getGmtOutCreate() {
    java.lang.Object ref = gmtOutCreate_;
    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();
      gmtOutCreate_ = s;
      return s;
    }
  }
  /**
   * <pre>
   * 医院下单时间，格式：yyyyMMddHHmmss
   * </pre>
   *
   * <code>string gmtOutCreate = 21;</code>
   * @return The bytes for gmtOutCreate.
   */
  @java.lang.Override
  public com.google.protobuf.ByteString
      getGmtOutCreateBytes() {
    java.lang.Object ref = gmtOutCreate_;
    if (ref instanceof java.lang.String) {
      com.google.protobuf.ByteString b = 
          com.google.protobuf.ByteString.copyFromUtf8(
              (java.lang.String) ref);
      gmtOutCreate_ = b;
      return b;
    } else {
      return (com.google.protobuf.ByteString) ref;
    }
  }

  public static final int EXTENDZ_FIELD_NUMBER = 22;
  private volatile java.lang.Object extendz_;
  /**
   * <pre>
   * 固定 {&#92;"insurance_fee_type&#92;":&#92;"insurance&#92;"}
   * </pre>
   *
   * <code>string extendz = 22;</code>
   * @return The extendz.
   */
  @java.lang.Override
  public java.lang.String getExtendz() {
    java.lang.Object ref = extendz_;
    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();
      extendz_ = s;
      return s;
    }
  }
  /**
   * <pre>
   * 固定 {&#92;"insurance_fee_type&#92;":&#92;"insurance&#92;"}
   * </pre>
   *
   * <code>string extendz = 22;</code>
   * @return The bytes for extendz.
   */
  @java.lang.Override
  public com.google.protobuf.ByteString
      getExtendzBytes() {
    java.lang.Object ref = extendz_;
    if (ref instanceof java.lang.String) {
      com.google.protobuf.ByteString b = 
          com.google.protobuf.ByteString.copyFromUtf8(
              (java.lang.String) ref);
      extendz_ = b;
      return b;
    } else {
      return (com.google.protobuf.ByteString) ref;
    }
  }

  public static final int TERMINAL_FIELD_NUMBER = 23;
  private int terminal_;
  /**
   * <code>int32 terminal = 23;</code>
   * @return The terminal.
   */
  @java.lang.Override
  public int getTerminal() {
    return terminal_;
  }

  public static final int ATTACH_FIELD_NUMBER = 24;
  private volatile java.lang.Object attach_;
  /**
   * <pre>
   * 附加数据
   * </pre>
   *
   * <code>string attach = 24;</code>
   * @return The attach.
   */
  @java.lang.Override
  public java.lang.String getAttach() {
    java.lang.Object ref = attach_;
    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();
      attach_ = s;
      return s;
    }
  }
  /**
   * <pre>
   * 附加数据
   * </pre>
   *
   * <code>string attach = 24;</code>
   * @return The bytes for attach.
   */
  @java.lang.Override
  public com.google.protobuf.ByteString
      getAttachBytes() {
    java.lang.Object ref = attach_;
    if (ref instanceof java.lang.String) {
      com.google.protobuf.ByteString b = 
          com.google.protobuf.ByteString.copyFromUtf8(
              (java.lang.String) ref);
      attach_ = b;
      return b;
    } else {
      return (com.google.protobuf.ByteString) ref;
    }
  }

  public static final int INSUPLOADFEERESP_FIELD_NUMBER = 25;
  private volatile java.lang.Object insUploadFeeResp_;
  /**
   * <pre>
   * HIS 上传医保接口返回信息
   * </pre>
   *
   * <code>string insUploadFeeResp = 25;</code>
   * @return The insUploadFeeResp.
   */
  @java.lang.Override
  public java.lang.String getInsUploadFeeResp() {
    java.lang.Object ref = insUploadFeeResp_;
    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();
      insUploadFeeResp_ = s;
      return s;
    }
  }
  /**
   * <pre>
   * HIS 上传医保接口返回信息
   * </pre>
   *
   * <code>string insUploadFeeResp = 25;</code>
   * @return The bytes for insUploadFeeResp.
   */
  @java.lang.Override
  public com.google.protobuf.ByteString
      getInsUploadFeeRespBytes() {
    java.lang.Object ref = insUploadFeeResp_;
    if (ref instanceof java.lang.String) {
      com.google.protobuf.ByteString b = 
          com.google.protobuf.ByteString.copyFromUtf8(
              (java.lang.String) ref);
      insUploadFeeResp_ = b;
      return b;
    } else {
      return (com.google.protobuf.ByteString) ref;
    }
  }

  public static final int CONSUMETYPE_FIELD_NUMBER = 26;
  private int consumeType_;
  /**
   * <pre>
   * 医保部分扣费类型。默认为 0：统筹+个账 1：个账 2：统筹
   * </pre>
   *
   * <code>int32 consumeType = 26;</code>
   * @return The consumeType.
   */
  @java.lang.Override
  public int getConsumeType() {
    return consumeType_;
  }

  public static final int MEDINSTYPE_FIELD_NUMBER = 27;
  private int medInsType_;
  /**
   * <pre>
   * 医保类型标识，1-广州医保，2-市直医保
   * </pre>
   *
   * <code>int32 medInsType = 27;</code>
   * @return The medInsType.
   */
  @java.lang.Override
  public int getMedInsType() {
    return medInsType_;
  }

  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 (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(orderType_)) {
      com.google.protobuf.GeneratedMessageV3.writeString(output, 1, orderType_);
    }
    if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(appId_)) {
      com.google.protobuf.GeneratedMessageV3.writeString(output, 2, appId_);
    }
    if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(mchId_)) {
      com.google.protobuf.GeneratedMessageV3.writeString(output, 3, mchId_);
    }
    if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(openId_)) {
      com.google.protobuf.GeneratedMessageV3.writeString(output, 4, openId_);
    }
    if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(hospOutTradeNo_)) {
      com.google.protobuf.GeneratedMessageV3.writeString(output, 5, hospOutTradeNo_);
    }
    if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(hospitalName_)) {
      com.google.protobuf.GeneratedMessageV3.writeString(output, 6, hospitalName_);
    }
    if (totalFee_ != 0) {
      output.writeInt32(7, totalFee_);
    }
    if (cashFee_ != 0) {
      output.writeInt32(8, cashFee_);
    }
    if (allowFeeChange_ != 0) {
      output.writeInt32(9, allowFeeChange_);
    }
    if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(spbillCreateIp_)) {
      com.google.protobuf.GeneratedMessageV3.writeString(output, 10, spbillCreateIp_);
    }
    if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(notifyUrl_)) {
      com.google.protobuf.GeneratedMessageV3.writeString(output, 11, notifyUrl_);
    }
    if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(body_)) {
      com.google.protobuf.GeneratedMessageV3.writeString(output, 12, body_);
    }
    if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(returnUrl_)) {
      com.google.protobuf.GeneratedMessageV3.writeString(output, 13, returnUrl_);
    }
    if (payType_ != 0) {
      output.writeInt32(14, payType_);
    }
    if (insuranceFee_ != 0) {
      output.writeInt32(15, insuranceFee_);
    }
    if (userCardType_ != 0) {
      output.writeInt32(16, userCardType_);
    }
    if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(userCardNo_)) {
      com.google.protobuf.GeneratedMessageV3.writeString(output, 17, userCardNo_);
    }
    if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(userName_)) {
      com.google.protobuf.GeneratedMessageV3.writeString(output, 18, userName_);
    }
    if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(serialNo_)) {
      com.google.protobuf.GeneratedMessageV3.writeString(output, 19, serialNo_);
    }
    if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(orgNo_)) {
      com.google.protobuf.GeneratedMessageV3.writeString(output, 20, orgNo_);
    }
    if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(gmtOutCreate_)) {
      com.google.protobuf.GeneratedMessageV3.writeString(output, 21, gmtOutCreate_);
    }
    if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(extendz_)) {
      com.google.protobuf.GeneratedMessageV3.writeString(output, 22, extendz_);
    }
    if (terminal_ != 0) {
      output.writeInt32(23, terminal_);
    }
    if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(attach_)) {
      com.google.protobuf.GeneratedMessageV3.writeString(output, 24, attach_);
    }
    if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(insUploadFeeResp_)) {
      com.google.protobuf.GeneratedMessageV3.writeString(output, 25, insUploadFeeResp_);
    }
    if (consumeType_ != 0) {
      output.writeInt32(26, consumeType_);
    }
    if (medInsType_ != 0) {
      output.writeInt32(27, medInsType_);
    }
    unknownFields.writeTo(output);
  }

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

    size = 0;
    if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(orderType_)) {
      size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, orderType_);
    }
    if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(appId_)) {
      size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, appId_);
    }
    if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(mchId_)) {
      size += com.google.protobuf.GeneratedMessageV3.computeStringSize(3, mchId_);
    }
    if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(openId_)) {
      size += com.google.protobuf.GeneratedMessageV3.computeStringSize(4, openId_);
    }
    if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(hospOutTradeNo_)) {
      size += com.google.protobuf.GeneratedMessageV3.computeStringSize(5, hospOutTradeNo_);
    }
    if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(hospitalName_)) {
      size += com.google.protobuf.GeneratedMessageV3.computeStringSize(6, hospitalName_);
    }
    if (totalFee_ != 0) {
      size += com.google.protobuf.CodedOutputStream
        .computeInt32Size(7, totalFee_);
    }
    if (cashFee_ != 0) {
      size += com.google.protobuf.CodedOutputStream
        .computeInt32Size(8, cashFee_);
    }
    if (allowFeeChange_ != 0) {
      size += com.google.protobuf.CodedOutputStream
        .computeInt32Size(9, allowFeeChange_);
    }
    if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(spbillCreateIp_)) {
      size += com.google.protobuf.GeneratedMessageV3.computeStringSize(10, spbillCreateIp_);
    }
    if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(notifyUrl_)) {
      size += com.google.protobuf.GeneratedMessageV3.computeStringSize(11, notifyUrl_);
    }
    if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(body_)) {
      size += com.google.protobuf.GeneratedMessageV3.computeStringSize(12, body_);
    }
    if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(returnUrl_)) {
      size += com.google.protobuf.GeneratedMessageV3.computeStringSize(13, returnUrl_);
    }
    if (payType_ != 0) {
      size += com.google.protobuf.CodedOutputStream
        .computeInt32Size(14, payType_);
    }
    if (insuranceFee_ != 0) {
      size += com.google.protobuf.CodedOutputStream
        .computeInt32Size(15, insuranceFee_);
    }
    if (userCardType_ != 0) {
      size += com.google.protobuf.CodedOutputStream
        .computeInt32Size(16, userCardType_);
    }
    if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(userCardNo_)) {
      size += com.google.protobuf.GeneratedMessageV3.computeStringSize(17, userCardNo_);
    }
    if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(userName_)) {
      size += com.google.protobuf.GeneratedMessageV3.computeStringSize(18, userName_);
    }
    if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(serialNo_)) {
      size += com.google.protobuf.GeneratedMessageV3.computeStringSize(19, serialNo_);
    }
    if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(orgNo_)) {
      size += com.google.protobuf.GeneratedMessageV3.computeStringSize(20, orgNo_);
    }
    if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(gmtOutCreate_)) {
      size += com.google.protobuf.GeneratedMessageV3.computeStringSize(21, gmtOutCreate_);
    }
    if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(extendz_)) {
      size += com.google.protobuf.GeneratedMessageV3.computeStringSize(22, extendz_);
    }
    if (terminal_ != 0) {
      size += com.google.protobuf.CodedOutputStream
        .computeInt32Size(23, terminal_);
    }
    if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(attach_)) {
      size += com.google.protobuf.GeneratedMessageV3.computeStringSize(24, attach_);
    }
    if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(insUploadFeeResp_)) {
      size += com.google.protobuf.GeneratedMessageV3.computeStringSize(25, insUploadFeeResp_);
    }
    if (consumeType_ != 0) {
      size += com.google.protobuf.CodedOutputStream
        .computeInt32Size(26, consumeType_);
    }
    if (medInsType_ != 0) {
      size += com.google.protobuf.CodedOutputStream
        .computeInt32Size(27, medInsType_);
    }
    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 com.ywt.gapi.wx_ins_pay.CreatePayInsOrderRequest)) {
      return super.equals(obj);
    }
    com.ywt.gapi.wx_ins_pay.CreatePayInsOrderRequest other = (com.ywt.gapi.wx_ins_pay.CreatePayInsOrderRequest) obj;

    if (!getOrderType()
        .equals(other.getOrderType())) return false;
    if (!getAppId()
        .equals(other.getAppId())) return false;
    if (!getMchId()
        .equals(other.getMchId())) return false;
    if (!getOpenId()
        .equals(other.getOpenId())) return false;
    if (!getHospOutTradeNo()
        .equals(other.getHospOutTradeNo())) return false;
    if (!getHospitalName()
        .equals(other.getHospitalName())) return false;
    if (getTotalFee()
        != other.getTotalFee()) return false;
    if (getCashFee()
        != other.getCashFee()) return false;
    if (getAllowFeeChange()
        != other.getAllowFeeChange()) return false;
    if (!getSpbillCreateIp()
        .equals(other.getSpbillCreateIp())) return false;
    if (!getNotifyUrl()
        .equals(other.getNotifyUrl())) return false;
    if (!getBody()
        .equals(other.getBody())) return false;
    if (!getReturnUrl()
        .equals(other.getReturnUrl())) return false;
    if (getPayType()
        != other.getPayType()) return false;
    if (getInsuranceFee()
        != other.getInsuranceFee()) return false;
    if (getUserCardType()
        != other.getUserCardType()) return false;
    if (!getUserCardNo()
        .equals(other.getUserCardNo())) return false;
    if (!getUserName()
        .equals(other.getUserName())) return false;
    if (!getSerialNo()
        .equals(other.getSerialNo())) return false;
    if (!getOrgNo()
        .equals(other.getOrgNo())) return false;
    if (!getGmtOutCreate()
        .equals(other.getGmtOutCreate())) return false;
    if (!getExtendz()
        .equals(other.getExtendz())) return false;
    if (getTerminal()
        != other.getTerminal()) return false;
    if (!getAttach()
        .equals(other.getAttach())) return false;
    if (!getInsUploadFeeResp()
        .equals(other.getInsUploadFeeResp())) return false;
    if (getConsumeType()
        != other.getConsumeType()) return false;
    if (getMedInsType()
        != other.getMedInsType()) 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) + ORDERTYPE_FIELD_NUMBER;
    hash = (53 * hash) + getOrderType().hashCode();
    hash = (37 * hash) + APPID_FIELD_NUMBER;
    hash = (53 * hash) + getAppId().hashCode();
    hash = (37 * hash) + MCHID_FIELD_NUMBER;
    hash = (53 * hash) + getMchId().hashCode();
    hash = (37 * hash) + OPENID_FIELD_NUMBER;
    hash = (53 * hash) + getOpenId().hashCode();
    hash = (37 * hash) + HOSPOUTTRADENO_FIELD_NUMBER;
    hash = (53 * hash) + getHospOutTradeNo().hashCode();
    hash = (37 * hash) + HOSPITALNAME_FIELD_NUMBER;
    hash = (53 * hash) + getHospitalName().hashCode();
    hash = (37 * hash) + TOTALFEE_FIELD_NUMBER;
    hash = (53 * hash) + getTotalFee();
    hash = (37 * hash) + CASHFEE_FIELD_NUMBER;
    hash = (53 * hash) + getCashFee();
    hash = (37 * hash) + ALLOWFEECHANGE_FIELD_NUMBER;
    hash = (53 * hash) + getAllowFeeChange();
    hash = (37 * hash) + SPBILLCREATEIP_FIELD_NUMBER;
    hash = (53 * hash) + getSpbillCreateIp().hashCode();
    hash = (37 * hash) + NOTIFYURL_FIELD_NUMBER;
    hash = (53 * hash) + getNotifyUrl().hashCode();
    hash = (37 * hash) + BODY_FIELD_NUMBER;
    hash = (53 * hash) + getBody().hashCode();
    hash = (37 * hash) + RETURNURL_FIELD_NUMBER;
    hash = (53 * hash) + getReturnUrl().hashCode();
    hash = (37 * hash) + PAYTYPE_FIELD_NUMBER;
    hash = (53 * hash) + getPayType();
    hash = (37 * hash) + INSURANCEFEE_FIELD_NUMBER;
    hash = (53 * hash) + getInsuranceFee();
    hash = (37 * hash) + USERCARDTYPE_FIELD_NUMBER;
    hash = (53 * hash) + getUserCardType();
    hash = (37 * hash) + USERCARDNO_FIELD_NUMBER;
    hash = (53 * hash) + getUserCardNo().hashCode();
    hash = (37 * hash) + USERNAME_FIELD_NUMBER;
    hash = (53 * hash) + getUserName().hashCode();
    hash = (37 * hash) + SERIALNO_FIELD_NUMBER;
    hash = (53 * hash) + getSerialNo().hashCode();
    hash = (37 * hash) + ORGNO_FIELD_NUMBER;
    hash = (53 * hash) + getOrgNo().hashCode();
    hash = (37 * hash) + GMTOUTCREATE_FIELD_NUMBER;
    hash = (53 * hash) + getGmtOutCreate().hashCode();
    hash = (37 * hash) + EXTENDZ_FIELD_NUMBER;
    hash = (53 * hash) + getExtendz().hashCode();
    hash = (37 * hash) + TERMINAL_FIELD_NUMBER;
    hash = (53 * hash) + getTerminal();
    hash = (37 * hash) + ATTACH_FIELD_NUMBER;
    hash = (53 * hash) + getAttach().hashCode();
    hash = (37 * hash) + INSUPLOADFEERESP_FIELD_NUMBER;
    hash = (53 * hash) + getInsUploadFeeResp().hashCode();
    hash = (37 * hash) + CONSUMETYPE_FIELD_NUMBER;
    hash = (53 * hash) + getConsumeType();
    hash = (37 * hash) + MEDINSTYPE_FIELD_NUMBER;
    hash = (53 * hash) + getMedInsType();
    hash = (29 * hash) + unknownFields.hashCode();
    memoizedHashCode = hash;
    return hash;
  }

  public static com.ywt.gapi.wx_ins_pay.CreatePayInsOrderRequest parseFrom(
      java.nio.ByteBuffer data)
      throws com.google.protobuf.InvalidProtocolBufferException {
    return PARSER.parseFrom(data);
  }
  public static com.ywt.gapi.wx_ins_pay.CreatePayInsOrderRequest parseFrom(
      java.nio.ByteBuffer data,
      com.google.protobuf.ExtensionRegistryLite extensionRegistry)
      throws com.google.protobuf.InvalidProtocolBufferException {
    return PARSER.parseFrom(data, extensionRegistry);
  }
  public static com.ywt.gapi.wx_ins_pay.CreatePayInsOrderRequest parseFrom(
      com.google.protobuf.ByteString data)
      throws com.google.protobuf.InvalidProtocolBufferException {
    return PARSER.parseFrom(data);
  }
  public static com.ywt.gapi.wx_ins_pay.CreatePayInsOrderRequest parseFrom(
      com.google.protobuf.ByteString data,
      com.google.protobuf.ExtensionRegistryLite extensionRegistry)
      throws com.google.protobuf.InvalidProtocolBufferException {
    return PARSER.parseFrom(data, extensionRegistry);
  }
  public static com.ywt.gapi.wx_ins_pay.CreatePayInsOrderRequest parseFrom(byte[] data)
      throws com.google.protobuf.InvalidProtocolBufferException {
    return PARSER.parseFrom(data);
  }
  public static com.ywt.gapi.wx_ins_pay.CreatePayInsOrderRequest parseFrom(
      byte[] data,
      com.google.protobuf.ExtensionRegistryLite extensionRegistry)
      throws com.google.protobuf.InvalidProtocolBufferException {
    return PARSER.parseFrom(data, extensionRegistry);
  }
  public static com.ywt.gapi.wx_ins_pay.CreatePayInsOrderRequest parseFrom(java.io.InputStream input)
      throws java.io.IOException {
    return com.google.protobuf.GeneratedMessageV3
        .parseWithIOException(PARSER, input);
  }
  public static com.ywt.gapi.wx_ins_pay.CreatePayInsOrderRequest 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.ywt.gapi.wx_ins_pay.CreatePayInsOrderRequest parseDelimitedFrom(java.io.InputStream input)
      throws java.io.IOException {
    return com.google.protobuf.GeneratedMessageV3
        .parseDelimitedWithIOException(PARSER, input);
  }
  public static com.ywt.gapi.wx_ins_pay.CreatePayInsOrderRequest 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.ywt.gapi.wx_ins_pay.CreatePayInsOrderRequest parseFrom(
      com.google.protobuf.CodedInputStream input)
      throws java.io.IOException {
    return com.google.protobuf.GeneratedMessageV3
        .parseWithIOException(PARSER, input);
  }
  public static com.ywt.gapi.wx_ins_pay.CreatePayInsOrderRequest 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(com.ywt.gapi.wx_ins_pay.CreatePayInsOrderRequest 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 com.ywt.gapi.wx_ins_pay.CreatePayInsOrderRequest}
   */
  public static final class Builder extends
      com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
      // @@protoc_insertion_point(builder_implements:com.ywt.gapi.wx_ins_pay.CreatePayInsOrderRequest)
      com.ywt.gapi.wx_ins_pay.CreatePayInsOrderRequestOrBuilder {
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return com.ywt.gapi.wx_ins_pay.WxInsPayProto.internal_static_com_ywt_gapi_wx_ins_pay_CreatePayInsOrderRequest_descriptor;
    }

    @java.lang.Override
    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return com.ywt.gapi.wx_ins_pay.WxInsPayProto.internal_static_com_ywt_gapi_wx_ins_pay_CreatePayInsOrderRequest_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              com.ywt.gapi.wx_ins_pay.CreatePayInsOrderRequest.class, com.ywt.gapi.wx_ins_pay.CreatePayInsOrderRequest.Builder.class);
    }

    // Construct using com.ywt.gapi.wx_ins_pay.CreatePayInsOrderRequest.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();
      orderType_ = "";

      appId_ = "";

      mchId_ = "";

      openId_ = "";

      hospOutTradeNo_ = "";

      hospitalName_ = "";

      totalFee_ = 0;

      cashFee_ = 0;

      allowFeeChange_ = 0;

      spbillCreateIp_ = "";

      notifyUrl_ = "";

      body_ = "";

      returnUrl_ = "";

      payType_ = 0;

      insuranceFee_ = 0;

      userCardType_ = 0;

      userCardNo_ = "";

      userName_ = "";

      serialNo_ = "";

      orgNo_ = "";

      gmtOutCreate_ = "";

      extendz_ = "";

      terminal_ = 0;

      attach_ = "";

      insUploadFeeResp_ = "";

      consumeType_ = 0;

      medInsType_ = 0;

      return this;
    }

    @java.lang.Override
    public com.google.protobuf.Descriptors.Descriptor
        getDescriptorForType() {
      return com.ywt.gapi.wx_ins_pay.WxInsPayProto.internal_static_com_ywt_gapi_wx_ins_pay_CreatePayInsOrderRequest_descriptor;
    }

    @java.lang.Override
    public com.ywt.gapi.wx_ins_pay.CreatePayInsOrderRequest getDefaultInstanceForType() {
      return com.ywt.gapi.wx_ins_pay.CreatePayInsOrderRequest.getDefaultInstance();
    }

    @java.lang.Override
    public com.ywt.gapi.wx_ins_pay.CreatePayInsOrderRequest build() {
      com.ywt.gapi.wx_ins_pay.CreatePayInsOrderRequest result = buildPartial();
      if (!result.isInitialized()) {
        throw newUninitializedMessageException(result);
      }
      return result;
    }

    @java.lang.Override
    public com.ywt.gapi.wx_ins_pay.CreatePayInsOrderRequest buildPartial() {
      com.ywt.gapi.wx_ins_pay.CreatePayInsOrderRequest result = new com.ywt.gapi.wx_ins_pay.CreatePayInsOrderRequest(this);
      result.orderType_ = orderType_;
      result.appId_ = appId_;
      result.mchId_ = mchId_;
      result.openId_ = openId_;
      result.hospOutTradeNo_ = hospOutTradeNo_;
      result.hospitalName_ = hospitalName_;
      result.totalFee_ = totalFee_;
      result.cashFee_ = cashFee_;
      result.allowFeeChange_ = allowFeeChange_;
      result.spbillCreateIp_ = spbillCreateIp_;
      result.notifyUrl_ = notifyUrl_;
      result.body_ = body_;
      result.returnUrl_ = returnUrl_;
      result.payType_ = payType_;
      result.insuranceFee_ = insuranceFee_;
      result.userCardType_ = userCardType_;
      result.userCardNo_ = userCardNo_;
      result.userName_ = userName_;
      result.serialNo_ = serialNo_;
      result.orgNo_ = orgNo_;
      result.gmtOutCreate_ = gmtOutCreate_;
      result.extendz_ = extendz_;
      result.terminal_ = terminal_;
      result.attach_ = attach_;
      result.insUploadFeeResp_ = insUploadFeeResp_;
      result.consumeType_ = consumeType_;
      result.medInsType_ = medInsType_;
      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 com.ywt.gapi.wx_ins_pay.CreatePayInsOrderRequest) {
        return mergeFrom((com.ywt.gapi.wx_ins_pay.CreatePayInsOrderRequest)other);
      } else {
        super.mergeFrom(other);
        return this;
      }
    }

    public Builder mergeFrom(com.ywt.gapi.wx_ins_pay.CreatePayInsOrderRequest other) {
      if (other == com.ywt.gapi.wx_ins_pay.CreatePayInsOrderRequest.getDefaultInstance()) return this;
      if (!other.getOrderType().isEmpty()) {
        orderType_ = other.orderType_;
        onChanged();
      }
      if (!other.getAppId().isEmpty()) {
        appId_ = other.appId_;
        onChanged();
      }
      if (!other.getMchId().isEmpty()) {
        mchId_ = other.mchId_;
        onChanged();
      }
      if (!other.getOpenId().isEmpty()) {
        openId_ = other.openId_;
        onChanged();
      }
      if (!other.getHospOutTradeNo().isEmpty()) {
        hospOutTradeNo_ = other.hospOutTradeNo_;
        onChanged();
      }
      if (!other.getHospitalName().isEmpty()) {
        hospitalName_ = other.hospitalName_;
        onChanged();
      }
      if (other.getTotalFee() != 0) {
        setTotalFee(other.getTotalFee());
      }
      if (other.getCashFee() != 0) {
        setCashFee(other.getCashFee());
      }
      if (other.getAllowFeeChange() != 0) {
        setAllowFeeChange(other.getAllowFeeChange());
      }
      if (!other.getSpbillCreateIp().isEmpty()) {
        spbillCreateIp_ = other.spbillCreateIp_;
        onChanged();
      }
      if (!other.getNotifyUrl().isEmpty()) {
        notifyUrl_ = other.notifyUrl_;
        onChanged();
      }
      if (!other.getBody().isEmpty()) {
        body_ = other.body_;
        onChanged();
      }
      if (!other.getReturnUrl().isEmpty()) {
        returnUrl_ = other.returnUrl_;
        onChanged();
      }
      if (other.getPayType() != 0) {
        setPayType(other.getPayType());
      }
      if (other.getInsuranceFee() != 0) {
        setInsuranceFee(other.getInsuranceFee());
      }
      if (other.getUserCardType() != 0) {
        setUserCardType(other.getUserCardType());
      }
      if (!other.getUserCardNo().isEmpty()) {
        userCardNo_ = other.userCardNo_;
        onChanged();
      }
      if (!other.getUserName().isEmpty()) {
        userName_ = other.userName_;
        onChanged();
      }
      if (!other.getSerialNo().isEmpty()) {
        serialNo_ = other.serialNo_;
        onChanged();
      }
      if (!other.getOrgNo().isEmpty()) {
        orgNo_ = other.orgNo_;
        onChanged();
      }
      if (!other.getGmtOutCreate().isEmpty()) {
        gmtOutCreate_ = other.gmtOutCreate_;
        onChanged();
      }
      if (!other.getExtendz().isEmpty()) {
        extendz_ = other.extendz_;
        onChanged();
      }
      if (other.getTerminal() != 0) {
        setTerminal(other.getTerminal());
      }
      if (!other.getAttach().isEmpty()) {
        attach_ = other.attach_;
        onChanged();
      }
      if (!other.getInsUploadFeeResp().isEmpty()) {
        insUploadFeeResp_ = other.insUploadFeeResp_;
        onChanged();
      }
      if (other.getConsumeType() != 0) {
        setConsumeType(other.getConsumeType());
      }
      if (other.getMedInsType() != 0) {
        setMedInsType(other.getMedInsType());
      }
      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 {
      com.ywt.gapi.wx_ins_pay.CreatePayInsOrderRequest parsedMessage = null;
      try {
        parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        parsedMessage = (com.ywt.gapi.wx_ins_pay.CreatePayInsOrderRequest) e.getUnfinishedMessage();
        throw e.unwrapIOException();
      } finally {
        if (parsedMessage != null) {
          mergeFrom(parsedMessage);
        }
      }
      return this;
    }

    private java.lang.Object orderType_ = "";
    /**
     * <pre>
     * 支付类型：RegPay=挂号支付 DiagPay=诊间 支付 InHospPay=住院
     * </pre>
     *
     * <code>string orderType = 1;</code>
     * @return The orderType.
     */
    public java.lang.String getOrderType() {
      java.lang.Object ref = orderType_;
      if (!(ref instanceof java.lang.String)) {
        com.google.protobuf.ByteString bs =
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        orderType_ = s;
        return s;
      } else {
        return (java.lang.String) ref;
      }
    }
    /**
     * <pre>
     * 支付类型：RegPay=挂号支付 DiagPay=诊间 支付 InHospPay=住院
     * </pre>
     *
     * <code>string orderType = 1;</code>
     * @return The bytes for orderType.
     */
    public com.google.protobuf.ByteString
        getOrderTypeBytes() {
      java.lang.Object ref = orderType_;
      if (ref instanceof String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        orderType_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }
    /**
     * <pre>
     * 支付类型：RegPay=挂号支付 DiagPay=诊间 支付 InHospPay=住院
     * </pre>
     *
     * <code>string orderType = 1;</code>
     * @param value The orderType to set.
     * @return This builder for chaining.
     */
    public Builder setOrderType(
        java.lang.String value) {
      if (value == null) {
    throw new NullPointerException();
  }
  
      orderType_ = value;
      onChanged();
      return this;
    }
    /**
     * <pre>
     * 支付类型：RegPay=挂号支付 DiagPay=诊间 支付 InHospPay=住院
     * </pre>
     *
     * <code>string orderType = 1;</code>
     * @return This builder for chaining.
     */
    public Builder clearOrderType() {
      
      orderType_ = getDefaultInstance().getOrderType();
      onChanged();
      return this;
    }
    /**
     * <pre>
     * 支付类型：RegPay=挂号支付 DiagPay=诊间 支付 InHospPay=住院
     * </pre>
     *
     * <code>string orderType = 1;</code>
     * @param value The bytes for orderType to set.
     * @return This builder for chaining.
     */
    public Builder setOrderTypeBytes(
        com.google.protobuf.ByteString value) {
      if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
      
      orderType_ = value;
      onChanged();
      return this;
    }

    private java.lang.Object appId_ = "";
    /**
     * <pre>
     * 微信分配的公众账号 ID
     * </pre>
     *
     * <code>string appId = 2;</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;
      }
    }
    /**
     * <pre>
     * 微信分配的公众账号 ID
     * </pre>
     *
     * <code>string appId = 2;</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;
      }
    }
    /**
     * <pre>
     * 微信分配的公众账号 ID
     * </pre>
     *
     * <code>string appId = 2;</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;
    }
    /**
     * <pre>
     * 微信分配的公众账号 ID
     * </pre>
     *
     * <code>string appId = 2;</code>
     * @return This builder for chaining.
     */
    public Builder clearAppId() {
      
      appId_ = getDefaultInstance().getAppId();
      onChanged();
      return this;
    }
    /**
     * <pre>
     * 微信分配的公众账号 ID
     * </pre>
     *
     * <code>string appId = 2;</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 java.lang.Object mchId_ = "";
    /**
     * <pre>
     * 微信支付分配的商户号
     * </pre>
     *
     * <code>string mchId = 3;</code>
     * @return The mchId.
     */
    public java.lang.String getMchId() {
      java.lang.Object ref = mchId_;
      if (!(ref instanceof java.lang.String)) {
        com.google.protobuf.ByteString bs =
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        mchId_ = s;
        return s;
      } else {
        return (java.lang.String) ref;
      }
    }
    /**
     * <pre>
     * 微信支付分配的商户号
     * </pre>
     *
     * <code>string mchId = 3;</code>
     * @return The bytes for mchId.
     */
    public com.google.protobuf.ByteString
        getMchIdBytes() {
      java.lang.Object ref = mchId_;
      if (ref instanceof String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        mchId_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }
    /**
     * <pre>
     * 微信支付分配的商户号
     * </pre>
     *
     * <code>string mchId = 3;</code>
     * @param value The mchId to set.
     * @return This builder for chaining.
     */
    public Builder setMchId(
        java.lang.String value) {
      if (value == null) {
    throw new NullPointerException();
  }
  
      mchId_ = value;
      onChanged();
      return this;
    }
    /**
     * <pre>
     * 微信支付分配的商户号
     * </pre>
     *
     * <code>string mchId = 3;</code>
     * @return This builder for chaining.
     */
    public Builder clearMchId() {
      
      mchId_ = getDefaultInstance().getMchId();
      onChanged();
      return this;
    }
    /**
     * <pre>
     * 微信支付分配的商户号
     * </pre>
     *
     * <code>string mchId = 3;</code>
     * @param value The bytes for mchId to set.
     * @return This builder for chaining.
     */
    public Builder setMchIdBytes(
        com.google.protobuf.ByteString value) {
      if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
      
      mchId_ = value;
      onChanged();
      return this;
    }

    private java.lang.Object openId_ = "";
    /**
     * <code>string openId = 4;</code>
     * @return The openId.
     */
    public java.lang.String getOpenId() {
      java.lang.Object ref = openId_;
      if (!(ref instanceof java.lang.String)) {
        com.google.protobuf.ByteString bs =
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        openId_ = s;
        return s;
      } else {
        return (java.lang.String) ref;
      }
    }
    /**
     * <code>string openId = 4;</code>
     * @return The bytes for openId.
     */
    public com.google.protobuf.ByteString
        getOpenIdBytes() {
      java.lang.Object ref = openId_;
      if (ref instanceof String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        openId_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }
    /**
     * <code>string openId = 4;</code>
     * @param value The openId to set.
     * @return This builder for chaining.
     */
    public Builder setOpenId(
        java.lang.String value) {
      if (value == null) {
    throw new NullPointerException();
  }
  
      openId_ = value;
      onChanged();
      return this;
    }
    /**
     * <code>string openId = 4;</code>
     * @return This builder for chaining.
     */
    public Builder clearOpenId() {
      
      openId_ = getDefaultInstance().getOpenId();
      onChanged();
      return this;
    }
    /**
     * <code>string openId = 4;</code>
     * @param value The bytes for openId to set.
     * @return This builder for chaining.
     */
    public Builder setOpenIdBytes(
        com.google.protobuf.ByteString value) {
      if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
      
      openId_ = value;
      onChanged();
      return this;
    }

    private java.lang.Object hospOutTradeNo_ = "";
    /**
     * <pre>
     * 第三方服务商平台自动生成的一个订单号
     * </pre>
     *
     * <code>string hospOutTradeNo = 5;</code>
     * @return The hospOutTradeNo.
     */
    public java.lang.String getHospOutTradeNo() {
      java.lang.Object ref = hospOutTradeNo_;
      if (!(ref instanceof java.lang.String)) {
        com.google.protobuf.ByteString bs =
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        hospOutTradeNo_ = s;
        return s;
      } else {
        return (java.lang.String) ref;
      }
    }
    /**
     * <pre>
     * 第三方服务商平台自动生成的一个订单号
     * </pre>
     *
     * <code>string hospOutTradeNo = 5;</code>
     * @return The bytes for hospOutTradeNo.
     */
    public com.google.protobuf.ByteString
        getHospOutTradeNoBytes() {
      java.lang.Object ref = hospOutTradeNo_;
      if (ref instanceof String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        hospOutTradeNo_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }
    /**
     * <pre>
     * 第三方服务商平台自动生成的一个订单号
     * </pre>
     *
     * <code>string hospOutTradeNo = 5;</code>
     * @param value The hospOutTradeNo to set.
     * @return This builder for chaining.
     */
    public Builder setHospOutTradeNo(
        java.lang.String value) {
      if (value == null) {
    throw new NullPointerException();
  }
  
      hospOutTradeNo_ = value;
      onChanged();
      return this;
    }
    /**
     * <pre>
     * 第三方服务商平台自动生成的一个订单号
     * </pre>
     *
     * <code>string hospOutTradeNo = 5;</code>
     * @return This builder for chaining.
     */
    public Builder clearHospOutTradeNo() {
      
      hospOutTradeNo_ = getDefaultInstance().getHospOutTradeNo();
      onChanged();
      return this;
    }
    /**
     * <pre>
     * 第三方服务商平台自动生成的一个订单号
     * </pre>
     *
     * <code>string hospOutTradeNo = 5;</code>
     * @param value The bytes for hospOutTradeNo to set.
     * @return This builder for chaining.
     */
    public Builder setHospOutTradeNoBytes(
        com.google.protobuf.ByteString value) {
      if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
      
      hospOutTradeNo_ = value;
      onChanged();
      return this;
    }

    private java.lang.Object hospitalName_ = "";
    /**
     * <code>string hospitalName = 6;</code>
     * @return The hospitalName.
     */
    public java.lang.String getHospitalName() {
      java.lang.Object ref = hospitalName_;
      if (!(ref instanceof java.lang.String)) {
        com.google.protobuf.ByteString bs =
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        hospitalName_ = s;
        return s;
      } else {
        return (java.lang.String) ref;
      }
    }
    /**
     * <code>string hospitalName = 6;</code>
     * @return The bytes for hospitalName.
     */
    public com.google.protobuf.ByteString
        getHospitalNameBytes() {
      java.lang.Object ref = hospitalName_;
      if (ref instanceof String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        hospitalName_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }
    /**
     * <code>string hospitalName = 6;</code>
     * @param value The hospitalName to set.
     * @return This builder for chaining.
     */
    public Builder setHospitalName(
        java.lang.String value) {
      if (value == null) {
    throw new NullPointerException();
  }
  
      hospitalName_ = value;
      onChanged();
      return this;
    }
    /**
     * <code>string hospitalName = 6;</code>
     * @return This builder for chaining.
     */
    public Builder clearHospitalName() {
      
      hospitalName_ = getDefaultInstance().getHospitalName();
      onChanged();
      return this;
    }
    /**
     * <code>string hospitalName = 6;</code>
     * @param value The bytes for hospitalName to set.
     * @return This builder for chaining.
     */
    public Builder setHospitalNameBytes(
        com.google.protobuf.ByteString value) {
      if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
      
      hospitalName_ = value;
      onChanged();
      return this;
    }

    private int totalFee_ ;
    /**
     * <pre>
     * 总共需要支付现金金额。单位为分&gt;0。表示订单总额即全额现金的价格。
     * </pre>
     *
     * <code>int32 totalFee = 7;</code>
     * @return The totalFee.
     */
    @java.lang.Override
    public int getTotalFee() {
      return totalFee_;
    }
    /**
     * <pre>
     * 总共需要支付现金金额。单位为分&gt;0。表示订单总额即全额现金的价格。
     * </pre>
     *
     * <code>int32 totalFee = 7;</code>
     * @param value The totalFee to set.
     * @return This builder for chaining.
     */
    public Builder setTotalFee(int value) {
      
      totalFee_ = value;
      onChanged();
      return this;
    }
    /**
     * <pre>
     * 总共需要支付现金金额。单位为分&gt;0。表示订单总额即全额现金的价格。
     * </pre>
     *
     * <code>int32 totalFee = 7;</code>
     * @return This builder for chaining.
     */
    public Builder clearTotalFee() {
      
      totalFee_ = 0;
      onChanged();
      return this;
    }

    private int cashFee_ ;
    /**
     * <pre>
     * 个账金额，分
     * </pre>
     *
     * <code>int32 cashFee = 8;</code>
     * @return The cashFee.
     */
    @java.lang.Override
    public int getCashFee() {
      return cashFee_;
    }
    /**
     * <pre>
     * 个账金额，分
     * </pre>
     *
     * <code>int32 cashFee = 8;</code>
     * @param value The cashFee to set.
     * @return This builder for chaining.
     */
    public Builder setCashFee(int value) {
      
      cashFee_ = value;
      onChanged();
      return this;
    }
    /**
     * <pre>
     * 个账金额，分
     * </pre>
     *
     * <code>int32 cashFee = 8;</code>
     * @return This builder for chaining.
     */
    public Builder clearCashFee() {
      
      cashFee_ = 0;
      onChanged();
      return this;
    }

    private int allowFeeChange_ ;
    /**
     * <pre>
     * 是否允许预结算费用发生变化。0：不允许 1：允许。当医保局返回的预结算金额与医院上传的金额不一致时，此字段为0 则直接报错，为 1 则以医保局金额为准
     * </pre>
     *
     * <code>int32 allowFeeChange = 9;</code>
     * @return The allowFeeChange.
     */
    @java.lang.Override
    public int getAllowFeeChange() {
      return allowFeeChange_;
    }
    /**
     * <pre>
     * 是否允许预结算费用发生变化。0：不允许 1：允许。当医保局返回的预结算金额与医院上传的金额不一致时，此字段为0 则直接报错，为 1 则以医保局金额为准
     * </pre>
     *
     * <code>int32 allowFeeChange = 9;</code>
     * @param value The allowFeeChange to set.
     * @return This builder for chaining.
     */
    public Builder setAllowFeeChange(int value) {
      
      allowFeeChange_ = value;
      onChanged();
      return this;
    }
    /**
     * <pre>
     * 是否允许预结算费用发生变化。0：不允许 1：允许。当医保局返回的预结算金额与医院上传的金额不一致时，此字段为0 则直接报错，为 1 则以医保局金额为准
     * </pre>
     *
     * <code>int32 allowFeeChange = 9;</code>
     * @return This builder for chaining.
     */
    public Builder clearAllowFeeChange() {
      
      allowFeeChange_ = 0;
      onChanged();
      return this;
    }

    private java.lang.Object spbillCreateIp_ = "";
    /**
     * <pre>
     * 用户端 ip
     * </pre>
     *
     * <code>string spbillCreateIp = 10;</code>
     * @return The spbillCreateIp.
     */
    public java.lang.String getSpbillCreateIp() {
      java.lang.Object ref = spbillCreateIp_;
      if (!(ref instanceof java.lang.String)) {
        com.google.protobuf.ByteString bs =
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        spbillCreateIp_ = s;
        return s;
      } else {
        return (java.lang.String) ref;
      }
    }
    /**
     * <pre>
     * 用户端 ip
     * </pre>
     *
     * <code>string spbillCreateIp = 10;</code>
     * @return The bytes for spbillCreateIp.
     */
    public com.google.protobuf.ByteString
        getSpbillCreateIpBytes() {
      java.lang.Object ref = spbillCreateIp_;
      if (ref instanceof String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        spbillCreateIp_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }
    /**
     * <pre>
     * 用户端 ip
     * </pre>
     *
     * <code>string spbillCreateIp = 10;</code>
     * @param value The spbillCreateIp to set.
     * @return This builder for chaining.
     */
    public Builder setSpbillCreateIp(
        java.lang.String value) {
      if (value == null) {
    throw new NullPointerException();
  }
  
      spbillCreateIp_ = value;
      onChanged();
      return this;
    }
    /**
     * <pre>
     * 用户端 ip
     * </pre>
     *
     * <code>string spbillCreateIp = 10;</code>
     * @return This builder for chaining.
     */
    public Builder clearSpbillCreateIp() {
      
      spbillCreateIp_ = getDefaultInstance().getSpbillCreateIp();
      onChanged();
      return this;
    }
    /**
     * <pre>
     * 用户端 ip
     * </pre>
     *
     * <code>string spbillCreateIp = 10;</code>
     * @param value The bytes for spbillCreateIp to set.
     * @return This builder for chaining.
     */
    public Builder setSpbillCreateIpBytes(
        com.google.protobuf.ByteString value) {
      if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
      
      spbillCreateIp_ = value;
      onChanged();
      return this;
    }

    private java.lang.Object notifyUrl_ = "";
    /**
     * <pre>
     * 接受微信支付异步通知回调地址
     * </pre>
     *
     * <code>string notifyUrl = 11;</code>
     * @return The notifyUrl.
     */
    public java.lang.String getNotifyUrl() {
      java.lang.Object ref = notifyUrl_;
      if (!(ref instanceof java.lang.String)) {
        com.google.protobuf.ByteString bs =
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        notifyUrl_ = s;
        return s;
      } else {
        return (java.lang.String) ref;
      }
    }
    /**
     * <pre>
     * 接受微信支付异步通知回调地址
     * </pre>
     *
     * <code>string notifyUrl = 11;</code>
     * @return The bytes for notifyUrl.
     */
    public com.google.protobuf.ByteString
        getNotifyUrlBytes() {
      java.lang.Object ref = notifyUrl_;
      if (ref instanceof String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        notifyUrl_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }
    /**
     * <pre>
     * 接受微信支付异步通知回调地址
     * </pre>
     *
     * <code>string notifyUrl = 11;</code>
     * @param value The notifyUrl to set.
     * @return This builder for chaining.
     */
    public Builder setNotifyUrl(
        java.lang.String value) {
      if (value == null) {
    throw new NullPointerException();
  }
  
      notifyUrl_ = value;
      onChanged();
      return this;
    }
    /**
     * <pre>
     * 接受微信支付异步通知回调地址
     * </pre>
     *
     * <code>string notifyUrl = 11;</code>
     * @return This builder for chaining.
     */
    public Builder clearNotifyUrl() {
      
      notifyUrl_ = getDefaultInstance().getNotifyUrl();
      onChanged();
      return this;
    }
    /**
     * <pre>
     * 接受微信支付异步通知回调地址
     * </pre>
     *
     * <code>string notifyUrl = 11;</code>
     * @param value The bytes for notifyUrl to set.
     * @return This builder for chaining.
     */
    public Builder setNotifyUrlBytes(
        com.google.protobuf.ByteString value) {
      if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
      
      notifyUrl_ = value;
      onChanged();
      return this;
    }

    private java.lang.Object body_ = "";
    /**
     * <pre>
     * 商品描述，商家名称-销售商品类目，参考 https://pay.weixin.qq.com/wiki/doc/api/jsapi.php?chapter=4_2
     * </pre>
     *
     * <code>string body = 12;</code>
     * @return The body.
     */
    public java.lang.String getBody() {
      java.lang.Object ref = body_;
      if (!(ref instanceof java.lang.String)) {
        com.google.protobuf.ByteString bs =
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        body_ = s;
        return s;
      } else {
        return (java.lang.String) ref;
      }
    }
    /**
     * <pre>
     * 商品描述，商家名称-销售商品类目，参考 https://pay.weixin.qq.com/wiki/doc/api/jsapi.php?chapter=4_2
     * </pre>
     *
     * <code>string body = 12;</code>
     * @return The bytes for body.
     */
    public com.google.protobuf.ByteString
        getBodyBytes() {
      java.lang.Object ref = body_;
      if (ref instanceof String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        body_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }
    /**
     * <pre>
     * 商品描述，商家名称-销售商品类目，参考 https://pay.weixin.qq.com/wiki/doc/api/jsapi.php?chapter=4_2
     * </pre>
     *
     * <code>string body = 12;</code>
     * @param value The body to set.
     * @return This builder for chaining.
     */
    public Builder setBody(
        java.lang.String value) {
      if (value == null) {
    throw new NullPointerException();
  }
  
      body_ = value;
      onChanged();
      return this;
    }
    /**
     * <pre>
     * 商品描述，商家名称-销售商品类目，参考 https://pay.weixin.qq.com/wiki/doc/api/jsapi.php?chapter=4_2
     * </pre>
     *
     * <code>string body = 12;</code>
     * @return This builder for chaining.
     */
    public Builder clearBody() {
      
      body_ = getDefaultInstance().getBody();
      onChanged();
      return this;
    }
    /**
     * <pre>
     * 商品描述，商家名称-销售商品类目，参考 https://pay.weixin.qq.com/wiki/doc/api/jsapi.php?chapter=4_2
     * </pre>
     *
     * <code>string body = 12;</code>
     * @param value The bytes for body to set.
     * @return This builder for chaining.
     */
    public Builder setBodyBytes(
        com.google.protobuf.ByteString value) {
      if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
      
      body_ = value;
      onChanged();
      return this;
    }

    private java.lang.Object returnUrl_ = "";
    /**
     * <pre>
     * 支付后回跳的页面，不论成功或者失败均会回跳。调用方可以在链接中加上支付单号，回跳后查询调用方订单状态，如果订单已支付则成功， 如果订单未支付则进行查单操作确认订单结果
     * </pre>
     *
     * <code>string returnUrl = 13;</code>
     * @return The returnUrl.
     */
    public java.lang.String getReturnUrl() {
      java.lang.Object ref = returnUrl_;
      if (!(ref instanceof java.lang.String)) {
        com.google.protobuf.ByteString bs =
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        returnUrl_ = s;
        return s;
      } else {
        return (java.lang.String) ref;
      }
    }
    /**
     * <pre>
     * 支付后回跳的页面，不论成功或者失败均会回跳。调用方可以在链接中加上支付单号，回跳后查询调用方订单状态，如果订单已支付则成功， 如果订单未支付则进行查单操作确认订单结果
     * </pre>
     *
     * <code>string returnUrl = 13;</code>
     * @return The bytes for returnUrl.
     */
    public com.google.protobuf.ByteString
        getReturnUrlBytes() {
      java.lang.Object ref = returnUrl_;
      if (ref instanceof String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        returnUrl_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }
    /**
     * <pre>
     * 支付后回跳的页面，不论成功或者失败均会回跳。调用方可以在链接中加上支付单号，回跳后查询调用方订单状态，如果订单已支付则成功， 如果订单未支付则进行查单操作确认订单结果
     * </pre>
     *
     * <code>string returnUrl = 13;</code>
     * @param value The returnUrl to set.
     * @return This builder for chaining.
     */
    public Builder setReturnUrl(
        java.lang.String value) {
      if (value == null) {
    throw new NullPointerException();
  }
  
      returnUrl_ = value;
      onChanged();
      return this;
    }
    /**
     * <pre>
     * 支付后回跳的页面，不论成功或者失败均会回跳。调用方可以在链接中加上支付单号，回跳后查询调用方订单状态，如果订单已支付则成功， 如果订单未支付则进行查单操作确认订单结果
     * </pre>
     *
     * <code>string returnUrl = 13;</code>
     * @return This builder for chaining.
     */
    public Builder clearReturnUrl() {
      
      returnUrl_ = getDefaultInstance().getReturnUrl();
      onChanged();
      return this;
    }
    /**
     * <pre>
     * 支付后回跳的页面，不论成功或者失败均会回跳。调用方可以在链接中加上支付单号，回跳后查询调用方订单状态，如果订单已支付则成功， 如果订单未支付则进行查单操作确认订单结果
     * </pre>
     *
     * <code>string returnUrl = 13;</code>
     * @param value The bytes for returnUrl to set.
     * @return This builder for chaining.
     */
    public Builder setReturnUrlBytes(
        com.google.protobuf.ByteString value) {
      if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
      
      returnUrl_ = value;
      onChanged();
      return this;
    }

    private int payType_ ;
    /**
     * <pre>
     * 支付方式：1：现金 2：医保 3：现金+医保 备注说明： 当订单要走医保支付时 ① cash_fee&gt;0, paytype 填 3 ② cash_fee=0, paytype 填 2
     * </pre>
     *
     * <code>int32 payType = 14;</code>
     * @return The payType.
     */
    @java.lang.Override
    public int getPayType() {
      return payType_;
    }
    /**
     * <pre>
     * 支付方式：1：现金 2：医保 3：现金+医保 备注说明： 当订单要走医保支付时 ① cash_fee&gt;0, paytype 填 3 ② cash_fee=0, paytype 填 2
     * </pre>
     *
     * <code>int32 payType = 14;</code>
     * @param value The payType to set.
     * @return This builder for chaining.
     */
    public Builder setPayType(int value) {
      
      payType_ = value;
      onChanged();
      return this;
    }
    /**
     * <pre>
     * 支付方式：1：现金 2：医保 3：现金+医保 备注说明： 当订单要走医保支付时 ① cash_fee&gt;0, paytype 填 3 ② cash_fee=0, paytype 填 2
     * </pre>
     *
     * <code>int32 payType = 14;</code>
     * @return This builder for chaining.
     */
    public Builder clearPayType() {
      
      payType_ = 0;
      onChanged();
      return this;
    }

    private int insuranceFee_ ;
    /**
     * <pre>
     * 医保支付金额，分
     * </pre>
     *
     * <code>int32 insuranceFee = 15;</code>
     * @return The insuranceFee.
     */
    @java.lang.Override
    public int getInsuranceFee() {
      return insuranceFee_;
    }
    /**
     * <pre>
     * 医保支付金额，分
     * </pre>
     *
     * <code>int32 insuranceFee = 15;</code>
     * @param value The insuranceFee to set.
     * @return This builder for chaining.
     */
    public Builder setInsuranceFee(int value) {
      
      insuranceFee_ = value;
      onChanged();
      return this;
    }
    /**
     * <pre>
     * 医保支付金额，分
     * </pre>
     *
     * <code>int32 insuranceFee = 15;</code>
     * @return This builder for chaining.
     */
    public Builder clearInsuranceFee() {
      
      insuranceFee_ = 0;
      onChanged();
      return this;
    }

    private int userCardType_ ;
    /**
     * <pre>
     * 证件类型，1-身份证
     * </pre>
     *
     * <code>int32 userCardType = 16;</code>
     * @return The userCardType.
     */
    @java.lang.Override
    public int getUserCardType() {
      return userCardType_;
    }
    /**
     * <pre>
     * 证件类型，1-身份证
     * </pre>
     *
     * <code>int32 userCardType = 16;</code>
     * @param value The userCardType to set.
     * @return This builder for chaining.
     */
    public Builder setUserCardType(int value) {
      
      userCardType_ = value;
      onChanged();
      return this;
    }
    /**
     * <pre>
     * 证件类型，1-身份证
     * </pre>
     *
     * <code>int32 userCardType = 16;</code>
     * @return This builder for chaining.
     */
    public Builder clearUserCardType() {
      
      userCardType_ = 0;
      onChanged();
      return this;
    }

    private java.lang.Object userCardNo_ = "";
    /**
     * <pre>
     * 证件号码，身份证中如果有字母需要转成大写再做 MD5,15位身份证号需要转为18 位
     * </pre>
     *
     * <code>string userCardNo = 17;</code>
     * @return The userCardNo.
     */
    public java.lang.String getUserCardNo() {
      java.lang.Object ref = userCardNo_;
      if (!(ref instanceof java.lang.String)) {
        com.google.protobuf.ByteString bs =
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        userCardNo_ = s;
        return s;
      } else {
        return (java.lang.String) ref;
      }
    }
    /**
     * <pre>
     * 证件号码，身份证中如果有字母需要转成大写再做 MD5,15位身份证号需要转为18 位
     * </pre>
     *
     * <code>string userCardNo = 17;</code>
     * @return The bytes for userCardNo.
     */
    public com.google.protobuf.ByteString
        getUserCardNoBytes() {
      java.lang.Object ref = userCardNo_;
      if (ref instanceof String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        userCardNo_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }
    /**
     * <pre>
     * 证件号码，身份证中如果有字母需要转成大写再做 MD5,15位身份证号需要转为18 位
     * </pre>
     *
     * <code>string userCardNo = 17;</code>
     * @param value The userCardNo to set.
     * @return This builder for chaining.
     */
    public Builder setUserCardNo(
        java.lang.String value) {
      if (value == null) {
    throw new NullPointerException();
  }
  
      userCardNo_ = value;
      onChanged();
      return this;
    }
    /**
     * <pre>
     * 证件号码，身份证中如果有字母需要转成大写再做 MD5,15位身份证号需要转为18 位
     * </pre>
     *
     * <code>string userCardNo = 17;</code>
     * @return This builder for chaining.
     */
    public Builder clearUserCardNo() {
      
      userCardNo_ = getDefaultInstance().getUserCardNo();
      onChanged();
      return this;
    }
    /**
     * <pre>
     * 证件号码，身份证中如果有字母需要转成大写再做 MD5,15位身份证号需要转为18 位
     * </pre>
     *
     * <code>string userCardNo = 17;</code>
     * @param value The bytes for userCardNo to set.
     * @return This builder for chaining.
     */
    public Builder setUserCardNoBytes(
        com.google.protobuf.ByteString value) {
      if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
      
      userCardNo_ = value;
      onChanged();
      return this;
    }

    private java.lang.Object userName_ = "";
    /**
     * <pre>
     * 真实姓名
     * </pre>
     *
     * <code>string userName = 18;</code>
     * @return The userName.
     */
    public java.lang.String getUserName() {
      java.lang.Object ref = userName_;
      if (!(ref instanceof java.lang.String)) {
        com.google.protobuf.ByteString bs =
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        userName_ = s;
        return s;
      } else {
        return (java.lang.String) ref;
      }
    }
    /**
     * <pre>
     * 真实姓名
     * </pre>
     *
     * <code>string userName = 18;</code>
     * @return The bytes for userName.
     */
    public com.google.protobuf.ByteString
        getUserNameBytes() {
      java.lang.Object ref = userName_;
      if (ref instanceof String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        userName_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }
    /**
     * <pre>
     * 真实姓名
     * </pre>
     *
     * <code>string userName = 18;</code>
     * @param value The userName to set.
     * @return This builder for chaining.
     */
    public Builder setUserName(
        java.lang.String value) {
      if (value == null) {
    throw new NullPointerException();
  }
  
      userName_ = value;
      onChanged();
      return this;
    }
    /**
     * <pre>
     * 真实姓名
     * </pre>
     *
     * <code>string userName = 18;</code>
     * @return This builder for chaining.
     */
    public Builder clearUserName() {
      
      userName_ = getDefaultInstance().getUserName();
      onChanged();
      return this;
    }
    /**
     * <pre>
     * 真实姓名
     * </pre>
     *
     * <code>string userName = 18;</code>
     * @param value The bytes for userName to set.
     * @return This builder for chaining.
     */
    public Builder setUserNameBytes(
        com.google.protobuf.ByteString value) {
      if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
      
      userName_ = value;
      onChanged();
      return this;
    }

    private java.lang.Object serialNo_ = "";
    /**
     * <pre>
     * 医院 HIS 系统订单号
     * </pre>
     *
     * <code>string serialNo = 19;</code>
     * @return The serialNo.
     */
    public java.lang.String getSerialNo() {
      java.lang.Object ref = serialNo_;
      if (!(ref instanceof java.lang.String)) {
        com.google.protobuf.ByteString bs =
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        serialNo_ = s;
        return s;
      } else {
        return (java.lang.String) ref;
      }
    }
    /**
     * <pre>
     * 医院 HIS 系统订单号
     * </pre>
     *
     * <code>string serialNo = 19;</code>
     * @return The bytes for serialNo.
     */
    public com.google.protobuf.ByteString
        getSerialNoBytes() {
      java.lang.Object ref = serialNo_;
      if (ref instanceof String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        serialNo_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }
    /**
     * <pre>
     * 医院 HIS 系统订单号
     * </pre>
     *
     * <code>string serialNo = 19;</code>
     * @param value The serialNo to set.
     * @return This builder for chaining.
     */
    public Builder setSerialNo(
        java.lang.String value) {
      if (value == null) {
    throw new NullPointerException();
  }
  
      serialNo_ = value;
      onChanged();
      return this;
    }
    /**
     * <pre>
     * 医院 HIS 系统订单号
     * </pre>
     *
     * <code>string serialNo = 19;</code>
     * @return This builder for chaining.
     */
    public Builder clearSerialNo() {
      
      serialNo_ = getDefaultInstance().getSerialNo();
      onChanged();
      return this;
    }
    /**
     * <pre>
     * 医院 HIS 系统订单号
     * </pre>
     *
     * <code>string serialNo = 19;</code>
     * @param value The bytes for serialNo to set.
     * @return This builder for chaining.
     */
    public Builder setSerialNoBytes(
        com.google.protobuf.ByteString value) {
      if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
      
      serialNo_ = value;
      onChanged();
      return this;
    }

    private java.lang.Object orgNo_ = "";
    /**
     * <pre>
     * 医疗机构编码（医保局分配给机构）；德生分配的商户号
     * </pre>
     *
     * <code>string orgNo = 20;</code>
     * @return The orgNo.
     */
    public java.lang.String getOrgNo() {
      java.lang.Object ref = orgNo_;
      if (!(ref instanceof java.lang.String)) {
        com.google.protobuf.ByteString bs =
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        orgNo_ = s;
        return s;
      } else {
        return (java.lang.String) ref;
      }
    }
    /**
     * <pre>
     * 医疗机构编码（医保局分配给机构）；德生分配的商户号
     * </pre>
     *
     * <code>string orgNo = 20;</code>
     * @return The bytes for orgNo.
     */
    public com.google.protobuf.ByteString
        getOrgNoBytes() {
      java.lang.Object ref = orgNo_;
      if (ref instanceof String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        orgNo_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }
    /**
     * <pre>
     * 医疗机构编码（医保局分配给机构）；德生分配的商户号
     * </pre>
     *
     * <code>string orgNo = 20;</code>
     * @param value The orgNo to set.
     * @return This builder for chaining.
     */
    public Builder setOrgNo(
        java.lang.String value) {
      if (value == null) {
    throw new NullPointerException();
  }
  
      orgNo_ = value;
      onChanged();
      return this;
    }
    /**
     * <pre>
     * 医疗机构编码（医保局分配给机构）；德生分配的商户号
     * </pre>
     *
     * <code>string orgNo = 20;</code>
     * @return This builder for chaining.
     */
    public Builder clearOrgNo() {
      
      orgNo_ = getDefaultInstance().getOrgNo();
      onChanged();
      return this;
    }
    /**
     * <pre>
     * 医疗机构编码（医保局分配给机构）；德生分配的商户号
     * </pre>
     *
     * <code>string orgNo = 20;</code>
     * @param value The bytes for orgNo to set.
     * @return This builder for chaining.
     */
    public Builder setOrgNoBytes(
        com.google.protobuf.ByteString value) {
      if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
      
      orgNo_ = value;
      onChanged();
      return this;
    }

    private java.lang.Object gmtOutCreate_ = "";
    /**
     * <pre>
     * 医院下单时间，格式：yyyyMMddHHmmss
     * </pre>
     *
     * <code>string gmtOutCreate = 21;</code>
     * @return The gmtOutCreate.
     */
    public java.lang.String getGmtOutCreate() {
      java.lang.Object ref = gmtOutCreate_;
      if (!(ref instanceof java.lang.String)) {
        com.google.protobuf.ByteString bs =
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        gmtOutCreate_ = s;
        return s;
      } else {
        return (java.lang.String) ref;
      }
    }
    /**
     * <pre>
     * 医院下单时间，格式：yyyyMMddHHmmss
     * </pre>
     *
     * <code>string gmtOutCreate = 21;</code>
     * @return The bytes for gmtOutCreate.
     */
    public com.google.protobuf.ByteString
        getGmtOutCreateBytes() {
      java.lang.Object ref = gmtOutCreate_;
      if (ref instanceof String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        gmtOutCreate_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }
    /**
     * <pre>
     * 医院下单时间，格式：yyyyMMddHHmmss
     * </pre>
     *
     * <code>string gmtOutCreate = 21;</code>
     * @param value The gmtOutCreate to set.
     * @return This builder for chaining.
     */
    public Builder setGmtOutCreate(
        java.lang.String value) {
      if (value == null) {
    throw new NullPointerException();
  }
  
      gmtOutCreate_ = value;
      onChanged();
      return this;
    }
    /**
     * <pre>
     * 医院下单时间，格式：yyyyMMddHHmmss
     * </pre>
     *
     * <code>string gmtOutCreate = 21;</code>
     * @return This builder for chaining.
     */
    public Builder clearGmtOutCreate() {
      
      gmtOutCreate_ = getDefaultInstance().getGmtOutCreate();
      onChanged();
      return this;
    }
    /**
     * <pre>
     * 医院下单时间，格式：yyyyMMddHHmmss
     * </pre>
     *
     * <code>string gmtOutCreate = 21;</code>
     * @param value The bytes for gmtOutCreate to set.
     * @return This builder for chaining.
     */
    public Builder setGmtOutCreateBytes(
        com.google.protobuf.ByteString value) {
      if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
      
      gmtOutCreate_ = value;
      onChanged();
      return this;
    }

    private java.lang.Object extendz_ = "";
    /**
     * <pre>
     * 固定 {&#92;"insurance_fee_type&#92;":&#92;"insurance&#92;"}
     * </pre>
     *
     * <code>string extendz = 22;</code>
     * @return The extendz.
     */
    public java.lang.String getExtendz() {
      java.lang.Object ref = extendz_;
      if (!(ref instanceof java.lang.String)) {
        com.google.protobuf.ByteString bs =
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        extendz_ = s;
        return s;
      } else {
        return (java.lang.String) ref;
      }
    }
    /**
     * <pre>
     * 固定 {&#92;"insurance_fee_type&#92;":&#92;"insurance&#92;"}
     * </pre>
     *
     * <code>string extendz = 22;</code>
     * @return The bytes for extendz.
     */
    public com.google.protobuf.ByteString
        getExtendzBytes() {
      java.lang.Object ref = extendz_;
      if (ref instanceof String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        extendz_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }
    /**
     * <pre>
     * 固定 {&#92;"insurance_fee_type&#92;":&#92;"insurance&#92;"}
     * </pre>
     *
     * <code>string extendz = 22;</code>
     * @param value The extendz to set.
     * @return This builder for chaining.
     */
    public Builder setExtendz(
        java.lang.String value) {
      if (value == null) {
    throw new NullPointerException();
  }
  
      extendz_ = value;
      onChanged();
      return this;
    }
    /**
     * <pre>
     * 固定 {&#92;"insurance_fee_type&#92;":&#92;"insurance&#92;"}
     * </pre>
     *
     * <code>string extendz = 22;</code>
     * @return This builder for chaining.
     */
    public Builder clearExtendz() {
      
      extendz_ = getDefaultInstance().getExtendz();
      onChanged();
      return this;
    }
    /**
     * <pre>
     * 固定 {&#92;"insurance_fee_type&#92;":&#92;"insurance&#92;"}
     * </pre>
     *
     * <code>string extendz = 22;</code>
     * @param value The bytes for extendz to set.
     * @return This builder for chaining.
     */
    public Builder setExtendzBytes(
        com.google.protobuf.ByteString value) {
      if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
      
      extendz_ = value;
      onChanged();
      return this;
    }

    private int terminal_ ;
    /**
     * <code>int32 terminal = 23;</code>
     * @return The terminal.
     */
    @java.lang.Override
    public int getTerminal() {
      return terminal_;
    }
    /**
     * <code>int32 terminal = 23;</code>
     * @param value The terminal to set.
     * @return This builder for chaining.
     */
    public Builder setTerminal(int value) {
      
      terminal_ = value;
      onChanged();
      return this;
    }
    /**
     * <code>int32 terminal = 23;</code>
     * @return This builder for chaining.
     */
    public Builder clearTerminal() {
      
      terminal_ = 0;
      onChanged();
      return this;
    }

    private java.lang.Object attach_ = "";
    /**
     * <pre>
     * 附加数据
     * </pre>
     *
     * <code>string attach = 24;</code>
     * @return The attach.
     */
    public java.lang.String getAttach() {
      java.lang.Object ref = attach_;
      if (!(ref instanceof java.lang.String)) {
        com.google.protobuf.ByteString bs =
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        attach_ = s;
        return s;
      } else {
        return (java.lang.String) ref;
      }
    }
    /**
     * <pre>
     * 附加数据
     * </pre>
     *
     * <code>string attach = 24;</code>
     * @return The bytes for attach.
     */
    public com.google.protobuf.ByteString
        getAttachBytes() {
      java.lang.Object ref = attach_;
      if (ref instanceof String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        attach_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }
    /**
     * <pre>
     * 附加数据
     * </pre>
     *
     * <code>string attach = 24;</code>
     * @param value The attach to set.
     * @return This builder for chaining.
     */
    public Builder setAttach(
        java.lang.String value) {
      if (value == null) {
    throw new NullPointerException();
  }
  
      attach_ = value;
      onChanged();
      return this;
    }
    /**
     * <pre>
     * 附加数据
     * </pre>
     *
     * <code>string attach = 24;</code>
     * @return This builder for chaining.
     */
    public Builder clearAttach() {
      
      attach_ = getDefaultInstance().getAttach();
      onChanged();
      return this;
    }
    /**
     * <pre>
     * 附加数据
     * </pre>
     *
     * <code>string attach = 24;</code>
     * @param value The bytes for attach to set.
     * @return This builder for chaining.
     */
    public Builder setAttachBytes(
        com.google.protobuf.ByteString value) {
      if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
      
      attach_ = value;
      onChanged();
      return this;
    }

    private java.lang.Object insUploadFeeResp_ = "";
    /**
     * <pre>
     * HIS 上传医保接口返回信息
     * </pre>
     *
     * <code>string insUploadFeeResp = 25;</code>
     * @return The insUploadFeeResp.
     */
    public java.lang.String getInsUploadFeeResp() {
      java.lang.Object ref = insUploadFeeResp_;
      if (!(ref instanceof java.lang.String)) {
        com.google.protobuf.ByteString bs =
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        insUploadFeeResp_ = s;
        return s;
      } else {
        return (java.lang.String) ref;
      }
    }
    /**
     * <pre>
     * HIS 上传医保接口返回信息
     * </pre>
     *
     * <code>string insUploadFeeResp = 25;</code>
     * @return The bytes for insUploadFeeResp.
     */
    public com.google.protobuf.ByteString
        getInsUploadFeeRespBytes() {
      java.lang.Object ref = insUploadFeeResp_;
      if (ref instanceof String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        insUploadFeeResp_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }
    /**
     * <pre>
     * HIS 上传医保接口返回信息
     * </pre>
     *
     * <code>string insUploadFeeResp = 25;</code>
     * @param value The insUploadFeeResp to set.
     * @return This builder for chaining.
     */
    public Builder setInsUploadFeeResp(
        java.lang.String value) {
      if (value == null) {
    throw new NullPointerException();
  }
  
      insUploadFeeResp_ = value;
      onChanged();
      return this;
    }
    /**
     * <pre>
     * HIS 上传医保接口返回信息
     * </pre>
     *
     * <code>string insUploadFeeResp = 25;</code>
     * @return This builder for chaining.
     */
    public Builder clearInsUploadFeeResp() {
      
      insUploadFeeResp_ = getDefaultInstance().getInsUploadFeeResp();
      onChanged();
      return this;
    }
    /**
     * <pre>
     * HIS 上传医保接口返回信息
     * </pre>
     *
     * <code>string insUploadFeeResp = 25;</code>
     * @param value The bytes for insUploadFeeResp to set.
     * @return This builder for chaining.
     */
    public Builder setInsUploadFeeRespBytes(
        com.google.protobuf.ByteString value) {
      if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
      
      insUploadFeeResp_ = value;
      onChanged();
      return this;
    }

    private int consumeType_ ;
    /**
     * <pre>
     * 医保部分扣费类型。默认为 0：统筹+个账 1：个账 2：统筹
     * </pre>
     *
     * <code>int32 consumeType = 26;</code>
     * @return The consumeType.
     */
    @java.lang.Override
    public int getConsumeType() {
      return consumeType_;
    }
    /**
     * <pre>
     * 医保部分扣费类型。默认为 0：统筹+个账 1：个账 2：统筹
     * </pre>
     *
     * <code>int32 consumeType = 26;</code>
     * @param value The consumeType to set.
     * @return This builder for chaining.
     */
    public Builder setConsumeType(int value) {
      
      consumeType_ = value;
      onChanged();
      return this;
    }
    /**
     * <pre>
     * 医保部分扣费类型。默认为 0：统筹+个账 1：个账 2：统筹
     * </pre>
     *
     * <code>int32 consumeType = 26;</code>
     * @return This builder for chaining.
     */
    public Builder clearConsumeType() {
      
      consumeType_ = 0;
      onChanged();
      return this;
    }

    private int medInsType_ ;
    /**
     * <pre>
     * 医保类型标识，1-广州医保，2-市直医保
     * </pre>
     *
     * <code>int32 medInsType = 27;</code>
     * @return The medInsType.
     */
    @java.lang.Override
    public int getMedInsType() {
      return medInsType_;
    }
    /**
     * <pre>
     * 医保类型标识，1-广州医保，2-市直医保
     * </pre>
     *
     * <code>int32 medInsType = 27;</code>
     * @param value The medInsType to set.
     * @return This builder for chaining.
     */
    public Builder setMedInsType(int value) {
      
      medInsType_ = value;
      onChanged();
      return this;
    }
    /**
     * <pre>
     * 医保类型标识，1-广州医保，2-市直医保
     * </pre>
     *
     * <code>int32 medInsType = 27;</code>
     * @return This builder for chaining.
     */
    public Builder clearMedInsType() {
      
      medInsType_ = 0;
      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:com.ywt.gapi.wx_ins_pay.CreatePayInsOrderRequest)
  }

  // @@protoc_insertion_point(class_scope:com.ywt.gapi.wx_ins_pay.CreatePayInsOrderRequest)
  private static final com.ywt.gapi.wx_ins_pay.CreatePayInsOrderRequest DEFAULT_INSTANCE;
  static {
    DEFAULT_INSTANCE = new com.ywt.gapi.wx_ins_pay.CreatePayInsOrderRequest();
  }

  public static com.ywt.gapi.wx_ins_pay.CreatePayInsOrderRequest getDefaultInstance() {
    return DEFAULT_INSTANCE;
  }

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

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

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

  @java.lang.Override
  public com.ywt.gapi.wx_ins_pay.CreatePayInsOrderRequest getDefaultInstanceForType() {
    return DEFAULT_INSTANCE;
  }

}

