/*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements.  See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The ASF licenses this file to You under the Apache License, Version 2.0
* (the "License"); you may not use this file except in compliance with
* the License.  You may obtain a copy of the License at
*
*     http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/

    package com.ywt.gapi.taihe.outpaitent;

import org.apache.dubbo.common.stream.StreamObserver;
import org.apache.dubbo.common.URL;
import org.apache.dubbo.rpc.Invoker;
import org.apache.dubbo.rpc.PathResolver;
import org.apache.dubbo.rpc.RpcException;
import org.apache.dubbo.rpc.ServerService;
import org.apache.dubbo.rpc.TriRpcStatus;
import org.apache.dubbo.rpc.model.MethodDescriptor;
import org.apache.dubbo.rpc.model.ServiceDescriptor;
import org.apache.dubbo.rpc.model.StubMethodDescriptor;
import org.apache.dubbo.rpc.model.StubServiceDescriptor;
import org.apache.dubbo.rpc.stub.BiStreamMethodHandler;
import org.apache.dubbo.rpc.stub.ServerStreamMethodHandler;
import org.apache.dubbo.rpc.stub.StubInvocationUtil;
import org.apache.dubbo.rpc.stub.StubInvoker;
import org.apache.dubbo.rpc.stub.StubMethodHandler;
import org.apache.dubbo.rpc.stub.StubSuppliers;
import org.apache.dubbo.rpc.stub.UnaryStubMethodHandler;

import com.google.protobuf.Message;

import java.util.HashMap;
import java.util.Map;
import java.util.function.BiConsumer;
import java.util.concurrent.CompletableFuture;

public final class DubboTaiheOutpatientServiceTriple {

    public static final String SERVICE_NAME = TaiheOutpatientService.SERVICE_NAME;

    private static final StubServiceDescriptor serviceDescriptor = new StubServiceDescriptor(SERVICE_NAME,TaiheOutpatientService.class);

    static {
        org.apache.dubbo.rpc.protocol.tri.service.SchemaDescriptorRegistry.addSchemaDescriptor(SERVICE_NAME,TaiheOutpaitentProto.getDescriptor());
        StubSuppliers.addSupplier(SERVICE_NAME, DubboTaiheOutpatientServiceTriple::newStub);
        StubSuppliers.addSupplier(TaiheOutpatientService.JAVA_SERVICE_NAME,  DubboTaiheOutpatientServiceTriple::newStub);
        StubSuppliers.addDescriptor(SERVICE_NAME, serviceDescriptor);
        StubSuppliers.addDescriptor(TaiheOutpatientService.JAVA_SERVICE_NAME, serviceDescriptor);
    }

    @SuppressWarnings("all")
    public static TaiheOutpatientService newStub(Invoker<?> invoker) {
        return new TaiheOutpatientServiceStub((Invoker<TaiheOutpatientService>)invoker);
    }

    private static final StubMethodDescriptor createOutpatientMethod = new StubMethodDescriptor("createOutpatient",
    com.ywt.gapi.taihe.outpaitent.CreateOutpatientRequest.class, com.ywt.gapi.taihe.outpaitent.CreateOutpatientResponse.class, serviceDescriptor, MethodDescriptor.RpcType.UNARY,
    obj -> ((Message) obj).toByteArray(), obj -> ((Message) obj).toByteArray(), com.ywt.gapi.taihe.outpaitent.CreateOutpatientRequest::parseFrom,
    com.ywt.gapi.taihe.outpaitent.CreateOutpatientResponse::parseFrom);

    private static final StubMethodDescriptor createOutpatientAsyncMethod = new StubMethodDescriptor("createOutpatient",
    com.ywt.gapi.taihe.outpaitent.CreateOutpatientRequest.class, java.util.concurrent.CompletableFuture.class, serviceDescriptor, MethodDescriptor.RpcType.UNARY,
    obj -> ((Message) obj).toByteArray(), obj -> ((Message) obj).toByteArray(), com.ywt.gapi.taihe.outpaitent.CreateOutpatientRequest::parseFrom,
    com.ywt.gapi.taihe.outpaitent.CreateOutpatientResponse::parseFrom);

    private static final StubMethodDescriptor createOutpatientProxyAsyncMethod = new StubMethodDescriptor("createOutpatientAsync",
    com.ywt.gapi.taihe.outpaitent.CreateOutpatientRequest.class, com.ywt.gapi.taihe.outpaitent.CreateOutpatientResponse.class, serviceDescriptor, MethodDescriptor.RpcType.UNARY,
    obj -> ((Message) obj).toByteArray(), obj -> ((Message) obj).toByteArray(), com.ywt.gapi.taihe.outpaitent.CreateOutpatientRequest::parseFrom,
    com.ywt.gapi.taihe.outpaitent.CreateOutpatientResponse::parseFrom);

    private static final StubMethodDescriptor payCallbackMethod = new StubMethodDescriptor("payCallback",
    com.ywt.gapi.taihe.outpaitent.PayCallbackRequest.class, com.ywt.gapi.taihe.outpaitent.PayCallbackResponse.class, serviceDescriptor, MethodDescriptor.RpcType.UNARY,
    obj -> ((Message) obj).toByteArray(), obj -> ((Message) obj).toByteArray(), com.ywt.gapi.taihe.outpaitent.PayCallbackRequest::parseFrom,
    com.ywt.gapi.taihe.outpaitent.PayCallbackResponse::parseFrom);

    private static final StubMethodDescriptor payCallbackAsyncMethod = new StubMethodDescriptor("payCallback",
    com.ywt.gapi.taihe.outpaitent.PayCallbackRequest.class, java.util.concurrent.CompletableFuture.class, serviceDescriptor, MethodDescriptor.RpcType.UNARY,
    obj -> ((Message) obj).toByteArray(), obj -> ((Message) obj).toByteArray(), com.ywt.gapi.taihe.outpaitent.PayCallbackRequest::parseFrom,
    com.ywt.gapi.taihe.outpaitent.PayCallbackResponse::parseFrom);

    private static final StubMethodDescriptor payCallbackProxyAsyncMethod = new StubMethodDescriptor("payCallbackAsync",
    com.ywt.gapi.taihe.outpaitent.PayCallbackRequest.class, com.ywt.gapi.taihe.outpaitent.PayCallbackResponse.class, serviceDescriptor, MethodDescriptor.RpcType.UNARY,
    obj -> ((Message) obj).toByteArray(), obj -> ((Message) obj).toByteArray(), com.ywt.gapi.taihe.outpaitent.PayCallbackRequest::parseFrom,
    com.ywt.gapi.taihe.outpaitent.PayCallbackResponse::parseFrom);

    private static final StubMethodDescriptor getOutpatientQrcodeMethod = new StubMethodDescriptor("getOutpatientQrcode",
    com.ywt.gapi.taihe.outpaitent.GetOutpatientQrcodeRequest.class, com.ywt.gapi.taihe.outpaitent.GetOutpatientQrcodeResponse.class, serviceDescriptor, MethodDescriptor.RpcType.UNARY,
    obj -> ((Message) obj).toByteArray(), obj -> ((Message) obj).toByteArray(), com.ywt.gapi.taihe.outpaitent.GetOutpatientQrcodeRequest::parseFrom,
    com.ywt.gapi.taihe.outpaitent.GetOutpatientQrcodeResponse::parseFrom);

    private static final StubMethodDescriptor getOutpatientQrcodeAsyncMethod = new StubMethodDescriptor("getOutpatientQrcode",
    com.ywt.gapi.taihe.outpaitent.GetOutpatientQrcodeRequest.class, java.util.concurrent.CompletableFuture.class, serviceDescriptor, MethodDescriptor.RpcType.UNARY,
    obj -> ((Message) obj).toByteArray(), obj -> ((Message) obj).toByteArray(), com.ywt.gapi.taihe.outpaitent.GetOutpatientQrcodeRequest::parseFrom,
    com.ywt.gapi.taihe.outpaitent.GetOutpatientQrcodeResponse::parseFrom);

    private static final StubMethodDescriptor getOutpatientQrcodeProxyAsyncMethod = new StubMethodDescriptor("getOutpatientQrcodeAsync",
    com.ywt.gapi.taihe.outpaitent.GetOutpatientQrcodeRequest.class, com.ywt.gapi.taihe.outpaitent.GetOutpatientQrcodeResponse.class, serviceDescriptor, MethodDescriptor.RpcType.UNARY,
    obj -> ((Message) obj).toByteArray(), obj -> ((Message) obj).toByteArray(), com.ywt.gapi.taihe.outpaitent.GetOutpatientQrcodeRequest::parseFrom,
    com.ywt.gapi.taihe.outpaitent.GetOutpatientQrcodeResponse::parseFrom);

    private static final StubMethodDescriptor getOutpatientDetailMethod = new StubMethodDescriptor("getOutpatientDetail",
    com.ywt.gapi.taihe.outpaitent.GetOutpatientDetailRequest.class, com.ywt.gapi.taihe.outpaitent.GetOutpatientDetailResponse.class, serviceDescriptor, MethodDescriptor.RpcType.UNARY,
    obj -> ((Message) obj).toByteArray(), obj -> ((Message) obj).toByteArray(), com.ywt.gapi.taihe.outpaitent.GetOutpatientDetailRequest::parseFrom,
    com.ywt.gapi.taihe.outpaitent.GetOutpatientDetailResponse::parseFrom);

    private static final StubMethodDescriptor getOutpatientDetailAsyncMethod = new StubMethodDescriptor("getOutpatientDetail",
    com.ywt.gapi.taihe.outpaitent.GetOutpatientDetailRequest.class, java.util.concurrent.CompletableFuture.class, serviceDescriptor, MethodDescriptor.RpcType.UNARY,
    obj -> ((Message) obj).toByteArray(), obj -> ((Message) obj).toByteArray(), com.ywt.gapi.taihe.outpaitent.GetOutpatientDetailRequest::parseFrom,
    com.ywt.gapi.taihe.outpaitent.GetOutpatientDetailResponse::parseFrom);

    private static final StubMethodDescriptor getOutpatientDetailProxyAsyncMethod = new StubMethodDescriptor("getOutpatientDetailAsync",
    com.ywt.gapi.taihe.outpaitent.GetOutpatientDetailRequest.class, com.ywt.gapi.taihe.outpaitent.GetOutpatientDetailResponse.class, serviceDescriptor, MethodDescriptor.RpcType.UNARY,
    obj -> ((Message) obj).toByteArray(), obj -> ((Message) obj).toByteArray(), com.ywt.gapi.taihe.outpaitent.GetOutpatientDetailRequest::parseFrom,
    com.ywt.gapi.taihe.outpaitent.GetOutpatientDetailResponse::parseFrom);

    private static final StubMethodDescriptor updateOutpatientMethod = new StubMethodDescriptor("updateOutpatient",
    com.ywt.gapi.taihe.outpaitent.UpdateOutpatientRequest.class, com.ywt.gapi.taihe.outpaitent.UpdateOutpatientResponse.class, serviceDescriptor, MethodDescriptor.RpcType.UNARY,
    obj -> ((Message) obj).toByteArray(), obj -> ((Message) obj).toByteArray(), com.ywt.gapi.taihe.outpaitent.UpdateOutpatientRequest::parseFrom,
    com.ywt.gapi.taihe.outpaitent.UpdateOutpatientResponse::parseFrom);

    private static final StubMethodDescriptor updateOutpatientAsyncMethod = new StubMethodDescriptor("updateOutpatient",
    com.ywt.gapi.taihe.outpaitent.UpdateOutpatientRequest.class, java.util.concurrent.CompletableFuture.class, serviceDescriptor, MethodDescriptor.RpcType.UNARY,
    obj -> ((Message) obj).toByteArray(), obj -> ((Message) obj).toByteArray(), com.ywt.gapi.taihe.outpaitent.UpdateOutpatientRequest::parseFrom,
    com.ywt.gapi.taihe.outpaitent.UpdateOutpatientResponse::parseFrom);

    private static final StubMethodDescriptor updateOutpatientProxyAsyncMethod = new StubMethodDescriptor("updateOutpatientAsync",
    com.ywt.gapi.taihe.outpaitent.UpdateOutpatientRequest.class, com.ywt.gapi.taihe.outpaitent.UpdateOutpatientResponse.class, serviceDescriptor, MethodDescriptor.RpcType.UNARY,
    obj -> ((Message) obj).toByteArray(), obj -> ((Message) obj).toByteArray(), com.ywt.gapi.taihe.outpaitent.UpdateOutpatientRequest::parseFrom,
    com.ywt.gapi.taihe.outpaitent.UpdateOutpatientResponse::parseFrom);

    private static final StubMethodDescriptor refundOutpatientCallbackMethod = new StubMethodDescriptor("refundOutpatientCallback",
    com.ywt.gapi.taihe.outpaitent.RefundOutpatientCallbackRequest.class, com.ywt.gapi.taihe.outpaitent.RefundOutpatientCallbackResponse.class, serviceDescriptor, MethodDescriptor.RpcType.UNARY,
    obj -> ((Message) obj).toByteArray(), obj -> ((Message) obj).toByteArray(), com.ywt.gapi.taihe.outpaitent.RefundOutpatientCallbackRequest::parseFrom,
    com.ywt.gapi.taihe.outpaitent.RefundOutpatientCallbackResponse::parseFrom);

    private static final StubMethodDescriptor refundOutpatientCallbackAsyncMethod = new StubMethodDescriptor("refundOutpatientCallback",
    com.ywt.gapi.taihe.outpaitent.RefundOutpatientCallbackRequest.class, java.util.concurrent.CompletableFuture.class, serviceDescriptor, MethodDescriptor.RpcType.UNARY,
    obj -> ((Message) obj).toByteArray(), obj -> ((Message) obj).toByteArray(), com.ywt.gapi.taihe.outpaitent.RefundOutpatientCallbackRequest::parseFrom,
    com.ywt.gapi.taihe.outpaitent.RefundOutpatientCallbackResponse::parseFrom);

    private static final StubMethodDescriptor refundOutpatientCallbackProxyAsyncMethod = new StubMethodDescriptor("refundOutpatientCallbackAsync",
    com.ywt.gapi.taihe.outpaitent.RefundOutpatientCallbackRequest.class, com.ywt.gapi.taihe.outpaitent.RefundOutpatientCallbackResponse.class, serviceDescriptor, MethodDescriptor.RpcType.UNARY,
    obj -> ((Message) obj).toByteArray(), obj -> ((Message) obj).toByteArray(), com.ywt.gapi.taihe.outpaitent.RefundOutpatientCallbackRequest::parseFrom,
    com.ywt.gapi.taihe.outpaitent.RefundOutpatientCallbackResponse::parseFrom);

    private static final StubMethodDescriptor getOutpatientListMethod = new StubMethodDescriptor("getOutpatientList",
    com.ywt.gapi.taihe.outpaitent.GetOutpatientListRequest.class, com.ywt.gapi.taihe.outpaitent.GetOutpatientListResponse.class, serviceDescriptor, MethodDescriptor.RpcType.UNARY,
    obj -> ((Message) obj).toByteArray(), obj -> ((Message) obj).toByteArray(), com.ywt.gapi.taihe.outpaitent.GetOutpatientListRequest::parseFrom,
    com.ywt.gapi.taihe.outpaitent.GetOutpatientListResponse::parseFrom);

    private static final StubMethodDescriptor getOutpatientListAsyncMethod = new StubMethodDescriptor("getOutpatientList",
    com.ywt.gapi.taihe.outpaitent.GetOutpatientListRequest.class, java.util.concurrent.CompletableFuture.class, serviceDescriptor, MethodDescriptor.RpcType.UNARY,
    obj -> ((Message) obj).toByteArray(), obj -> ((Message) obj).toByteArray(), com.ywt.gapi.taihe.outpaitent.GetOutpatientListRequest::parseFrom,
    com.ywt.gapi.taihe.outpaitent.GetOutpatientListResponse::parseFrom);

    private static final StubMethodDescriptor getOutpatientListProxyAsyncMethod = new StubMethodDescriptor("getOutpatientListAsync",
    com.ywt.gapi.taihe.outpaitent.GetOutpatientListRequest.class, com.ywt.gapi.taihe.outpaitent.GetOutpatientListResponse.class, serviceDescriptor, MethodDescriptor.RpcType.UNARY,
    obj -> ((Message) obj).toByteArray(), obj -> ((Message) obj).toByteArray(), com.ywt.gapi.taihe.outpaitent.GetOutpatientListRequest::parseFrom,
    com.ywt.gapi.taihe.outpaitent.GetOutpatientListResponse::parseFrom);

    private static final StubMethodDescriptor getMedicalCardInfoByPatientIdMethod = new StubMethodDescriptor("getMedicalCardInfoByPatientId",
    com.ywt.gapi.taihe.outpaitent.GetMedicalCardInfoByPatientIdRequest.class, com.ywt.gapi.taihe.outpaitent.GetMedicalCardInfoByPatientIdResponse.class, serviceDescriptor, MethodDescriptor.RpcType.UNARY,
    obj -> ((Message) obj).toByteArray(), obj -> ((Message) obj).toByteArray(), com.ywt.gapi.taihe.outpaitent.GetMedicalCardInfoByPatientIdRequest::parseFrom,
    com.ywt.gapi.taihe.outpaitent.GetMedicalCardInfoByPatientIdResponse::parseFrom);

    private static final StubMethodDescriptor getMedicalCardInfoByPatientIdAsyncMethod = new StubMethodDescriptor("getMedicalCardInfoByPatientId",
    com.ywt.gapi.taihe.outpaitent.GetMedicalCardInfoByPatientIdRequest.class, java.util.concurrent.CompletableFuture.class, serviceDescriptor, MethodDescriptor.RpcType.UNARY,
    obj -> ((Message) obj).toByteArray(), obj -> ((Message) obj).toByteArray(), com.ywt.gapi.taihe.outpaitent.GetMedicalCardInfoByPatientIdRequest::parseFrom,
    com.ywt.gapi.taihe.outpaitent.GetMedicalCardInfoByPatientIdResponse::parseFrom);

    private static final StubMethodDescriptor getMedicalCardInfoByPatientIdProxyAsyncMethod = new StubMethodDescriptor("getMedicalCardInfoByPatientIdAsync",
    com.ywt.gapi.taihe.outpaitent.GetMedicalCardInfoByPatientIdRequest.class, com.ywt.gapi.taihe.outpaitent.GetMedicalCardInfoByPatientIdResponse.class, serviceDescriptor, MethodDescriptor.RpcType.UNARY,
    obj -> ((Message) obj).toByteArray(), obj -> ((Message) obj).toByteArray(), com.ywt.gapi.taihe.outpaitent.GetMedicalCardInfoByPatientIdRequest::parseFrom,
    com.ywt.gapi.taihe.outpaitent.GetMedicalCardInfoByPatientIdResponse::parseFrom);

    private static final StubMethodDescriptor getOutpatientOrderByHisOrderNoMethod = new StubMethodDescriptor("getOutpatientOrderByHisOrderNo",
    com.ywt.gapi.taihe.outpaitent.GetOutpatientOrderByHisOrderNoRequest.class, com.ywt.gapi.taihe.outpaitent.GetOutpatientOrderByHisOrderNoResponse.class, serviceDescriptor, MethodDescriptor.RpcType.UNARY,
    obj -> ((Message) obj).toByteArray(), obj -> ((Message) obj).toByteArray(), com.ywt.gapi.taihe.outpaitent.GetOutpatientOrderByHisOrderNoRequest::parseFrom,
    com.ywt.gapi.taihe.outpaitent.GetOutpatientOrderByHisOrderNoResponse::parseFrom);

    private static final StubMethodDescriptor getOutpatientOrderByHisOrderNoAsyncMethod = new StubMethodDescriptor("getOutpatientOrderByHisOrderNo",
    com.ywt.gapi.taihe.outpaitent.GetOutpatientOrderByHisOrderNoRequest.class, java.util.concurrent.CompletableFuture.class, serviceDescriptor, MethodDescriptor.RpcType.UNARY,
    obj -> ((Message) obj).toByteArray(), obj -> ((Message) obj).toByteArray(), com.ywt.gapi.taihe.outpaitent.GetOutpatientOrderByHisOrderNoRequest::parseFrom,
    com.ywt.gapi.taihe.outpaitent.GetOutpatientOrderByHisOrderNoResponse::parseFrom);

    private static final StubMethodDescriptor getOutpatientOrderByHisOrderNoProxyAsyncMethod = new StubMethodDescriptor("getOutpatientOrderByHisOrderNoAsync",
    com.ywt.gapi.taihe.outpaitent.GetOutpatientOrderByHisOrderNoRequest.class, com.ywt.gapi.taihe.outpaitent.GetOutpatientOrderByHisOrderNoResponse.class, serviceDescriptor, MethodDescriptor.RpcType.UNARY,
    obj -> ((Message) obj).toByteArray(), obj -> ((Message) obj).toByteArray(), com.ywt.gapi.taihe.outpaitent.GetOutpatientOrderByHisOrderNoRequest::parseFrom,
    com.ywt.gapi.taihe.outpaitent.GetOutpatientOrderByHisOrderNoResponse::parseFrom);

    private static final StubMethodDescriptor saveOutpatientOrderDetailsMethod = new StubMethodDescriptor("saveOutpatientOrderDetails",
    com.ywt.gapi.taihe.outpaitent.SaveOutpatientOrderDetailsRequest.class, com.ywt.gapi.taihe.outpaitent.BaseResult.class, serviceDescriptor, MethodDescriptor.RpcType.UNARY,
    obj -> ((Message) obj).toByteArray(), obj -> ((Message) obj).toByteArray(), com.ywt.gapi.taihe.outpaitent.SaveOutpatientOrderDetailsRequest::parseFrom,
    com.ywt.gapi.taihe.outpaitent.BaseResult::parseFrom);

    private static final StubMethodDescriptor saveOutpatientOrderDetailsAsyncMethod = new StubMethodDescriptor("saveOutpatientOrderDetails",
    com.ywt.gapi.taihe.outpaitent.SaveOutpatientOrderDetailsRequest.class, java.util.concurrent.CompletableFuture.class, serviceDescriptor, MethodDescriptor.RpcType.UNARY,
    obj -> ((Message) obj).toByteArray(), obj -> ((Message) obj).toByteArray(), com.ywt.gapi.taihe.outpaitent.SaveOutpatientOrderDetailsRequest::parseFrom,
    com.ywt.gapi.taihe.outpaitent.BaseResult::parseFrom);

    private static final StubMethodDescriptor saveOutpatientOrderDetailsProxyAsyncMethod = new StubMethodDescriptor("saveOutpatientOrderDetailsAsync",
    com.ywt.gapi.taihe.outpaitent.SaveOutpatientOrderDetailsRequest.class, com.ywt.gapi.taihe.outpaitent.BaseResult.class, serviceDescriptor, MethodDescriptor.RpcType.UNARY,
    obj -> ((Message) obj).toByteArray(), obj -> ((Message) obj).toByteArray(), com.ywt.gapi.taihe.outpaitent.SaveOutpatientOrderDetailsRequest::parseFrom,
    com.ywt.gapi.taihe.outpaitent.BaseResult::parseFrom);

    private static final StubMethodDescriptor getOutpatientOrderDetailMethod = new StubMethodDescriptor("getOutpatientOrderDetail",
    com.ywt.gapi.taihe.outpaitent.GetOutpatientOrderDetailRequest.class, com.ywt.gapi.taihe.outpaitent.GetOutpatientOrderDetailResponse.class, serviceDescriptor, MethodDescriptor.RpcType.UNARY,
    obj -> ((Message) obj).toByteArray(), obj -> ((Message) obj).toByteArray(), com.ywt.gapi.taihe.outpaitent.GetOutpatientOrderDetailRequest::parseFrom,
    com.ywt.gapi.taihe.outpaitent.GetOutpatientOrderDetailResponse::parseFrom);

    private static final StubMethodDescriptor getOutpatientOrderDetailAsyncMethod = new StubMethodDescriptor("getOutpatientOrderDetail",
    com.ywt.gapi.taihe.outpaitent.GetOutpatientOrderDetailRequest.class, java.util.concurrent.CompletableFuture.class, serviceDescriptor, MethodDescriptor.RpcType.UNARY,
    obj -> ((Message) obj).toByteArray(), obj -> ((Message) obj).toByteArray(), com.ywt.gapi.taihe.outpaitent.GetOutpatientOrderDetailRequest::parseFrom,
    com.ywt.gapi.taihe.outpaitent.GetOutpatientOrderDetailResponse::parseFrom);

    private static final StubMethodDescriptor getOutpatientOrderDetailProxyAsyncMethod = new StubMethodDescriptor("getOutpatientOrderDetailAsync",
    com.ywt.gapi.taihe.outpaitent.GetOutpatientOrderDetailRequest.class, com.ywt.gapi.taihe.outpaitent.GetOutpatientOrderDetailResponse.class, serviceDescriptor, MethodDescriptor.RpcType.UNARY,
    obj -> ((Message) obj).toByteArray(), obj -> ((Message) obj).toByteArray(), com.ywt.gapi.taihe.outpaitent.GetOutpatientOrderDetailRequest::parseFrom,
    com.ywt.gapi.taihe.outpaitent.GetOutpatientOrderDetailResponse::parseFrom);

    private static final StubMethodDescriptor getMedicalCardInfoByIdMethod = new StubMethodDescriptor("getMedicalCardInfoById",
    com.ywt.gapi.taihe.outpaitent.GetMedicalCardInfoByIdRequest.class, com.ywt.gapi.taihe.outpaitent.GetMedicalCardInfoByPatientIdResponse.class, serviceDescriptor, MethodDescriptor.RpcType.UNARY,
    obj -> ((Message) obj).toByteArray(), obj -> ((Message) obj).toByteArray(), com.ywt.gapi.taihe.outpaitent.GetMedicalCardInfoByIdRequest::parseFrom,
    com.ywt.gapi.taihe.outpaitent.GetMedicalCardInfoByPatientIdResponse::parseFrom);

    private static final StubMethodDescriptor getMedicalCardInfoByIdAsyncMethod = new StubMethodDescriptor("getMedicalCardInfoById",
    com.ywt.gapi.taihe.outpaitent.GetMedicalCardInfoByIdRequest.class, java.util.concurrent.CompletableFuture.class, serviceDescriptor, MethodDescriptor.RpcType.UNARY,
    obj -> ((Message) obj).toByteArray(), obj -> ((Message) obj).toByteArray(), com.ywt.gapi.taihe.outpaitent.GetMedicalCardInfoByIdRequest::parseFrom,
    com.ywt.gapi.taihe.outpaitent.GetMedicalCardInfoByPatientIdResponse::parseFrom);

    private static final StubMethodDescriptor getMedicalCardInfoByIdProxyAsyncMethod = new StubMethodDescriptor("getMedicalCardInfoByIdAsync",
    com.ywt.gapi.taihe.outpaitent.GetMedicalCardInfoByIdRequest.class, com.ywt.gapi.taihe.outpaitent.GetMedicalCardInfoByPatientIdResponse.class, serviceDescriptor, MethodDescriptor.RpcType.UNARY,
    obj -> ((Message) obj).toByteArray(), obj -> ((Message) obj).toByteArray(), com.ywt.gapi.taihe.outpaitent.GetMedicalCardInfoByIdRequest::parseFrom,
    com.ywt.gapi.taihe.outpaitent.GetMedicalCardInfoByPatientIdResponse::parseFrom);

    private static final StubMethodDescriptor updateOutpatientOrderMethod = new StubMethodDescriptor("updateOutpatientOrder",
    com.ywt.gapi.taihe.outpaitent.UpdateOutpatientOrderRequest.class, com.ywt.gapi.taihe.outpaitent.UpdateOutpatientOrderResponse.class, serviceDescriptor, MethodDescriptor.RpcType.UNARY,
    obj -> ((Message) obj).toByteArray(), obj -> ((Message) obj).toByteArray(), com.ywt.gapi.taihe.outpaitent.UpdateOutpatientOrderRequest::parseFrom,
    com.ywt.gapi.taihe.outpaitent.UpdateOutpatientOrderResponse::parseFrom);

    private static final StubMethodDescriptor updateOutpatientOrderAsyncMethod = new StubMethodDescriptor("updateOutpatientOrder",
    com.ywt.gapi.taihe.outpaitent.UpdateOutpatientOrderRequest.class, java.util.concurrent.CompletableFuture.class, serviceDescriptor, MethodDescriptor.RpcType.UNARY,
    obj -> ((Message) obj).toByteArray(), obj -> ((Message) obj).toByteArray(), com.ywt.gapi.taihe.outpaitent.UpdateOutpatientOrderRequest::parseFrom,
    com.ywt.gapi.taihe.outpaitent.UpdateOutpatientOrderResponse::parseFrom);

    private static final StubMethodDescriptor updateOutpatientOrderProxyAsyncMethod = new StubMethodDescriptor("updateOutpatientOrderAsync",
    com.ywt.gapi.taihe.outpaitent.UpdateOutpatientOrderRequest.class, com.ywt.gapi.taihe.outpaitent.UpdateOutpatientOrderResponse.class, serviceDescriptor, MethodDescriptor.RpcType.UNARY,
    obj -> ((Message) obj).toByteArray(), obj -> ((Message) obj).toByteArray(), com.ywt.gapi.taihe.outpaitent.UpdateOutpatientOrderRequest::parseFrom,
    com.ywt.gapi.taihe.outpaitent.UpdateOutpatientOrderResponse::parseFrom);

    private static final StubMethodDescriptor getLatestOutpatientOrderMethod = new StubMethodDescriptor("getLatestOutpatientOrder",
    com.ywt.gapi.taihe.outpaitent.GetLatestOutpatientOrderRequest.class, com.ywt.gapi.taihe.outpaitent.GetLatestOutpatientOrderResponse.class, serviceDescriptor, MethodDescriptor.RpcType.UNARY,
    obj -> ((Message) obj).toByteArray(), obj -> ((Message) obj).toByteArray(), com.ywt.gapi.taihe.outpaitent.GetLatestOutpatientOrderRequest::parseFrom,
    com.ywt.gapi.taihe.outpaitent.GetLatestOutpatientOrderResponse::parseFrom);

    private static final StubMethodDescriptor getLatestOutpatientOrderAsyncMethod = new StubMethodDescriptor("getLatestOutpatientOrder",
    com.ywt.gapi.taihe.outpaitent.GetLatestOutpatientOrderRequest.class, java.util.concurrent.CompletableFuture.class, serviceDescriptor, MethodDescriptor.RpcType.UNARY,
    obj -> ((Message) obj).toByteArray(), obj -> ((Message) obj).toByteArray(), com.ywt.gapi.taihe.outpaitent.GetLatestOutpatientOrderRequest::parseFrom,
    com.ywt.gapi.taihe.outpaitent.GetLatestOutpatientOrderResponse::parseFrom);

    private static final StubMethodDescriptor getLatestOutpatientOrderProxyAsyncMethod = new StubMethodDescriptor("getLatestOutpatientOrderAsync",
    com.ywt.gapi.taihe.outpaitent.GetLatestOutpatientOrderRequest.class, com.ywt.gapi.taihe.outpaitent.GetLatestOutpatientOrderResponse.class, serviceDescriptor, MethodDescriptor.RpcType.UNARY,
    obj -> ((Message) obj).toByteArray(), obj -> ((Message) obj).toByteArray(), com.ywt.gapi.taihe.outpaitent.GetLatestOutpatientOrderRequest::parseFrom,
    com.ywt.gapi.taihe.outpaitent.GetLatestOutpatientOrderResponse::parseFrom);

    private static final StubMethodDescriptor getOutpatientConfigsMethod = new StubMethodDescriptor("getOutpatientConfigs",
    com.ywt.gapi.taihe.outpaitent.GetOutPatientConfigRequest.class, com.ywt.gapi.taihe.outpaitent.GetOutPatientConfigResponse.class, serviceDescriptor, MethodDescriptor.RpcType.UNARY,
    obj -> ((Message) obj).toByteArray(), obj -> ((Message) obj).toByteArray(), com.ywt.gapi.taihe.outpaitent.GetOutPatientConfigRequest::parseFrom,
    com.ywt.gapi.taihe.outpaitent.GetOutPatientConfigResponse::parseFrom);

    private static final StubMethodDescriptor getOutpatientConfigsAsyncMethod = new StubMethodDescriptor("getOutpatientConfigs",
    com.ywt.gapi.taihe.outpaitent.GetOutPatientConfigRequest.class, java.util.concurrent.CompletableFuture.class, serviceDescriptor, MethodDescriptor.RpcType.UNARY,
    obj -> ((Message) obj).toByteArray(), obj -> ((Message) obj).toByteArray(), com.ywt.gapi.taihe.outpaitent.GetOutPatientConfigRequest::parseFrom,
    com.ywt.gapi.taihe.outpaitent.GetOutPatientConfigResponse::parseFrom);

    private static final StubMethodDescriptor getOutpatientConfigsProxyAsyncMethod = new StubMethodDescriptor("getOutpatientConfigsAsync",
    com.ywt.gapi.taihe.outpaitent.GetOutPatientConfigRequest.class, com.ywt.gapi.taihe.outpaitent.GetOutPatientConfigResponse.class, serviceDescriptor, MethodDescriptor.RpcType.UNARY,
    obj -> ((Message) obj).toByteArray(), obj -> ((Message) obj).toByteArray(), com.ywt.gapi.taihe.outpaitent.GetOutPatientConfigRequest::parseFrom,
    com.ywt.gapi.taihe.outpaitent.GetOutPatientConfigResponse::parseFrom);

    private static final StubMethodDescriptor checkHasOutstandingOutpatientOrderMethod = new StubMethodDescriptor("checkHasOutstandingOutpatientOrder",
    com.ywt.gapi.taihe.outpaitent.CheckHasOutstandingOutpatientOrderRequest.class, com.ywt.gapi.taihe.outpaitent.CheckHasOutstandingOutpatientOrderResponse.class, serviceDescriptor, MethodDescriptor.RpcType.UNARY,
    obj -> ((Message) obj).toByteArray(), obj -> ((Message) obj).toByteArray(), com.ywt.gapi.taihe.outpaitent.CheckHasOutstandingOutpatientOrderRequest::parseFrom,
    com.ywt.gapi.taihe.outpaitent.CheckHasOutstandingOutpatientOrderResponse::parseFrom);

    private static final StubMethodDescriptor checkHasOutstandingOutpatientOrderAsyncMethod = new StubMethodDescriptor("checkHasOutstandingOutpatientOrder",
    com.ywt.gapi.taihe.outpaitent.CheckHasOutstandingOutpatientOrderRequest.class, java.util.concurrent.CompletableFuture.class, serviceDescriptor, MethodDescriptor.RpcType.UNARY,
    obj -> ((Message) obj).toByteArray(), obj -> ((Message) obj).toByteArray(), com.ywt.gapi.taihe.outpaitent.CheckHasOutstandingOutpatientOrderRequest::parseFrom,
    com.ywt.gapi.taihe.outpaitent.CheckHasOutstandingOutpatientOrderResponse::parseFrom);

    private static final StubMethodDescriptor checkHasOutstandingOutpatientOrderProxyAsyncMethod = new StubMethodDescriptor("checkHasOutstandingOutpatientOrderAsync",
    com.ywt.gapi.taihe.outpaitent.CheckHasOutstandingOutpatientOrderRequest.class, com.ywt.gapi.taihe.outpaitent.CheckHasOutstandingOutpatientOrderResponse.class, serviceDescriptor, MethodDescriptor.RpcType.UNARY,
    obj -> ((Message) obj).toByteArray(), obj -> ((Message) obj).toByteArray(), com.ywt.gapi.taihe.outpaitent.CheckHasOutstandingOutpatientOrderRequest::parseFrom,
    com.ywt.gapi.taihe.outpaitent.CheckHasOutstandingOutpatientOrderResponse::parseFrom);

    private static final StubMethodDescriptor getOutpatientOrderByInvoiceNoMethod = new StubMethodDescriptor("getOutpatientOrderByInvoiceNo",
    com.ywt.gapi.taihe.outpaitent.GetOutpatientOrderDetailByInvoiceRequest.class, com.ywt.gapi.taihe.outpaitent.GetOutpatientOrderDetailByInvoiceResponse.class, serviceDescriptor, MethodDescriptor.RpcType.UNARY,
    obj -> ((Message) obj).toByteArray(), obj -> ((Message) obj).toByteArray(), com.ywt.gapi.taihe.outpaitent.GetOutpatientOrderDetailByInvoiceRequest::parseFrom,
    com.ywt.gapi.taihe.outpaitent.GetOutpatientOrderDetailByInvoiceResponse::parseFrom);

    private static final StubMethodDescriptor getOutpatientOrderByInvoiceNoAsyncMethod = new StubMethodDescriptor("getOutpatientOrderByInvoiceNo",
    com.ywt.gapi.taihe.outpaitent.GetOutpatientOrderDetailByInvoiceRequest.class, java.util.concurrent.CompletableFuture.class, serviceDescriptor, MethodDescriptor.RpcType.UNARY,
    obj -> ((Message) obj).toByteArray(), obj -> ((Message) obj).toByteArray(), com.ywt.gapi.taihe.outpaitent.GetOutpatientOrderDetailByInvoiceRequest::parseFrom,
    com.ywt.gapi.taihe.outpaitent.GetOutpatientOrderDetailByInvoiceResponse::parseFrom);

    private static final StubMethodDescriptor getOutpatientOrderByInvoiceNoProxyAsyncMethod = new StubMethodDescriptor("getOutpatientOrderByInvoiceNoAsync",
    com.ywt.gapi.taihe.outpaitent.GetOutpatientOrderDetailByInvoiceRequest.class, com.ywt.gapi.taihe.outpaitent.GetOutpatientOrderDetailByInvoiceResponse.class, serviceDescriptor, MethodDescriptor.RpcType.UNARY,
    obj -> ((Message) obj).toByteArray(), obj -> ((Message) obj).toByteArray(), com.ywt.gapi.taihe.outpaitent.GetOutpatientOrderDetailByInvoiceRequest::parseFrom,
    com.ywt.gapi.taihe.outpaitent.GetOutpatientOrderDetailByInvoiceResponse::parseFrom);





    public static class TaiheOutpatientServiceStub implements TaiheOutpatientService{
        private final Invoker<TaiheOutpatientService> invoker;

        public TaiheOutpatientServiceStub(Invoker<TaiheOutpatientService> invoker) {
            this.invoker = invoker;
        }

        @Override
        public com.ywt.gapi.taihe.outpaitent.CreateOutpatientResponse createOutpatient(com.ywt.gapi.taihe.outpaitent.CreateOutpatientRequest request){
            return StubInvocationUtil.unaryCall(invoker, createOutpatientMethod, request);
        }

        public CompletableFuture<com.ywt.gapi.taihe.outpaitent.CreateOutpatientResponse> createOutpatientAsync(com.ywt.gapi.taihe.outpaitent.CreateOutpatientRequest request){
            return StubInvocationUtil.unaryCall(invoker, createOutpatientAsyncMethod, request);
        }

        @Override
        public void createOutpatient(com.ywt.gapi.taihe.outpaitent.CreateOutpatientRequest request, StreamObserver<com.ywt.gapi.taihe.outpaitent.CreateOutpatientResponse> responseObserver){
            StubInvocationUtil.unaryCall(invoker, createOutpatientMethod , request, responseObserver);
        }
        @Override
        public com.ywt.gapi.taihe.outpaitent.PayCallbackResponse payCallback(com.ywt.gapi.taihe.outpaitent.PayCallbackRequest request){
            return StubInvocationUtil.unaryCall(invoker, payCallbackMethod, request);
        }

        public CompletableFuture<com.ywt.gapi.taihe.outpaitent.PayCallbackResponse> payCallbackAsync(com.ywt.gapi.taihe.outpaitent.PayCallbackRequest request){
            return StubInvocationUtil.unaryCall(invoker, payCallbackAsyncMethod, request);
        }

        @Override
        public void payCallback(com.ywt.gapi.taihe.outpaitent.PayCallbackRequest request, StreamObserver<com.ywt.gapi.taihe.outpaitent.PayCallbackResponse> responseObserver){
            StubInvocationUtil.unaryCall(invoker, payCallbackMethod , request, responseObserver);
        }
        @Override
        public com.ywt.gapi.taihe.outpaitent.GetOutpatientQrcodeResponse getOutpatientQrcode(com.ywt.gapi.taihe.outpaitent.GetOutpatientQrcodeRequest request){
            return StubInvocationUtil.unaryCall(invoker, getOutpatientQrcodeMethod, request);
        }

        public CompletableFuture<com.ywt.gapi.taihe.outpaitent.GetOutpatientQrcodeResponse> getOutpatientQrcodeAsync(com.ywt.gapi.taihe.outpaitent.GetOutpatientQrcodeRequest request){
            return StubInvocationUtil.unaryCall(invoker, getOutpatientQrcodeAsyncMethod, request);
        }

        @Override
        public void getOutpatientQrcode(com.ywt.gapi.taihe.outpaitent.GetOutpatientQrcodeRequest request, StreamObserver<com.ywt.gapi.taihe.outpaitent.GetOutpatientQrcodeResponse> responseObserver){
            StubInvocationUtil.unaryCall(invoker, getOutpatientQrcodeMethod , request, responseObserver);
        }
        @Override
        public com.ywt.gapi.taihe.outpaitent.GetOutpatientDetailResponse getOutpatientDetail(com.ywt.gapi.taihe.outpaitent.GetOutpatientDetailRequest request){
            return StubInvocationUtil.unaryCall(invoker, getOutpatientDetailMethod, request);
        }

        public CompletableFuture<com.ywt.gapi.taihe.outpaitent.GetOutpatientDetailResponse> getOutpatientDetailAsync(com.ywt.gapi.taihe.outpaitent.GetOutpatientDetailRequest request){
            return StubInvocationUtil.unaryCall(invoker, getOutpatientDetailAsyncMethod, request);
        }

        @Override
        public void getOutpatientDetail(com.ywt.gapi.taihe.outpaitent.GetOutpatientDetailRequest request, StreamObserver<com.ywt.gapi.taihe.outpaitent.GetOutpatientDetailResponse> responseObserver){
            StubInvocationUtil.unaryCall(invoker, getOutpatientDetailMethod , request, responseObserver);
        }
        @Override
        public com.ywt.gapi.taihe.outpaitent.UpdateOutpatientResponse updateOutpatient(com.ywt.gapi.taihe.outpaitent.UpdateOutpatientRequest request){
            return StubInvocationUtil.unaryCall(invoker, updateOutpatientMethod, request);
        }

        public CompletableFuture<com.ywt.gapi.taihe.outpaitent.UpdateOutpatientResponse> updateOutpatientAsync(com.ywt.gapi.taihe.outpaitent.UpdateOutpatientRequest request){
            return StubInvocationUtil.unaryCall(invoker, updateOutpatientAsyncMethod, request);
        }

        @Override
        public void updateOutpatient(com.ywt.gapi.taihe.outpaitent.UpdateOutpatientRequest request, StreamObserver<com.ywt.gapi.taihe.outpaitent.UpdateOutpatientResponse> responseObserver){
            StubInvocationUtil.unaryCall(invoker, updateOutpatientMethod , request, responseObserver);
        }
        @Override
        public com.ywt.gapi.taihe.outpaitent.RefundOutpatientCallbackResponse refundOutpatientCallback(com.ywt.gapi.taihe.outpaitent.RefundOutpatientCallbackRequest request){
            return StubInvocationUtil.unaryCall(invoker, refundOutpatientCallbackMethod, request);
        }

        public CompletableFuture<com.ywt.gapi.taihe.outpaitent.RefundOutpatientCallbackResponse> refundOutpatientCallbackAsync(com.ywt.gapi.taihe.outpaitent.RefundOutpatientCallbackRequest request){
            return StubInvocationUtil.unaryCall(invoker, refundOutpatientCallbackAsyncMethod, request);
        }

        @Override
        public void refundOutpatientCallback(com.ywt.gapi.taihe.outpaitent.RefundOutpatientCallbackRequest request, StreamObserver<com.ywt.gapi.taihe.outpaitent.RefundOutpatientCallbackResponse> responseObserver){
            StubInvocationUtil.unaryCall(invoker, refundOutpatientCallbackMethod , request, responseObserver);
        }
        @Override
        public com.ywt.gapi.taihe.outpaitent.GetOutpatientListResponse getOutpatientList(com.ywt.gapi.taihe.outpaitent.GetOutpatientListRequest request){
            return StubInvocationUtil.unaryCall(invoker, getOutpatientListMethod, request);
        }

        public CompletableFuture<com.ywt.gapi.taihe.outpaitent.GetOutpatientListResponse> getOutpatientListAsync(com.ywt.gapi.taihe.outpaitent.GetOutpatientListRequest request){
            return StubInvocationUtil.unaryCall(invoker, getOutpatientListAsyncMethod, request);
        }

        @Override
        public void getOutpatientList(com.ywt.gapi.taihe.outpaitent.GetOutpatientListRequest request, StreamObserver<com.ywt.gapi.taihe.outpaitent.GetOutpatientListResponse> responseObserver){
            StubInvocationUtil.unaryCall(invoker, getOutpatientListMethod , request, responseObserver);
        }
        @Override
        public com.ywt.gapi.taihe.outpaitent.GetMedicalCardInfoByPatientIdResponse getMedicalCardInfoByPatientId(com.ywt.gapi.taihe.outpaitent.GetMedicalCardInfoByPatientIdRequest request){
            return StubInvocationUtil.unaryCall(invoker, getMedicalCardInfoByPatientIdMethod, request);
        }

        public CompletableFuture<com.ywt.gapi.taihe.outpaitent.GetMedicalCardInfoByPatientIdResponse> getMedicalCardInfoByPatientIdAsync(com.ywt.gapi.taihe.outpaitent.GetMedicalCardInfoByPatientIdRequest request){
            return StubInvocationUtil.unaryCall(invoker, getMedicalCardInfoByPatientIdAsyncMethod, request);
        }

        @Override
        public void getMedicalCardInfoByPatientId(com.ywt.gapi.taihe.outpaitent.GetMedicalCardInfoByPatientIdRequest request, StreamObserver<com.ywt.gapi.taihe.outpaitent.GetMedicalCardInfoByPatientIdResponse> responseObserver){
            StubInvocationUtil.unaryCall(invoker, getMedicalCardInfoByPatientIdMethod , request, responseObserver);
        }
        @Override
        public com.ywt.gapi.taihe.outpaitent.GetOutpatientOrderByHisOrderNoResponse getOutpatientOrderByHisOrderNo(com.ywt.gapi.taihe.outpaitent.GetOutpatientOrderByHisOrderNoRequest request){
            return StubInvocationUtil.unaryCall(invoker, getOutpatientOrderByHisOrderNoMethod, request);
        }

        public CompletableFuture<com.ywt.gapi.taihe.outpaitent.GetOutpatientOrderByHisOrderNoResponse> getOutpatientOrderByHisOrderNoAsync(com.ywt.gapi.taihe.outpaitent.GetOutpatientOrderByHisOrderNoRequest request){
            return StubInvocationUtil.unaryCall(invoker, getOutpatientOrderByHisOrderNoAsyncMethod, request);
        }

        @Override
        public void getOutpatientOrderByHisOrderNo(com.ywt.gapi.taihe.outpaitent.GetOutpatientOrderByHisOrderNoRequest request, StreamObserver<com.ywt.gapi.taihe.outpaitent.GetOutpatientOrderByHisOrderNoResponse> responseObserver){
            StubInvocationUtil.unaryCall(invoker, getOutpatientOrderByHisOrderNoMethod , request, responseObserver);
        }
        @Override
        public com.ywt.gapi.taihe.outpaitent.BaseResult saveOutpatientOrderDetails(com.ywt.gapi.taihe.outpaitent.SaveOutpatientOrderDetailsRequest request){
            return StubInvocationUtil.unaryCall(invoker, saveOutpatientOrderDetailsMethod, request);
        }

        public CompletableFuture<com.ywt.gapi.taihe.outpaitent.BaseResult> saveOutpatientOrderDetailsAsync(com.ywt.gapi.taihe.outpaitent.SaveOutpatientOrderDetailsRequest request){
            return StubInvocationUtil.unaryCall(invoker, saveOutpatientOrderDetailsAsyncMethod, request);
        }

        @Override
        public void saveOutpatientOrderDetails(com.ywt.gapi.taihe.outpaitent.SaveOutpatientOrderDetailsRequest request, StreamObserver<com.ywt.gapi.taihe.outpaitent.BaseResult> responseObserver){
            StubInvocationUtil.unaryCall(invoker, saveOutpatientOrderDetailsMethod , request, responseObserver);
        }
        @Override
        public com.ywt.gapi.taihe.outpaitent.GetOutpatientOrderDetailResponse getOutpatientOrderDetail(com.ywt.gapi.taihe.outpaitent.GetOutpatientOrderDetailRequest request){
            return StubInvocationUtil.unaryCall(invoker, getOutpatientOrderDetailMethod, request);
        }

        public CompletableFuture<com.ywt.gapi.taihe.outpaitent.GetOutpatientOrderDetailResponse> getOutpatientOrderDetailAsync(com.ywt.gapi.taihe.outpaitent.GetOutpatientOrderDetailRequest request){
            return StubInvocationUtil.unaryCall(invoker, getOutpatientOrderDetailAsyncMethod, request);
        }

        @Override
        public void getOutpatientOrderDetail(com.ywt.gapi.taihe.outpaitent.GetOutpatientOrderDetailRequest request, StreamObserver<com.ywt.gapi.taihe.outpaitent.GetOutpatientOrderDetailResponse> responseObserver){
            StubInvocationUtil.unaryCall(invoker, getOutpatientOrderDetailMethod , request, responseObserver);
        }
        @Override
        public com.ywt.gapi.taihe.outpaitent.GetMedicalCardInfoByPatientIdResponse getMedicalCardInfoById(com.ywt.gapi.taihe.outpaitent.GetMedicalCardInfoByIdRequest request){
            return StubInvocationUtil.unaryCall(invoker, getMedicalCardInfoByIdMethod, request);
        }

        public CompletableFuture<com.ywt.gapi.taihe.outpaitent.GetMedicalCardInfoByPatientIdResponse> getMedicalCardInfoByIdAsync(com.ywt.gapi.taihe.outpaitent.GetMedicalCardInfoByIdRequest request){
            return StubInvocationUtil.unaryCall(invoker, getMedicalCardInfoByIdAsyncMethod, request);
        }

        @Override
        public void getMedicalCardInfoById(com.ywt.gapi.taihe.outpaitent.GetMedicalCardInfoByIdRequest request, StreamObserver<com.ywt.gapi.taihe.outpaitent.GetMedicalCardInfoByPatientIdResponse> responseObserver){
            StubInvocationUtil.unaryCall(invoker, getMedicalCardInfoByIdMethod , request, responseObserver);
        }
        @Override
        public com.ywt.gapi.taihe.outpaitent.UpdateOutpatientOrderResponse updateOutpatientOrder(com.ywt.gapi.taihe.outpaitent.UpdateOutpatientOrderRequest request){
            return StubInvocationUtil.unaryCall(invoker, updateOutpatientOrderMethod, request);
        }

        public CompletableFuture<com.ywt.gapi.taihe.outpaitent.UpdateOutpatientOrderResponse> updateOutpatientOrderAsync(com.ywt.gapi.taihe.outpaitent.UpdateOutpatientOrderRequest request){
            return StubInvocationUtil.unaryCall(invoker, updateOutpatientOrderAsyncMethod, request);
        }

        @Override
        public void updateOutpatientOrder(com.ywt.gapi.taihe.outpaitent.UpdateOutpatientOrderRequest request, StreamObserver<com.ywt.gapi.taihe.outpaitent.UpdateOutpatientOrderResponse> responseObserver){
            StubInvocationUtil.unaryCall(invoker, updateOutpatientOrderMethod , request, responseObserver);
        }
        @Override
        public com.ywt.gapi.taihe.outpaitent.GetLatestOutpatientOrderResponse getLatestOutpatientOrder(com.ywt.gapi.taihe.outpaitent.GetLatestOutpatientOrderRequest request){
            return StubInvocationUtil.unaryCall(invoker, getLatestOutpatientOrderMethod, request);
        }

        public CompletableFuture<com.ywt.gapi.taihe.outpaitent.GetLatestOutpatientOrderResponse> getLatestOutpatientOrderAsync(com.ywt.gapi.taihe.outpaitent.GetLatestOutpatientOrderRequest request){
            return StubInvocationUtil.unaryCall(invoker, getLatestOutpatientOrderAsyncMethod, request);
        }

        @Override
        public void getLatestOutpatientOrder(com.ywt.gapi.taihe.outpaitent.GetLatestOutpatientOrderRequest request, StreamObserver<com.ywt.gapi.taihe.outpaitent.GetLatestOutpatientOrderResponse> responseObserver){
            StubInvocationUtil.unaryCall(invoker, getLatestOutpatientOrderMethod , request, responseObserver);
        }
        @Override
        public com.ywt.gapi.taihe.outpaitent.GetOutPatientConfigResponse getOutpatientConfigs(com.ywt.gapi.taihe.outpaitent.GetOutPatientConfigRequest request){
            return StubInvocationUtil.unaryCall(invoker, getOutpatientConfigsMethod, request);
        }

        public CompletableFuture<com.ywt.gapi.taihe.outpaitent.GetOutPatientConfigResponse> getOutpatientConfigsAsync(com.ywt.gapi.taihe.outpaitent.GetOutPatientConfigRequest request){
            return StubInvocationUtil.unaryCall(invoker, getOutpatientConfigsAsyncMethod, request);
        }

        @Override
        public void getOutpatientConfigs(com.ywt.gapi.taihe.outpaitent.GetOutPatientConfigRequest request, StreamObserver<com.ywt.gapi.taihe.outpaitent.GetOutPatientConfigResponse> responseObserver){
            StubInvocationUtil.unaryCall(invoker, getOutpatientConfigsMethod , request, responseObserver);
        }
        @Override
        public com.ywt.gapi.taihe.outpaitent.CheckHasOutstandingOutpatientOrderResponse checkHasOutstandingOutpatientOrder(com.ywt.gapi.taihe.outpaitent.CheckHasOutstandingOutpatientOrderRequest request){
            return StubInvocationUtil.unaryCall(invoker, checkHasOutstandingOutpatientOrderMethod, request);
        }

        public CompletableFuture<com.ywt.gapi.taihe.outpaitent.CheckHasOutstandingOutpatientOrderResponse> checkHasOutstandingOutpatientOrderAsync(com.ywt.gapi.taihe.outpaitent.CheckHasOutstandingOutpatientOrderRequest request){
            return StubInvocationUtil.unaryCall(invoker, checkHasOutstandingOutpatientOrderAsyncMethod, request);
        }

        @Override
        public void checkHasOutstandingOutpatientOrder(com.ywt.gapi.taihe.outpaitent.CheckHasOutstandingOutpatientOrderRequest request, StreamObserver<com.ywt.gapi.taihe.outpaitent.CheckHasOutstandingOutpatientOrderResponse> responseObserver){
            StubInvocationUtil.unaryCall(invoker, checkHasOutstandingOutpatientOrderMethod , request, responseObserver);
        }
        @Override
        public com.ywt.gapi.taihe.outpaitent.GetOutpatientOrderDetailByInvoiceResponse getOutpatientOrderByInvoiceNo(com.ywt.gapi.taihe.outpaitent.GetOutpatientOrderDetailByInvoiceRequest request){
            return StubInvocationUtil.unaryCall(invoker, getOutpatientOrderByInvoiceNoMethod, request);
        }

        public CompletableFuture<com.ywt.gapi.taihe.outpaitent.GetOutpatientOrderDetailByInvoiceResponse> getOutpatientOrderByInvoiceNoAsync(com.ywt.gapi.taihe.outpaitent.GetOutpatientOrderDetailByInvoiceRequest request){
            return StubInvocationUtil.unaryCall(invoker, getOutpatientOrderByInvoiceNoAsyncMethod, request);
        }

        @Override
        public void getOutpatientOrderByInvoiceNo(com.ywt.gapi.taihe.outpaitent.GetOutpatientOrderDetailByInvoiceRequest request, StreamObserver<com.ywt.gapi.taihe.outpaitent.GetOutpatientOrderDetailByInvoiceResponse> responseObserver){
            StubInvocationUtil.unaryCall(invoker, getOutpatientOrderByInvoiceNoMethod , request, responseObserver);
        }



    }

    public static abstract class TaiheOutpatientServiceImplBase implements TaiheOutpatientService, ServerService<TaiheOutpatientService> {

        private <T, R> BiConsumer<T, StreamObserver<R>> syncToAsync(java.util.function.Function<T, R> syncFun) {
            return new BiConsumer<T, StreamObserver<R>>() {
                @Override
                public void accept(T t, StreamObserver<R> observer) {
                    try {
                        R ret = syncFun.apply(t);
                        observer.onNext(ret);
                        observer.onCompleted();
                    } catch (Throwable e) {
                        observer.onError(e);
                    }
                }
            };
        }

        @Override
        public final Invoker<TaiheOutpatientService> getInvoker(URL url) {
            PathResolver pathResolver = url.getOrDefaultFrameworkModel()
            .getExtensionLoader(PathResolver.class)
            .getDefaultExtension();
            Map<String,StubMethodHandler<?, ?>> handlers = new HashMap<>();

            pathResolver.addNativeStub( "/" + SERVICE_NAME + "/createOutpatient" );
            pathResolver.addNativeStub( "/" + SERVICE_NAME + "/createOutpatientAsync" );
            pathResolver.addNativeStub( "/" + SERVICE_NAME + "/payCallback" );
            pathResolver.addNativeStub( "/" + SERVICE_NAME + "/payCallbackAsync" );
            pathResolver.addNativeStub( "/" + SERVICE_NAME + "/getOutpatientQrcode" );
            pathResolver.addNativeStub( "/" + SERVICE_NAME + "/getOutpatientQrcodeAsync" );
            pathResolver.addNativeStub( "/" + SERVICE_NAME + "/getOutpatientDetail" );
            pathResolver.addNativeStub( "/" + SERVICE_NAME + "/getOutpatientDetailAsync" );
            pathResolver.addNativeStub( "/" + SERVICE_NAME + "/updateOutpatient" );
            pathResolver.addNativeStub( "/" + SERVICE_NAME + "/updateOutpatientAsync" );
            pathResolver.addNativeStub( "/" + SERVICE_NAME + "/refundOutpatientCallback" );
            pathResolver.addNativeStub( "/" + SERVICE_NAME + "/refundOutpatientCallbackAsync" );
            pathResolver.addNativeStub( "/" + SERVICE_NAME + "/getOutpatientList" );
            pathResolver.addNativeStub( "/" + SERVICE_NAME + "/getOutpatientListAsync" );
            pathResolver.addNativeStub( "/" + SERVICE_NAME + "/getMedicalCardInfoByPatientId" );
            pathResolver.addNativeStub( "/" + SERVICE_NAME + "/getMedicalCardInfoByPatientIdAsync" );
            pathResolver.addNativeStub( "/" + SERVICE_NAME + "/getOutpatientOrderByHisOrderNo" );
            pathResolver.addNativeStub( "/" + SERVICE_NAME + "/getOutpatientOrderByHisOrderNoAsync" );
            pathResolver.addNativeStub( "/" + SERVICE_NAME + "/saveOutpatientOrderDetails" );
            pathResolver.addNativeStub( "/" + SERVICE_NAME + "/saveOutpatientOrderDetailsAsync" );
            pathResolver.addNativeStub( "/" + SERVICE_NAME + "/getOutpatientOrderDetail" );
            pathResolver.addNativeStub( "/" + SERVICE_NAME + "/getOutpatientOrderDetailAsync" );
            pathResolver.addNativeStub( "/" + SERVICE_NAME + "/getMedicalCardInfoById" );
            pathResolver.addNativeStub( "/" + SERVICE_NAME + "/getMedicalCardInfoByIdAsync" );
            pathResolver.addNativeStub( "/" + SERVICE_NAME + "/updateOutpatientOrder" );
            pathResolver.addNativeStub( "/" + SERVICE_NAME + "/updateOutpatientOrderAsync" );
            pathResolver.addNativeStub( "/" + SERVICE_NAME + "/getLatestOutpatientOrder" );
            pathResolver.addNativeStub( "/" + SERVICE_NAME + "/getLatestOutpatientOrderAsync" );
            pathResolver.addNativeStub( "/" + SERVICE_NAME + "/getOutpatientConfigs" );
            pathResolver.addNativeStub( "/" + SERVICE_NAME + "/getOutpatientConfigsAsync" );
            pathResolver.addNativeStub( "/" + SERVICE_NAME + "/checkHasOutstandingOutpatientOrder" );
            pathResolver.addNativeStub( "/" + SERVICE_NAME + "/checkHasOutstandingOutpatientOrderAsync" );
            pathResolver.addNativeStub( "/" + SERVICE_NAME + "/getOutpatientOrderByInvoiceNo" );
            pathResolver.addNativeStub( "/" + SERVICE_NAME + "/getOutpatientOrderByInvoiceNoAsync" );

            BiConsumer<com.ywt.gapi.taihe.outpaitent.CreateOutpatientRequest, StreamObserver<com.ywt.gapi.taihe.outpaitent.CreateOutpatientResponse>> createOutpatientFunc = this::createOutpatient;
            handlers.put(createOutpatientMethod.getMethodName(), new UnaryStubMethodHandler<>(createOutpatientFunc));
            BiConsumer<com.ywt.gapi.taihe.outpaitent.CreateOutpatientRequest, StreamObserver<com.ywt.gapi.taihe.outpaitent.CreateOutpatientResponse>> createOutpatientAsyncFunc = syncToAsync(this::createOutpatient);
            handlers.put(createOutpatientProxyAsyncMethod.getMethodName(), new UnaryStubMethodHandler<>(createOutpatientAsyncFunc));
            BiConsumer<com.ywt.gapi.taihe.outpaitent.PayCallbackRequest, StreamObserver<com.ywt.gapi.taihe.outpaitent.PayCallbackResponse>> payCallbackFunc = this::payCallback;
            handlers.put(payCallbackMethod.getMethodName(), new UnaryStubMethodHandler<>(payCallbackFunc));
            BiConsumer<com.ywt.gapi.taihe.outpaitent.PayCallbackRequest, StreamObserver<com.ywt.gapi.taihe.outpaitent.PayCallbackResponse>> payCallbackAsyncFunc = syncToAsync(this::payCallback);
            handlers.put(payCallbackProxyAsyncMethod.getMethodName(), new UnaryStubMethodHandler<>(payCallbackAsyncFunc));
            BiConsumer<com.ywt.gapi.taihe.outpaitent.GetOutpatientQrcodeRequest, StreamObserver<com.ywt.gapi.taihe.outpaitent.GetOutpatientQrcodeResponse>> getOutpatientQrcodeFunc = this::getOutpatientQrcode;
            handlers.put(getOutpatientQrcodeMethod.getMethodName(), new UnaryStubMethodHandler<>(getOutpatientQrcodeFunc));
            BiConsumer<com.ywt.gapi.taihe.outpaitent.GetOutpatientQrcodeRequest, StreamObserver<com.ywt.gapi.taihe.outpaitent.GetOutpatientQrcodeResponse>> getOutpatientQrcodeAsyncFunc = syncToAsync(this::getOutpatientQrcode);
            handlers.put(getOutpatientQrcodeProxyAsyncMethod.getMethodName(), new UnaryStubMethodHandler<>(getOutpatientQrcodeAsyncFunc));
            BiConsumer<com.ywt.gapi.taihe.outpaitent.GetOutpatientDetailRequest, StreamObserver<com.ywt.gapi.taihe.outpaitent.GetOutpatientDetailResponse>> getOutpatientDetailFunc = this::getOutpatientDetail;
            handlers.put(getOutpatientDetailMethod.getMethodName(), new UnaryStubMethodHandler<>(getOutpatientDetailFunc));
            BiConsumer<com.ywt.gapi.taihe.outpaitent.GetOutpatientDetailRequest, StreamObserver<com.ywt.gapi.taihe.outpaitent.GetOutpatientDetailResponse>> getOutpatientDetailAsyncFunc = syncToAsync(this::getOutpatientDetail);
            handlers.put(getOutpatientDetailProxyAsyncMethod.getMethodName(), new UnaryStubMethodHandler<>(getOutpatientDetailAsyncFunc));
            BiConsumer<com.ywt.gapi.taihe.outpaitent.UpdateOutpatientRequest, StreamObserver<com.ywt.gapi.taihe.outpaitent.UpdateOutpatientResponse>> updateOutpatientFunc = this::updateOutpatient;
            handlers.put(updateOutpatientMethod.getMethodName(), new UnaryStubMethodHandler<>(updateOutpatientFunc));
            BiConsumer<com.ywt.gapi.taihe.outpaitent.UpdateOutpatientRequest, StreamObserver<com.ywt.gapi.taihe.outpaitent.UpdateOutpatientResponse>> updateOutpatientAsyncFunc = syncToAsync(this::updateOutpatient);
            handlers.put(updateOutpatientProxyAsyncMethod.getMethodName(), new UnaryStubMethodHandler<>(updateOutpatientAsyncFunc));
            BiConsumer<com.ywt.gapi.taihe.outpaitent.RefundOutpatientCallbackRequest, StreamObserver<com.ywt.gapi.taihe.outpaitent.RefundOutpatientCallbackResponse>> refundOutpatientCallbackFunc = this::refundOutpatientCallback;
            handlers.put(refundOutpatientCallbackMethod.getMethodName(), new UnaryStubMethodHandler<>(refundOutpatientCallbackFunc));
            BiConsumer<com.ywt.gapi.taihe.outpaitent.RefundOutpatientCallbackRequest, StreamObserver<com.ywt.gapi.taihe.outpaitent.RefundOutpatientCallbackResponse>> refundOutpatientCallbackAsyncFunc = syncToAsync(this::refundOutpatientCallback);
            handlers.put(refundOutpatientCallbackProxyAsyncMethod.getMethodName(), new UnaryStubMethodHandler<>(refundOutpatientCallbackAsyncFunc));
            BiConsumer<com.ywt.gapi.taihe.outpaitent.GetOutpatientListRequest, StreamObserver<com.ywt.gapi.taihe.outpaitent.GetOutpatientListResponse>> getOutpatientListFunc = this::getOutpatientList;
            handlers.put(getOutpatientListMethod.getMethodName(), new UnaryStubMethodHandler<>(getOutpatientListFunc));
            BiConsumer<com.ywt.gapi.taihe.outpaitent.GetOutpatientListRequest, StreamObserver<com.ywt.gapi.taihe.outpaitent.GetOutpatientListResponse>> getOutpatientListAsyncFunc = syncToAsync(this::getOutpatientList);
            handlers.put(getOutpatientListProxyAsyncMethod.getMethodName(), new UnaryStubMethodHandler<>(getOutpatientListAsyncFunc));
            BiConsumer<com.ywt.gapi.taihe.outpaitent.GetMedicalCardInfoByPatientIdRequest, StreamObserver<com.ywt.gapi.taihe.outpaitent.GetMedicalCardInfoByPatientIdResponse>> getMedicalCardInfoByPatientIdFunc = this::getMedicalCardInfoByPatientId;
            handlers.put(getMedicalCardInfoByPatientIdMethod.getMethodName(), new UnaryStubMethodHandler<>(getMedicalCardInfoByPatientIdFunc));
            BiConsumer<com.ywt.gapi.taihe.outpaitent.GetMedicalCardInfoByPatientIdRequest, StreamObserver<com.ywt.gapi.taihe.outpaitent.GetMedicalCardInfoByPatientIdResponse>> getMedicalCardInfoByPatientIdAsyncFunc = syncToAsync(this::getMedicalCardInfoByPatientId);
            handlers.put(getMedicalCardInfoByPatientIdProxyAsyncMethod.getMethodName(), new UnaryStubMethodHandler<>(getMedicalCardInfoByPatientIdAsyncFunc));
            BiConsumer<com.ywt.gapi.taihe.outpaitent.GetOutpatientOrderByHisOrderNoRequest, StreamObserver<com.ywt.gapi.taihe.outpaitent.GetOutpatientOrderByHisOrderNoResponse>> getOutpatientOrderByHisOrderNoFunc = this::getOutpatientOrderByHisOrderNo;
            handlers.put(getOutpatientOrderByHisOrderNoMethod.getMethodName(), new UnaryStubMethodHandler<>(getOutpatientOrderByHisOrderNoFunc));
            BiConsumer<com.ywt.gapi.taihe.outpaitent.GetOutpatientOrderByHisOrderNoRequest, StreamObserver<com.ywt.gapi.taihe.outpaitent.GetOutpatientOrderByHisOrderNoResponse>> getOutpatientOrderByHisOrderNoAsyncFunc = syncToAsync(this::getOutpatientOrderByHisOrderNo);
            handlers.put(getOutpatientOrderByHisOrderNoProxyAsyncMethod.getMethodName(), new UnaryStubMethodHandler<>(getOutpatientOrderByHisOrderNoAsyncFunc));
            BiConsumer<com.ywt.gapi.taihe.outpaitent.SaveOutpatientOrderDetailsRequest, StreamObserver<com.ywt.gapi.taihe.outpaitent.BaseResult>> saveOutpatientOrderDetailsFunc = this::saveOutpatientOrderDetails;
            handlers.put(saveOutpatientOrderDetailsMethod.getMethodName(), new UnaryStubMethodHandler<>(saveOutpatientOrderDetailsFunc));
            BiConsumer<com.ywt.gapi.taihe.outpaitent.SaveOutpatientOrderDetailsRequest, StreamObserver<com.ywt.gapi.taihe.outpaitent.BaseResult>> saveOutpatientOrderDetailsAsyncFunc = syncToAsync(this::saveOutpatientOrderDetails);
            handlers.put(saveOutpatientOrderDetailsProxyAsyncMethod.getMethodName(), new UnaryStubMethodHandler<>(saveOutpatientOrderDetailsAsyncFunc));
            BiConsumer<com.ywt.gapi.taihe.outpaitent.GetOutpatientOrderDetailRequest, StreamObserver<com.ywt.gapi.taihe.outpaitent.GetOutpatientOrderDetailResponse>> getOutpatientOrderDetailFunc = this::getOutpatientOrderDetail;
            handlers.put(getOutpatientOrderDetailMethod.getMethodName(), new UnaryStubMethodHandler<>(getOutpatientOrderDetailFunc));
            BiConsumer<com.ywt.gapi.taihe.outpaitent.GetOutpatientOrderDetailRequest, StreamObserver<com.ywt.gapi.taihe.outpaitent.GetOutpatientOrderDetailResponse>> getOutpatientOrderDetailAsyncFunc = syncToAsync(this::getOutpatientOrderDetail);
            handlers.put(getOutpatientOrderDetailProxyAsyncMethod.getMethodName(), new UnaryStubMethodHandler<>(getOutpatientOrderDetailAsyncFunc));
            BiConsumer<com.ywt.gapi.taihe.outpaitent.GetMedicalCardInfoByIdRequest, StreamObserver<com.ywt.gapi.taihe.outpaitent.GetMedicalCardInfoByPatientIdResponse>> getMedicalCardInfoByIdFunc = this::getMedicalCardInfoById;
            handlers.put(getMedicalCardInfoByIdMethod.getMethodName(), new UnaryStubMethodHandler<>(getMedicalCardInfoByIdFunc));
            BiConsumer<com.ywt.gapi.taihe.outpaitent.GetMedicalCardInfoByIdRequest, StreamObserver<com.ywt.gapi.taihe.outpaitent.GetMedicalCardInfoByPatientIdResponse>> getMedicalCardInfoByIdAsyncFunc = syncToAsync(this::getMedicalCardInfoById);
            handlers.put(getMedicalCardInfoByIdProxyAsyncMethod.getMethodName(), new UnaryStubMethodHandler<>(getMedicalCardInfoByIdAsyncFunc));
            BiConsumer<com.ywt.gapi.taihe.outpaitent.UpdateOutpatientOrderRequest, StreamObserver<com.ywt.gapi.taihe.outpaitent.UpdateOutpatientOrderResponse>> updateOutpatientOrderFunc = this::updateOutpatientOrder;
            handlers.put(updateOutpatientOrderMethod.getMethodName(), new UnaryStubMethodHandler<>(updateOutpatientOrderFunc));
            BiConsumer<com.ywt.gapi.taihe.outpaitent.UpdateOutpatientOrderRequest, StreamObserver<com.ywt.gapi.taihe.outpaitent.UpdateOutpatientOrderResponse>> updateOutpatientOrderAsyncFunc = syncToAsync(this::updateOutpatientOrder);
            handlers.put(updateOutpatientOrderProxyAsyncMethod.getMethodName(), new UnaryStubMethodHandler<>(updateOutpatientOrderAsyncFunc));
            BiConsumer<com.ywt.gapi.taihe.outpaitent.GetLatestOutpatientOrderRequest, StreamObserver<com.ywt.gapi.taihe.outpaitent.GetLatestOutpatientOrderResponse>> getLatestOutpatientOrderFunc = this::getLatestOutpatientOrder;
            handlers.put(getLatestOutpatientOrderMethod.getMethodName(), new UnaryStubMethodHandler<>(getLatestOutpatientOrderFunc));
            BiConsumer<com.ywt.gapi.taihe.outpaitent.GetLatestOutpatientOrderRequest, StreamObserver<com.ywt.gapi.taihe.outpaitent.GetLatestOutpatientOrderResponse>> getLatestOutpatientOrderAsyncFunc = syncToAsync(this::getLatestOutpatientOrder);
            handlers.put(getLatestOutpatientOrderProxyAsyncMethod.getMethodName(), new UnaryStubMethodHandler<>(getLatestOutpatientOrderAsyncFunc));
            BiConsumer<com.ywt.gapi.taihe.outpaitent.GetOutPatientConfigRequest, StreamObserver<com.ywt.gapi.taihe.outpaitent.GetOutPatientConfigResponse>> getOutpatientConfigsFunc = this::getOutpatientConfigs;
            handlers.put(getOutpatientConfigsMethod.getMethodName(), new UnaryStubMethodHandler<>(getOutpatientConfigsFunc));
            BiConsumer<com.ywt.gapi.taihe.outpaitent.GetOutPatientConfigRequest, StreamObserver<com.ywt.gapi.taihe.outpaitent.GetOutPatientConfigResponse>> getOutpatientConfigsAsyncFunc = syncToAsync(this::getOutpatientConfigs);
            handlers.put(getOutpatientConfigsProxyAsyncMethod.getMethodName(), new UnaryStubMethodHandler<>(getOutpatientConfigsAsyncFunc));
            BiConsumer<com.ywt.gapi.taihe.outpaitent.CheckHasOutstandingOutpatientOrderRequest, StreamObserver<com.ywt.gapi.taihe.outpaitent.CheckHasOutstandingOutpatientOrderResponse>> checkHasOutstandingOutpatientOrderFunc = this::checkHasOutstandingOutpatientOrder;
            handlers.put(checkHasOutstandingOutpatientOrderMethod.getMethodName(), new UnaryStubMethodHandler<>(checkHasOutstandingOutpatientOrderFunc));
            BiConsumer<com.ywt.gapi.taihe.outpaitent.CheckHasOutstandingOutpatientOrderRequest, StreamObserver<com.ywt.gapi.taihe.outpaitent.CheckHasOutstandingOutpatientOrderResponse>> checkHasOutstandingOutpatientOrderAsyncFunc = syncToAsync(this::checkHasOutstandingOutpatientOrder);
            handlers.put(checkHasOutstandingOutpatientOrderProxyAsyncMethod.getMethodName(), new UnaryStubMethodHandler<>(checkHasOutstandingOutpatientOrderAsyncFunc));
            BiConsumer<com.ywt.gapi.taihe.outpaitent.GetOutpatientOrderDetailByInvoiceRequest, StreamObserver<com.ywt.gapi.taihe.outpaitent.GetOutpatientOrderDetailByInvoiceResponse>> getOutpatientOrderByInvoiceNoFunc = this::getOutpatientOrderByInvoiceNo;
            handlers.put(getOutpatientOrderByInvoiceNoMethod.getMethodName(), new UnaryStubMethodHandler<>(getOutpatientOrderByInvoiceNoFunc));
            BiConsumer<com.ywt.gapi.taihe.outpaitent.GetOutpatientOrderDetailByInvoiceRequest, StreamObserver<com.ywt.gapi.taihe.outpaitent.GetOutpatientOrderDetailByInvoiceResponse>> getOutpatientOrderByInvoiceNoAsyncFunc = syncToAsync(this::getOutpatientOrderByInvoiceNo);
            handlers.put(getOutpatientOrderByInvoiceNoProxyAsyncMethod.getMethodName(), new UnaryStubMethodHandler<>(getOutpatientOrderByInvoiceNoAsyncFunc));




            return new StubInvoker<>(this, url, TaiheOutpatientService.class, handlers);
        }


        @Override
        public com.ywt.gapi.taihe.outpaitent.CreateOutpatientResponse createOutpatient(com.ywt.gapi.taihe.outpaitent.CreateOutpatientRequest request){
            throw unimplementedMethodException(createOutpatientMethod);
        }

        @Override
        public com.ywt.gapi.taihe.outpaitent.PayCallbackResponse payCallback(com.ywt.gapi.taihe.outpaitent.PayCallbackRequest request){
            throw unimplementedMethodException(payCallbackMethod);
        }

        @Override
        public com.ywt.gapi.taihe.outpaitent.GetOutpatientQrcodeResponse getOutpatientQrcode(com.ywt.gapi.taihe.outpaitent.GetOutpatientQrcodeRequest request){
            throw unimplementedMethodException(getOutpatientQrcodeMethod);
        }

        @Override
        public com.ywt.gapi.taihe.outpaitent.GetOutpatientDetailResponse getOutpatientDetail(com.ywt.gapi.taihe.outpaitent.GetOutpatientDetailRequest request){
            throw unimplementedMethodException(getOutpatientDetailMethod);
        }

        @Override
        public com.ywt.gapi.taihe.outpaitent.UpdateOutpatientResponse updateOutpatient(com.ywt.gapi.taihe.outpaitent.UpdateOutpatientRequest request){
            throw unimplementedMethodException(updateOutpatientMethod);
        }

        @Override
        public com.ywt.gapi.taihe.outpaitent.RefundOutpatientCallbackResponse refundOutpatientCallback(com.ywt.gapi.taihe.outpaitent.RefundOutpatientCallbackRequest request){
            throw unimplementedMethodException(refundOutpatientCallbackMethod);
        }

        @Override
        public com.ywt.gapi.taihe.outpaitent.GetOutpatientListResponse getOutpatientList(com.ywt.gapi.taihe.outpaitent.GetOutpatientListRequest request){
            throw unimplementedMethodException(getOutpatientListMethod);
        }

        @Override
        public com.ywt.gapi.taihe.outpaitent.GetMedicalCardInfoByPatientIdResponse getMedicalCardInfoByPatientId(com.ywt.gapi.taihe.outpaitent.GetMedicalCardInfoByPatientIdRequest request){
            throw unimplementedMethodException(getMedicalCardInfoByPatientIdMethod);
        }

        @Override
        public com.ywt.gapi.taihe.outpaitent.GetOutpatientOrderByHisOrderNoResponse getOutpatientOrderByHisOrderNo(com.ywt.gapi.taihe.outpaitent.GetOutpatientOrderByHisOrderNoRequest request){
            throw unimplementedMethodException(getOutpatientOrderByHisOrderNoMethod);
        }

        @Override
        public com.ywt.gapi.taihe.outpaitent.BaseResult saveOutpatientOrderDetails(com.ywt.gapi.taihe.outpaitent.SaveOutpatientOrderDetailsRequest request){
            throw unimplementedMethodException(saveOutpatientOrderDetailsMethod);
        }

        @Override
        public com.ywt.gapi.taihe.outpaitent.GetOutpatientOrderDetailResponse getOutpatientOrderDetail(com.ywt.gapi.taihe.outpaitent.GetOutpatientOrderDetailRequest request){
            throw unimplementedMethodException(getOutpatientOrderDetailMethod);
        }

        @Override
        public com.ywt.gapi.taihe.outpaitent.GetMedicalCardInfoByPatientIdResponse getMedicalCardInfoById(com.ywt.gapi.taihe.outpaitent.GetMedicalCardInfoByIdRequest request){
            throw unimplementedMethodException(getMedicalCardInfoByIdMethod);
        }

        @Override
        public com.ywt.gapi.taihe.outpaitent.UpdateOutpatientOrderResponse updateOutpatientOrder(com.ywt.gapi.taihe.outpaitent.UpdateOutpatientOrderRequest request){
            throw unimplementedMethodException(updateOutpatientOrderMethod);
        }

        @Override
        public com.ywt.gapi.taihe.outpaitent.GetLatestOutpatientOrderResponse getLatestOutpatientOrder(com.ywt.gapi.taihe.outpaitent.GetLatestOutpatientOrderRequest request){
            throw unimplementedMethodException(getLatestOutpatientOrderMethod);
        }

        @Override
        public com.ywt.gapi.taihe.outpaitent.GetOutPatientConfigResponse getOutpatientConfigs(com.ywt.gapi.taihe.outpaitent.GetOutPatientConfigRequest request){
            throw unimplementedMethodException(getOutpatientConfigsMethod);
        }

        @Override
        public com.ywt.gapi.taihe.outpaitent.CheckHasOutstandingOutpatientOrderResponse checkHasOutstandingOutpatientOrder(com.ywt.gapi.taihe.outpaitent.CheckHasOutstandingOutpatientOrderRequest request){
            throw unimplementedMethodException(checkHasOutstandingOutpatientOrderMethod);
        }

        @Override
        public com.ywt.gapi.taihe.outpaitent.GetOutpatientOrderDetailByInvoiceResponse getOutpatientOrderByInvoiceNo(com.ywt.gapi.taihe.outpaitent.GetOutpatientOrderDetailByInvoiceRequest request){
            throw unimplementedMethodException(getOutpatientOrderByInvoiceNoMethod);
        }





        @Override
        public final ServiceDescriptor getServiceDescriptor() {
            return serviceDescriptor;
        }
        private RpcException unimplementedMethodException(StubMethodDescriptor methodDescriptor) {
            return TriRpcStatus.UNIMPLEMENTED.withDescription(String.format("Method %s is unimplemented",
                "/" + serviceDescriptor.getInterfaceName() + "/" + methodDescriptor.getMethodName())).asException();
        }
    }

}
