/*
* 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.register;

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 DubboTaiheRegisterServiceTriple {

    public static final String SERVICE_NAME = TaiheRegisterService.SERVICE_NAME;

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

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

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

    /**
         * <pre>
         * 医生职称
         * </pre>
         */
    private static final StubMethodDescriptor createRegisteredMethod = new StubMethodDescriptor("createRegistered",
    com.ywt.gapi.taihe.register.CreateRegisteredRequest.class, com.ywt.gapi.taihe.register.CreateRegisteredResponse.class, serviceDescriptor, MethodDescriptor.RpcType.UNARY,
    obj -> ((Message) obj).toByteArray(), obj -> ((Message) obj).toByteArray(), com.ywt.gapi.taihe.register.CreateRegisteredRequest::parseFrom,
    com.ywt.gapi.taihe.register.CreateRegisteredResponse::parseFrom);

    private static final StubMethodDescriptor createRegisteredAsyncMethod = new StubMethodDescriptor("createRegistered",
    com.ywt.gapi.taihe.register.CreateRegisteredRequest.class, java.util.concurrent.CompletableFuture.class, serviceDescriptor, MethodDescriptor.RpcType.UNARY,
    obj -> ((Message) obj).toByteArray(), obj -> ((Message) obj).toByteArray(), com.ywt.gapi.taihe.register.CreateRegisteredRequest::parseFrom,
    com.ywt.gapi.taihe.register.CreateRegisteredResponse::parseFrom);

    private static final StubMethodDescriptor createRegisteredProxyAsyncMethod = new StubMethodDescriptor("createRegisteredAsync",
    com.ywt.gapi.taihe.register.CreateRegisteredRequest.class, com.ywt.gapi.taihe.register.CreateRegisteredResponse.class, serviceDescriptor, MethodDescriptor.RpcType.UNARY,
    obj -> ((Message) obj).toByteArray(), obj -> ((Message) obj).toByteArray(), com.ywt.gapi.taihe.register.CreateRegisteredRequest::parseFrom,
    com.ywt.gapi.taihe.register.CreateRegisteredResponse::parseFrom);

    /**
         * <pre>
         * 科室Code
         * </pre>
         */
    private static final StubMethodDescriptor cancelRegisteredMethod = new StubMethodDescriptor("cancelRegistered",
    com.ywt.gapi.taihe.register.CancelRegisteredRequest.class, com.ywt.gapi.taihe.register.CancelRegisteredResponse.class, serviceDescriptor, MethodDescriptor.RpcType.UNARY,
    obj -> ((Message) obj).toByteArray(), obj -> ((Message) obj).toByteArray(), com.ywt.gapi.taihe.register.CancelRegisteredRequest::parseFrom,
    com.ywt.gapi.taihe.register.CancelRegisteredResponse::parseFrom);

    private static final StubMethodDescriptor cancelRegisteredAsyncMethod = new StubMethodDescriptor("cancelRegistered",
    com.ywt.gapi.taihe.register.CancelRegisteredRequest.class, java.util.concurrent.CompletableFuture.class, serviceDescriptor, MethodDescriptor.RpcType.UNARY,
    obj -> ((Message) obj).toByteArray(), obj -> ((Message) obj).toByteArray(), com.ywt.gapi.taihe.register.CancelRegisteredRequest::parseFrom,
    com.ywt.gapi.taihe.register.CancelRegisteredResponse::parseFrom);

    private static final StubMethodDescriptor cancelRegisteredProxyAsyncMethod = new StubMethodDescriptor("cancelRegisteredAsync",
    com.ywt.gapi.taihe.register.CancelRegisteredRequest.class, com.ywt.gapi.taihe.register.CancelRegisteredResponse.class, serviceDescriptor, MethodDescriptor.RpcType.UNARY,
    obj -> ((Message) obj).toByteArray(), obj -> ((Message) obj).toByteArray(), com.ywt.gapi.taihe.register.CancelRegisteredRequest::parseFrom,
    com.ywt.gapi.taihe.register.CancelRegisteredResponse::parseFrom);

    /**
         * <pre>
         * 科室名称
         * </pre>
         */
    private static final StubMethodDescriptor payCallbackMethod = new StubMethodDescriptor("payCallback",
    com.ywt.gapi.taihe.register.PayCallbackRequest.class, com.ywt.gapi.taihe.register.PayCallbackResponse.class, serviceDescriptor, MethodDescriptor.RpcType.UNARY,
    obj -> ((Message) obj).toByteArray(), obj -> ((Message) obj).toByteArray(), com.ywt.gapi.taihe.register.PayCallbackRequest::parseFrom,
    com.ywt.gapi.taihe.register.PayCallbackResponse::parseFrom);

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

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

    /**
         * <pre>
         * 医生Code
         * </pre>
         */
    private static final StubMethodDescriptor refundCallbackMethod = new StubMethodDescriptor("refundCallback",
    com.ywt.gapi.taihe.register.RefundCallbackRequest.class, com.ywt.gapi.taihe.register.RefundCallbackResponse.class, serviceDescriptor, MethodDescriptor.RpcType.UNARY,
    obj -> ((Message) obj).toByteArray(), obj -> ((Message) obj).toByteArray(), com.ywt.gapi.taihe.register.RefundCallbackRequest::parseFrom,
    com.ywt.gapi.taihe.register.RefundCallbackResponse::parseFrom);

    private static final StubMethodDescriptor refundCallbackAsyncMethod = new StubMethodDescriptor("refundCallback",
    com.ywt.gapi.taihe.register.RefundCallbackRequest.class, java.util.concurrent.CompletableFuture.class, serviceDescriptor, MethodDescriptor.RpcType.UNARY,
    obj -> ((Message) obj).toByteArray(), obj -> ((Message) obj).toByteArray(), com.ywt.gapi.taihe.register.RefundCallbackRequest::parseFrom,
    com.ywt.gapi.taihe.register.RefundCallbackResponse::parseFrom);

    private static final StubMethodDescriptor refundCallbackProxyAsyncMethod = new StubMethodDescriptor("refundCallbackAsync",
    com.ywt.gapi.taihe.register.RefundCallbackRequest.class, com.ywt.gapi.taihe.register.RefundCallbackResponse.class, serviceDescriptor, MethodDescriptor.RpcType.UNARY,
    obj -> ((Message) obj).toByteArray(), obj -> ((Message) obj).toByteArray(), com.ywt.gapi.taihe.register.RefundCallbackRequest::parseFrom,
    com.ywt.gapi.taihe.register.RefundCallbackResponse::parseFrom);

    /**
         * <pre>
         * 医生名称
         * </pre>
         */
    private static final StubMethodDescriptor registerMethod = new StubMethodDescriptor("register",
    com.ywt.gapi.taihe.register.RegisterRequest.class, com.ywt.gapi.taihe.register.RegisterResponse.class, serviceDescriptor, MethodDescriptor.RpcType.UNARY,
    obj -> ((Message) obj).toByteArray(), obj -> ((Message) obj).toByteArray(), com.ywt.gapi.taihe.register.RegisterRequest::parseFrom,
    com.ywt.gapi.taihe.register.RegisterResponse::parseFrom);

    private static final StubMethodDescriptor registerAsyncMethod = new StubMethodDescriptor("register",
    com.ywt.gapi.taihe.register.RegisterRequest.class, java.util.concurrent.CompletableFuture.class, serviceDescriptor, MethodDescriptor.RpcType.UNARY,
    obj -> ((Message) obj).toByteArray(), obj -> ((Message) obj).toByteArray(), com.ywt.gapi.taihe.register.RegisterRequest::parseFrom,
    com.ywt.gapi.taihe.register.RegisterResponse::parseFrom);

    private static final StubMethodDescriptor registerProxyAsyncMethod = new StubMethodDescriptor("registerAsync",
    com.ywt.gapi.taihe.register.RegisterRequest.class, com.ywt.gapi.taihe.register.RegisterResponse.class, serviceDescriptor, MethodDescriptor.RpcType.UNARY,
    obj -> ((Message) obj).toByteArray(), obj -> ((Message) obj).toByteArray(), com.ywt.gapi.taihe.register.RegisterRequest::parseFrom,
    com.ywt.gapi.taihe.register.RegisterResponse::parseFrom);

    /**
         * <pre>
         * 预约挂号总费用
         * </pre>
         */
    private static final StubMethodDescriptor takeMethod = new StubMethodDescriptor("take",
    com.ywt.gapi.taihe.register.TakeRequest.class, com.ywt.gapi.taihe.register.TakeResponse.class, serviceDescriptor, MethodDescriptor.RpcType.UNARY,
    obj -> ((Message) obj).toByteArray(), obj -> ((Message) obj).toByteArray(), com.ywt.gapi.taihe.register.TakeRequest::parseFrom,
    com.ywt.gapi.taihe.register.TakeResponse::parseFrom);

    private static final StubMethodDescriptor takeAsyncMethod = new StubMethodDescriptor("take",
    com.ywt.gapi.taihe.register.TakeRequest.class, java.util.concurrent.CompletableFuture.class, serviceDescriptor, MethodDescriptor.RpcType.UNARY,
    obj -> ((Message) obj).toByteArray(), obj -> ((Message) obj).toByteArray(), com.ywt.gapi.taihe.register.TakeRequest::parseFrom,
    com.ywt.gapi.taihe.register.TakeResponse::parseFrom);

    private static final StubMethodDescriptor takeProxyAsyncMethod = new StubMethodDescriptor("takeAsync",
    com.ywt.gapi.taihe.register.TakeRequest.class, com.ywt.gapi.taihe.register.TakeResponse.class, serviceDescriptor, MethodDescriptor.RpcType.UNARY,
    obj -> ((Message) obj).toByteArray(), obj -> ((Message) obj).toByteArray(), com.ywt.gapi.taihe.register.TakeRequest::parseFrom,
    com.ywt.gapi.taihe.register.TakeResponse::parseFrom);

    /**
         * <pre>
         * 挂号费
         * </pre>
         */
    private static final StubMethodDescriptor getQueueListMethod = new StubMethodDescriptor("getQueueList",
    com.ywt.gapi.taihe.register.GetQueueListRequest.class, com.ywt.gapi.taihe.register.GetQueueListResponse.class, serviceDescriptor, MethodDescriptor.RpcType.UNARY,
    obj -> ((Message) obj).toByteArray(), obj -> ((Message) obj).toByteArray(), com.ywt.gapi.taihe.register.GetQueueListRequest::parseFrom,
    com.ywt.gapi.taihe.register.GetQueueListResponse::parseFrom);

    private static final StubMethodDescriptor getQueueListAsyncMethod = new StubMethodDescriptor("getQueueList",
    com.ywt.gapi.taihe.register.GetQueueListRequest.class, java.util.concurrent.CompletableFuture.class, serviceDescriptor, MethodDescriptor.RpcType.UNARY,
    obj -> ((Message) obj).toByteArray(), obj -> ((Message) obj).toByteArray(), com.ywt.gapi.taihe.register.GetQueueListRequest::parseFrom,
    com.ywt.gapi.taihe.register.GetQueueListResponse::parseFrom);

    private static final StubMethodDescriptor getQueueListProxyAsyncMethod = new StubMethodDescriptor("getQueueListAsync",
    com.ywt.gapi.taihe.register.GetQueueListRequest.class, com.ywt.gapi.taihe.register.GetQueueListResponse.class, serviceDescriptor, MethodDescriptor.RpcType.UNARY,
    obj -> ((Message) obj).toByteArray(), obj -> ((Message) obj).toByteArray(), com.ywt.gapi.taihe.register.GetQueueListRequest::parseFrom,
    com.ywt.gapi.taihe.register.GetQueueListResponse::parseFrom);

    /**
         * <pre>
         * 诊查费
         * </pre>
         */
    private static final StubMethodDescriptor getCommonOrderListMethod = new StubMethodDescriptor("getCommonOrderList",
    com.ywt.gapi.taihe.register.GetCommonOrderListRequest.class, com.ywt.gapi.taihe.register.GetCommonOrderListResponse.class, serviceDescriptor, MethodDescriptor.RpcType.UNARY,
    obj -> ((Message) obj).toByteArray(), obj -> ((Message) obj).toByteArray(), com.ywt.gapi.taihe.register.GetCommonOrderListRequest::parseFrom,
    com.ywt.gapi.taihe.register.GetCommonOrderListResponse::parseFrom);

    private static final StubMethodDescriptor getCommonOrderListAsyncMethod = new StubMethodDescriptor("getCommonOrderList",
    com.ywt.gapi.taihe.register.GetCommonOrderListRequest.class, java.util.concurrent.CompletableFuture.class, serviceDescriptor, MethodDescriptor.RpcType.UNARY,
    obj -> ((Message) obj).toByteArray(), obj -> ((Message) obj).toByteArray(), com.ywt.gapi.taihe.register.GetCommonOrderListRequest::parseFrom,
    com.ywt.gapi.taihe.register.GetCommonOrderListResponse::parseFrom);

    private static final StubMethodDescriptor getCommonOrderListProxyAsyncMethod = new StubMethodDescriptor("getCommonOrderListAsync",
    com.ywt.gapi.taihe.register.GetCommonOrderListRequest.class, com.ywt.gapi.taihe.register.GetCommonOrderListResponse.class, serviceDescriptor, MethodDescriptor.RpcType.UNARY,
    obj -> ((Message) obj).toByteArray(), obj -> ((Message) obj).toByteArray(), com.ywt.gapi.taihe.register.GetCommonOrderListRequest::parseFrom,
    com.ywt.gapi.taihe.register.GetCommonOrderListResponse::parseFrom);

    /**
         * <pre>
         * 预约日期
         * </pre>
         */
    private static final StubMethodDescriptor getRegisteredListMethod = new StubMethodDescriptor("getRegisteredList",
    com.ywt.gapi.taihe.register.GetRegisteredListRequest.class, com.ywt.gapi.taihe.register.GetRegisteredListResponse.class, serviceDescriptor, MethodDescriptor.RpcType.UNARY,
    obj -> ((Message) obj).toByteArray(), obj -> ((Message) obj).toByteArray(), com.ywt.gapi.taihe.register.GetRegisteredListRequest::parseFrom,
    com.ywt.gapi.taihe.register.GetRegisteredListResponse::parseFrom);

    private static final StubMethodDescriptor getRegisteredListAsyncMethod = new StubMethodDescriptor("getRegisteredList",
    com.ywt.gapi.taihe.register.GetRegisteredListRequest.class, java.util.concurrent.CompletableFuture.class, serviceDescriptor, MethodDescriptor.RpcType.UNARY,
    obj -> ((Message) obj).toByteArray(), obj -> ((Message) obj).toByteArray(), com.ywt.gapi.taihe.register.GetRegisteredListRequest::parseFrom,
    com.ywt.gapi.taihe.register.GetRegisteredListResponse::parseFrom);

    private static final StubMethodDescriptor getRegisteredListProxyAsyncMethod = new StubMethodDescriptor("getRegisteredListAsync",
    com.ywt.gapi.taihe.register.GetRegisteredListRequest.class, com.ywt.gapi.taihe.register.GetRegisteredListResponse.class, serviceDescriptor, MethodDescriptor.RpcType.UNARY,
    obj -> ((Message) obj).toByteArray(), obj -> ((Message) obj).toByteArray(), com.ywt.gapi.taihe.register.GetRegisteredListRequest::parseFrom,
    com.ywt.gapi.taihe.register.GetRegisteredListResponse::parseFrom);

    /**
         * <pre>
         * 预约时间段
         * </pre>
         */
    private static final StubMethodDescriptor registerWithoutMedicalCardMethod = new StubMethodDescriptor("registerWithoutMedicalCard",
    com.ywt.gapi.taihe.register.RegisterWithoutMedicalCardRequest.class, com.ywt.gapi.taihe.register.RegisterWithoutMedicalCardResponse.class, serviceDescriptor, MethodDescriptor.RpcType.UNARY,
    obj -> ((Message) obj).toByteArray(), obj -> ((Message) obj).toByteArray(), com.ywt.gapi.taihe.register.RegisterWithoutMedicalCardRequest::parseFrom,
    com.ywt.gapi.taihe.register.RegisterWithoutMedicalCardResponse::parseFrom);

    private static final StubMethodDescriptor registerWithoutMedicalCardAsyncMethod = new StubMethodDescriptor("registerWithoutMedicalCard",
    com.ywt.gapi.taihe.register.RegisterWithoutMedicalCardRequest.class, java.util.concurrent.CompletableFuture.class, serviceDescriptor, MethodDescriptor.RpcType.UNARY,
    obj -> ((Message) obj).toByteArray(), obj -> ((Message) obj).toByteArray(), com.ywt.gapi.taihe.register.RegisterWithoutMedicalCardRequest::parseFrom,
    com.ywt.gapi.taihe.register.RegisterWithoutMedicalCardResponse::parseFrom);

    private static final StubMethodDescriptor registerWithoutMedicalCardProxyAsyncMethod = new StubMethodDescriptor("registerWithoutMedicalCardAsync",
    com.ywt.gapi.taihe.register.RegisterWithoutMedicalCardRequest.class, com.ywt.gapi.taihe.register.RegisterWithoutMedicalCardResponse.class, serviceDescriptor, MethodDescriptor.RpcType.UNARY,
    obj -> ((Message) obj).toByteArray(), obj -> ((Message) obj).toByteArray(), com.ywt.gapi.taihe.register.RegisterWithoutMedicalCardRequest::parseFrom,
    com.ywt.gapi.taihe.register.RegisterWithoutMedicalCardResponse::parseFrom);

    /**
         * <pre>
         * 预约开始时间：HH:MI
         * </pre>
         */
    private static final StubMethodDescriptor getOfflineConsultInfoByDoctorIdMethod = new StubMethodDescriptor("getOfflineConsultInfoByDoctorId",
    com.ywt.gapi.taihe.register.GetOfflineConsultInfoByDoctorIdRequest.class, com.ywt.gapi.taihe.register.GetOfflineConsultInfoByDoctorIdResponse.class, serviceDescriptor, MethodDescriptor.RpcType.UNARY,
    obj -> ((Message) obj).toByteArray(), obj -> ((Message) obj).toByteArray(), com.ywt.gapi.taihe.register.GetOfflineConsultInfoByDoctorIdRequest::parseFrom,
    com.ywt.gapi.taihe.register.GetOfflineConsultInfoByDoctorIdResponse::parseFrom);

    private static final StubMethodDescriptor getOfflineConsultInfoByDoctorIdAsyncMethod = new StubMethodDescriptor("getOfflineConsultInfoByDoctorId",
    com.ywt.gapi.taihe.register.GetOfflineConsultInfoByDoctorIdRequest.class, java.util.concurrent.CompletableFuture.class, serviceDescriptor, MethodDescriptor.RpcType.UNARY,
    obj -> ((Message) obj).toByteArray(), obj -> ((Message) obj).toByteArray(), com.ywt.gapi.taihe.register.GetOfflineConsultInfoByDoctorIdRequest::parseFrom,
    com.ywt.gapi.taihe.register.GetOfflineConsultInfoByDoctorIdResponse::parseFrom);

    private static final StubMethodDescriptor getOfflineConsultInfoByDoctorIdProxyAsyncMethod = new StubMethodDescriptor("getOfflineConsultInfoByDoctorIdAsync",
    com.ywt.gapi.taihe.register.GetOfflineConsultInfoByDoctorIdRequest.class, com.ywt.gapi.taihe.register.GetOfflineConsultInfoByDoctorIdResponse.class, serviceDescriptor, MethodDescriptor.RpcType.UNARY,
    obj -> ((Message) obj).toByteArray(), obj -> ((Message) obj).toByteArray(), com.ywt.gapi.taihe.register.GetOfflineConsultInfoByDoctorIdRequest::parseFrom,
    com.ywt.gapi.taihe.register.GetOfflineConsultInfoByDoctorIdResponse::parseFrom);

    /**
         * <pre>
         * 预约结束时间：HH:MI
         * </pre>
         */
    private static final StubMethodDescriptor getLatestRegOrderMethod = new StubMethodDescriptor("getLatestRegOrder",
    com.ywt.gapi.taihe.register.GetLatestRegOrderRequest.class, com.ywt.gapi.taihe.register.GetLatestRegOrderResponse.class, serviceDescriptor, MethodDescriptor.RpcType.UNARY,
    obj -> ((Message) obj).toByteArray(), obj -> ((Message) obj).toByteArray(), com.ywt.gapi.taihe.register.GetLatestRegOrderRequest::parseFrom,
    com.ywt.gapi.taihe.register.GetLatestRegOrderResponse::parseFrom);

    private static final StubMethodDescriptor getLatestRegOrderAsyncMethod = new StubMethodDescriptor("getLatestRegOrder",
    com.ywt.gapi.taihe.register.GetLatestRegOrderRequest.class, java.util.concurrent.CompletableFuture.class, serviceDescriptor, MethodDescriptor.RpcType.UNARY,
    obj -> ((Message) obj).toByteArray(), obj -> ((Message) obj).toByteArray(), com.ywt.gapi.taihe.register.GetLatestRegOrderRequest::parseFrom,
    com.ywt.gapi.taihe.register.GetLatestRegOrderResponse::parseFrom);

    private static final StubMethodDescriptor getLatestRegOrderProxyAsyncMethod = new StubMethodDescriptor("getLatestRegOrderAsync",
    com.ywt.gapi.taihe.register.GetLatestRegOrderRequest.class, com.ywt.gapi.taihe.register.GetLatestRegOrderResponse.class, serviceDescriptor, MethodDescriptor.RpcType.UNARY,
    obj -> ((Message) obj).toByteArray(), obj -> ((Message) obj).toByteArray(), com.ywt.gapi.taihe.register.GetLatestRegOrderRequest::parseFrom,
    com.ywt.gapi.taihe.register.GetLatestRegOrderResponse::parseFrom);

    /**
         * <pre>
         * 用户ID
         * </pre>
         */
    private static final StubMethodDescriptor calAdditionalFeeMethod = new StubMethodDescriptor("calAdditionalFee",
    com.ywt.gapi.taihe.register.CalAdditionalFeeRequest.class, com.ywt.gapi.taihe.register.CalAdditionalFeeResponse.class, serviceDescriptor, MethodDescriptor.RpcType.UNARY,
    obj -> ((Message) obj).toByteArray(), obj -> ((Message) obj).toByteArray(), com.ywt.gapi.taihe.register.CalAdditionalFeeRequest::parseFrom,
    com.ywt.gapi.taihe.register.CalAdditionalFeeResponse::parseFrom);

    private static final StubMethodDescriptor calAdditionalFeeAsyncMethod = new StubMethodDescriptor("calAdditionalFee",
    com.ywt.gapi.taihe.register.CalAdditionalFeeRequest.class, java.util.concurrent.CompletableFuture.class, serviceDescriptor, MethodDescriptor.RpcType.UNARY,
    obj -> ((Message) obj).toByteArray(), obj -> ((Message) obj).toByteArray(), com.ywt.gapi.taihe.register.CalAdditionalFeeRequest::parseFrom,
    com.ywt.gapi.taihe.register.CalAdditionalFeeResponse::parseFrom);

    private static final StubMethodDescriptor calAdditionalFeeProxyAsyncMethod = new StubMethodDescriptor("calAdditionalFeeAsync",
    com.ywt.gapi.taihe.register.CalAdditionalFeeRequest.class, com.ywt.gapi.taihe.register.CalAdditionalFeeResponse.class, serviceDescriptor, MethodDescriptor.RpcType.UNARY,
    obj -> ((Message) obj).toByteArray(), obj -> ((Message) obj).toByteArray(), com.ywt.gapi.taihe.register.CalAdditionalFeeRequest::parseFrom,
    com.ywt.gapi.taihe.register.CalAdditionalFeeResponse::parseFrom);

    /**
         * <pre>
         * 诊疗卡ID
         * </pre>
         */
    private static final StubMethodDescriptor getHisPatientIdByUserIdAndMobileMethod = new StubMethodDescriptor("getHisPatientIdByUserIdAndMobile",
    com.ywt.gapi.taihe.register.GetHisPatientIdByUserIdAndMobileRequest.class, com.ywt.gapi.taihe.register.GetHisPatientIdByUserIdAndMobileResponse.class, serviceDescriptor, MethodDescriptor.RpcType.UNARY,
    obj -> ((Message) obj).toByteArray(), obj -> ((Message) obj).toByteArray(), com.ywt.gapi.taihe.register.GetHisPatientIdByUserIdAndMobileRequest::parseFrom,
    com.ywt.gapi.taihe.register.GetHisPatientIdByUserIdAndMobileResponse::parseFrom);

    private static final StubMethodDescriptor getHisPatientIdByUserIdAndMobileAsyncMethod = new StubMethodDescriptor("getHisPatientIdByUserIdAndMobile",
    com.ywt.gapi.taihe.register.GetHisPatientIdByUserIdAndMobileRequest.class, java.util.concurrent.CompletableFuture.class, serviceDescriptor, MethodDescriptor.RpcType.UNARY,
    obj -> ((Message) obj).toByteArray(), obj -> ((Message) obj).toByteArray(), com.ywt.gapi.taihe.register.GetHisPatientIdByUserIdAndMobileRequest::parseFrom,
    com.ywt.gapi.taihe.register.GetHisPatientIdByUserIdAndMobileResponse::parseFrom);

    private static final StubMethodDescriptor getHisPatientIdByUserIdAndMobileProxyAsyncMethod = new StubMethodDescriptor("getHisPatientIdByUserIdAndMobileAsync",
    com.ywt.gapi.taihe.register.GetHisPatientIdByUserIdAndMobileRequest.class, com.ywt.gapi.taihe.register.GetHisPatientIdByUserIdAndMobileResponse.class, serviceDescriptor, MethodDescriptor.RpcType.UNARY,
    obj -> ((Message) obj).toByteArray(), obj -> ((Message) obj).toByteArray(), com.ywt.gapi.taihe.register.GetHisPatientIdByUserIdAndMobileRequest::parseFrom,
    com.ywt.gapi.taihe.register.GetHisPatientIdByUserIdAndMobileResponse::parseFrom);

    /**
         * <pre>
         * 门诊排班项记录标识
         * </pre>
         */
    private static final StubMethodDescriptor createMedicalCardMethod = new StubMethodDescriptor("createMedicalCard",
    com.ywt.gapi.taihe.register.CreateMedicalCardRequest.class, com.ywt.gapi.taihe.register.CreateMedicalCardResponse.class, serviceDescriptor, MethodDescriptor.RpcType.UNARY,
    obj -> ((Message) obj).toByteArray(), obj -> ((Message) obj).toByteArray(), com.ywt.gapi.taihe.register.CreateMedicalCardRequest::parseFrom,
    com.ywt.gapi.taihe.register.CreateMedicalCardResponse::parseFrom);

    private static final StubMethodDescriptor createMedicalCardAsyncMethod = new StubMethodDescriptor("createMedicalCard",
    com.ywt.gapi.taihe.register.CreateMedicalCardRequest.class, java.util.concurrent.CompletableFuture.class, serviceDescriptor, MethodDescriptor.RpcType.UNARY,
    obj -> ((Message) obj).toByteArray(), obj -> ((Message) obj).toByteArray(), com.ywt.gapi.taihe.register.CreateMedicalCardRequest::parseFrom,
    com.ywt.gapi.taihe.register.CreateMedicalCardResponse::parseFrom);

    private static final StubMethodDescriptor createMedicalCardProxyAsyncMethod = new StubMethodDescriptor("createMedicalCardAsync",
    com.ywt.gapi.taihe.register.CreateMedicalCardRequest.class, com.ywt.gapi.taihe.register.CreateMedicalCardResponse.class, serviceDescriptor, MethodDescriptor.RpcType.UNARY,
    obj -> ((Message) obj).toByteArray(), obj -> ((Message) obj).toByteArray(), com.ywt.gapi.taihe.register.CreateMedicalCardRequest::parseFrom,
    com.ywt.gapi.taihe.register.CreateMedicalCardResponse::parseFrom);

    /**
         * <pre>
         * 支付渠道
         * </pre>
         */
    private static final StubMethodDescriptor registerCheckInMessageMethod = new StubMethodDescriptor("registerCheckInMessage",
    com.ywt.gapi.taihe.register.RegisterCheckInMessageRequest.class, com.ywt.gapi.taihe.register.RegisterCheckInMessageResponse.class, serviceDescriptor, MethodDescriptor.RpcType.UNARY,
    obj -> ((Message) obj).toByteArray(), obj -> ((Message) obj).toByteArray(), com.ywt.gapi.taihe.register.RegisterCheckInMessageRequest::parseFrom,
    com.ywt.gapi.taihe.register.RegisterCheckInMessageResponse::parseFrom);

    private static final StubMethodDescriptor registerCheckInMessageAsyncMethod = new StubMethodDescriptor("registerCheckInMessage",
    com.ywt.gapi.taihe.register.RegisterCheckInMessageRequest.class, java.util.concurrent.CompletableFuture.class, serviceDescriptor, MethodDescriptor.RpcType.UNARY,
    obj -> ((Message) obj).toByteArray(), obj -> ((Message) obj).toByteArray(), com.ywt.gapi.taihe.register.RegisterCheckInMessageRequest::parseFrom,
    com.ywt.gapi.taihe.register.RegisterCheckInMessageResponse::parseFrom);

    private static final StubMethodDescriptor registerCheckInMessageProxyAsyncMethod = new StubMethodDescriptor("registerCheckInMessageAsync",
    com.ywt.gapi.taihe.register.RegisterCheckInMessageRequest.class, com.ywt.gapi.taihe.register.RegisterCheckInMessageResponse.class, serviceDescriptor, MethodDescriptor.RpcType.UNARY,
    obj -> ((Message) obj).toByteArray(), obj -> ((Message) obj).toByteArray(), com.ywt.gapi.taihe.register.RegisterCheckInMessageRequest::parseFrom,
    com.ywt.gapi.taihe.register.RegisterCheckInMessageResponse::parseFrom);





    public static class TaiheRegisterServiceStub implements TaiheRegisterService{
        private final Invoker<TaiheRegisterService> invoker;

        public TaiheRegisterServiceStub(Invoker<TaiheRegisterService> invoker) {
            this.invoker = invoker;
        }

            /**
         * <pre>
         * 医生职称
         * </pre>
         */
        @Override
        public com.ywt.gapi.taihe.register.CreateRegisteredResponse createRegistered(com.ywt.gapi.taihe.register.CreateRegisteredRequest request){
            return StubInvocationUtil.unaryCall(invoker, createRegisteredMethod, request);
        }

        public CompletableFuture<com.ywt.gapi.taihe.register.CreateRegisteredResponse> createRegisteredAsync(com.ywt.gapi.taihe.register.CreateRegisteredRequest request){
            return StubInvocationUtil.unaryCall(invoker, createRegisteredAsyncMethod, request);
        }

            /**
         * <pre>
         * 医生职称
         * </pre>
         */
        @Override
        public void createRegistered(com.ywt.gapi.taihe.register.CreateRegisteredRequest request, StreamObserver<com.ywt.gapi.taihe.register.CreateRegisteredResponse> responseObserver){
            StubInvocationUtil.unaryCall(invoker, createRegisteredMethod , request, responseObserver);
        }
            /**
         * <pre>
         * 科室Code
         * </pre>
         */
        @Override
        public com.ywt.gapi.taihe.register.CancelRegisteredResponse cancelRegistered(com.ywt.gapi.taihe.register.CancelRegisteredRequest request){
            return StubInvocationUtil.unaryCall(invoker, cancelRegisteredMethod, request);
        }

        public CompletableFuture<com.ywt.gapi.taihe.register.CancelRegisteredResponse> cancelRegisteredAsync(com.ywt.gapi.taihe.register.CancelRegisteredRequest request){
            return StubInvocationUtil.unaryCall(invoker, cancelRegisteredAsyncMethod, request);
        }

            /**
         * <pre>
         * 科室Code
         * </pre>
         */
        @Override
        public void cancelRegistered(com.ywt.gapi.taihe.register.CancelRegisteredRequest request, StreamObserver<com.ywt.gapi.taihe.register.CancelRegisteredResponse> responseObserver){
            StubInvocationUtil.unaryCall(invoker, cancelRegisteredMethod , request, responseObserver);
        }
            /**
         * <pre>
         * 科室名称
         * </pre>
         */
        @Override
        public com.ywt.gapi.taihe.register.PayCallbackResponse payCallback(com.ywt.gapi.taihe.register.PayCallbackRequest request){
            return StubInvocationUtil.unaryCall(invoker, payCallbackMethod, request);
        }

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

            /**
         * <pre>
         * 科室名称
         * </pre>
         */
        @Override
        public void payCallback(com.ywt.gapi.taihe.register.PayCallbackRequest request, StreamObserver<com.ywt.gapi.taihe.register.PayCallbackResponse> responseObserver){
            StubInvocationUtil.unaryCall(invoker, payCallbackMethod , request, responseObserver);
        }
            /**
         * <pre>
         * 医生Code
         * </pre>
         */
        @Override
        public com.ywt.gapi.taihe.register.RefundCallbackResponse refundCallback(com.ywt.gapi.taihe.register.RefundCallbackRequest request){
            return StubInvocationUtil.unaryCall(invoker, refundCallbackMethod, request);
        }

        public CompletableFuture<com.ywt.gapi.taihe.register.RefundCallbackResponse> refundCallbackAsync(com.ywt.gapi.taihe.register.RefundCallbackRequest request){
            return StubInvocationUtil.unaryCall(invoker, refundCallbackAsyncMethod, request);
        }

            /**
         * <pre>
         * 医生Code
         * </pre>
         */
        @Override
        public void refundCallback(com.ywt.gapi.taihe.register.RefundCallbackRequest request, StreamObserver<com.ywt.gapi.taihe.register.RefundCallbackResponse> responseObserver){
            StubInvocationUtil.unaryCall(invoker, refundCallbackMethod , request, responseObserver);
        }
            /**
         * <pre>
         * 医生名称
         * </pre>
         */
        @Override
        public com.ywt.gapi.taihe.register.RegisterResponse register(com.ywt.gapi.taihe.register.RegisterRequest request){
            return StubInvocationUtil.unaryCall(invoker, registerMethod, request);
        }

        public CompletableFuture<com.ywt.gapi.taihe.register.RegisterResponse> registerAsync(com.ywt.gapi.taihe.register.RegisterRequest request){
            return StubInvocationUtil.unaryCall(invoker, registerAsyncMethod, request);
        }

            /**
         * <pre>
         * 医生名称
         * </pre>
         */
        @Override
        public void register(com.ywt.gapi.taihe.register.RegisterRequest request, StreamObserver<com.ywt.gapi.taihe.register.RegisterResponse> responseObserver){
            StubInvocationUtil.unaryCall(invoker, registerMethod , request, responseObserver);
        }
            /**
         * <pre>
         * 预约挂号总费用
         * </pre>
         */
        @Override
        public com.ywt.gapi.taihe.register.TakeResponse take(com.ywt.gapi.taihe.register.TakeRequest request){
            return StubInvocationUtil.unaryCall(invoker, takeMethod, request);
        }

        public CompletableFuture<com.ywt.gapi.taihe.register.TakeResponse> takeAsync(com.ywt.gapi.taihe.register.TakeRequest request){
            return StubInvocationUtil.unaryCall(invoker, takeAsyncMethod, request);
        }

            /**
         * <pre>
         * 预约挂号总费用
         * </pre>
         */
        @Override
        public void take(com.ywt.gapi.taihe.register.TakeRequest request, StreamObserver<com.ywt.gapi.taihe.register.TakeResponse> responseObserver){
            StubInvocationUtil.unaryCall(invoker, takeMethod , request, responseObserver);
        }
            /**
         * <pre>
         * 挂号费
         * </pre>
         */
        @Override
        public com.ywt.gapi.taihe.register.GetQueueListResponse getQueueList(com.ywt.gapi.taihe.register.GetQueueListRequest request){
            return StubInvocationUtil.unaryCall(invoker, getQueueListMethod, request);
        }

        public CompletableFuture<com.ywt.gapi.taihe.register.GetQueueListResponse> getQueueListAsync(com.ywt.gapi.taihe.register.GetQueueListRequest request){
            return StubInvocationUtil.unaryCall(invoker, getQueueListAsyncMethod, request);
        }

            /**
         * <pre>
         * 挂号费
         * </pre>
         */
        @Override
        public void getQueueList(com.ywt.gapi.taihe.register.GetQueueListRequest request, StreamObserver<com.ywt.gapi.taihe.register.GetQueueListResponse> responseObserver){
            StubInvocationUtil.unaryCall(invoker, getQueueListMethod , request, responseObserver);
        }
            /**
         * <pre>
         * 诊查费
         * </pre>
         */
        @Override
        public com.ywt.gapi.taihe.register.GetCommonOrderListResponse getCommonOrderList(com.ywt.gapi.taihe.register.GetCommonOrderListRequest request){
            return StubInvocationUtil.unaryCall(invoker, getCommonOrderListMethod, request);
        }

        public CompletableFuture<com.ywt.gapi.taihe.register.GetCommonOrderListResponse> getCommonOrderListAsync(com.ywt.gapi.taihe.register.GetCommonOrderListRequest request){
            return StubInvocationUtil.unaryCall(invoker, getCommonOrderListAsyncMethod, request);
        }

            /**
         * <pre>
         * 诊查费
         * </pre>
         */
        @Override
        public void getCommonOrderList(com.ywt.gapi.taihe.register.GetCommonOrderListRequest request, StreamObserver<com.ywt.gapi.taihe.register.GetCommonOrderListResponse> responseObserver){
            StubInvocationUtil.unaryCall(invoker, getCommonOrderListMethod , request, responseObserver);
        }
            /**
         * <pre>
         * 预约日期
         * </pre>
         */
        @Override
        public com.ywt.gapi.taihe.register.GetRegisteredListResponse getRegisteredList(com.ywt.gapi.taihe.register.GetRegisteredListRequest request){
            return StubInvocationUtil.unaryCall(invoker, getRegisteredListMethod, request);
        }

        public CompletableFuture<com.ywt.gapi.taihe.register.GetRegisteredListResponse> getRegisteredListAsync(com.ywt.gapi.taihe.register.GetRegisteredListRequest request){
            return StubInvocationUtil.unaryCall(invoker, getRegisteredListAsyncMethod, request);
        }

            /**
         * <pre>
         * 预约日期
         * </pre>
         */
        @Override
        public void getRegisteredList(com.ywt.gapi.taihe.register.GetRegisteredListRequest request, StreamObserver<com.ywt.gapi.taihe.register.GetRegisteredListResponse> responseObserver){
            StubInvocationUtil.unaryCall(invoker, getRegisteredListMethod , request, responseObserver);
        }
            /**
         * <pre>
         * 预约时间段
         * </pre>
         */
        @Override
        public com.ywt.gapi.taihe.register.RegisterWithoutMedicalCardResponse registerWithoutMedicalCard(com.ywt.gapi.taihe.register.RegisterWithoutMedicalCardRequest request){
            return StubInvocationUtil.unaryCall(invoker, registerWithoutMedicalCardMethod, request);
        }

        public CompletableFuture<com.ywt.gapi.taihe.register.RegisterWithoutMedicalCardResponse> registerWithoutMedicalCardAsync(com.ywt.gapi.taihe.register.RegisterWithoutMedicalCardRequest request){
            return StubInvocationUtil.unaryCall(invoker, registerWithoutMedicalCardAsyncMethod, request);
        }

            /**
         * <pre>
         * 预约时间段
         * </pre>
         */
        @Override
        public void registerWithoutMedicalCard(com.ywt.gapi.taihe.register.RegisterWithoutMedicalCardRequest request, StreamObserver<com.ywt.gapi.taihe.register.RegisterWithoutMedicalCardResponse> responseObserver){
            StubInvocationUtil.unaryCall(invoker, registerWithoutMedicalCardMethod , request, responseObserver);
        }
            /**
         * <pre>
         * 预约开始时间：HH:MI
         * </pre>
         */
        @Override
        public com.ywt.gapi.taihe.register.GetOfflineConsultInfoByDoctorIdResponse getOfflineConsultInfoByDoctorId(com.ywt.gapi.taihe.register.GetOfflineConsultInfoByDoctorIdRequest request){
            return StubInvocationUtil.unaryCall(invoker, getOfflineConsultInfoByDoctorIdMethod, request);
        }

        public CompletableFuture<com.ywt.gapi.taihe.register.GetOfflineConsultInfoByDoctorIdResponse> getOfflineConsultInfoByDoctorIdAsync(com.ywt.gapi.taihe.register.GetOfflineConsultInfoByDoctorIdRequest request){
            return StubInvocationUtil.unaryCall(invoker, getOfflineConsultInfoByDoctorIdAsyncMethod, request);
        }

            /**
         * <pre>
         * 预约开始时间：HH:MI
         * </pre>
         */
        @Override
        public void getOfflineConsultInfoByDoctorId(com.ywt.gapi.taihe.register.GetOfflineConsultInfoByDoctorIdRequest request, StreamObserver<com.ywt.gapi.taihe.register.GetOfflineConsultInfoByDoctorIdResponse> responseObserver){
            StubInvocationUtil.unaryCall(invoker, getOfflineConsultInfoByDoctorIdMethod , request, responseObserver);
        }
            /**
         * <pre>
         * 预约结束时间：HH:MI
         * </pre>
         */
        @Override
        public com.ywt.gapi.taihe.register.GetLatestRegOrderResponse getLatestRegOrder(com.ywt.gapi.taihe.register.GetLatestRegOrderRequest request){
            return StubInvocationUtil.unaryCall(invoker, getLatestRegOrderMethod, request);
        }

        public CompletableFuture<com.ywt.gapi.taihe.register.GetLatestRegOrderResponse> getLatestRegOrderAsync(com.ywt.gapi.taihe.register.GetLatestRegOrderRequest request){
            return StubInvocationUtil.unaryCall(invoker, getLatestRegOrderAsyncMethod, request);
        }

            /**
         * <pre>
         * 预约结束时间：HH:MI
         * </pre>
         */
        @Override
        public void getLatestRegOrder(com.ywt.gapi.taihe.register.GetLatestRegOrderRequest request, StreamObserver<com.ywt.gapi.taihe.register.GetLatestRegOrderResponse> responseObserver){
            StubInvocationUtil.unaryCall(invoker, getLatestRegOrderMethod , request, responseObserver);
        }
            /**
         * <pre>
         * 用户ID
         * </pre>
         */
        @Override
        public com.ywt.gapi.taihe.register.CalAdditionalFeeResponse calAdditionalFee(com.ywt.gapi.taihe.register.CalAdditionalFeeRequest request){
            return StubInvocationUtil.unaryCall(invoker, calAdditionalFeeMethod, request);
        }

        public CompletableFuture<com.ywt.gapi.taihe.register.CalAdditionalFeeResponse> calAdditionalFeeAsync(com.ywt.gapi.taihe.register.CalAdditionalFeeRequest request){
            return StubInvocationUtil.unaryCall(invoker, calAdditionalFeeAsyncMethod, request);
        }

            /**
         * <pre>
         * 用户ID
         * </pre>
         */
        @Override
        public void calAdditionalFee(com.ywt.gapi.taihe.register.CalAdditionalFeeRequest request, StreamObserver<com.ywt.gapi.taihe.register.CalAdditionalFeeResponse> responseObserver){
            StubInvocationUtil.unaryCall(invoker, calAdditionalFeeMethod , request, responseObserver);
        }
            /**
         * <pre>
         * 诊疗卡ID
         * </pre>
         */
        @Override
        public com.ywt.gapi.taihe.register.GetHisPatientIdByUserIdAndMobileResponse getHisPatientIdByUserIdAndMobile(com.ywt.gapi.taihe.register.GetHisPatientIdByUserIdAndMobileRequest request){
            return StubInvocationUtil.unaryCall(invoker, getHisPatientIdByUserIdAndMobileMethod, request);
        }

        public CompletableFuture<com.ywt.gapi.taihe.register.GetHisPatientIdByUserIdAndMobileResponse> getHisPatientIdByUserIdAndMobileAsync(com.ywt.gapi.taihe.register.GetHisPatientIdByUserIdAndMobileRequest request){
            return StubInvocationUtil.unaryCall(invoker, getHisPatientIdByUserIdAndMobileAsyncMethod, request);
        }

            /**
         * <pre>
         * 诊疗卡ID
         * </pre>
         */
        @Override
        public void getHisPatientIdByUserIdAndMobile(com.ywt.gapi.taihe.register.GetHisPatientIdByUserIdAndMobileRequest request, StreamObserver<com.ywt.gapi.taihe.register.GetHisPatientIdByUserIdAndMobileResponse> responseObserver){
            StubInvocationUtil.unaryCall(invoker, getHisPatientIdByUserIdAndMobileMethod , request, responseObserver);
        }
            /**
         * <pre>
         * 门诊排班项记录标识
         * </pre>
         */
        @Override
        public com.ywt.gapi.taihe.register.CreateMedicalCardResponse createMedicalCard(com.ywt.gapi.taihe.register.CreateMedicalCardRequest request){
            return StubInvocationUtil.unaryCall(invoker, createMedicalCardMethod, request);
        }

        public CompletableFuture<com.ywt.gapi.taihe.register.CreateMedicalCardResponse> createMedicalCardAsync(com.ywt.gapi.taihe.register.CreateMedicalCardRequest request){
            return StubInvocationUtil.unaryCall(invoker, createMedicalCardAsyncMethod, request);
        }

            /**
         * <pre>
         * 门诊排班项记录标识
         * </pre>
         */
        @Override
        public void createMedicalCard(com.ywt.gapi.taihe.register.CreateMedicalCardRequest request, StreamObserver<com.ywt.gapi.taihe.register.CreateMedicalCardResponse> responseObserver){
            StubInvocationUtil.unaryCall(invoker, createMedicalCardMethod , request, responseObserver);
        }
            /**
         * <pre>
         * 支付渠道
         * </pre>
         */
        @Override
        public com.ywt.gapi.taihe.register.RegisterCheckInMessageResponse registerCheckInMessage(com.ywt.gapi.taihe.register.RegisterCheckInMessageRequest request){
            return StubInvocationUtil.unaryCall(invoker, registerCheckInMessageMethod, request);
        }

        public CompletableFuture<com.ywt.gapi.taihe.register.RegisterCheckInMessageResponse> registerCheckInMessageAsync(com.ywt.gapi.taihe.register.RegisterCheckInMessageRequest request){
            return StubInvocationUtil.unaryCall(invoker, registerCheckInMessageAsyncMethod, request);
        }

            /**
         * <pre>
         * 支付渠道
         * </pre>
         */
        @Override
        public void registerCheckInMessage(com.ywt.gapi.taihe.register.RegisterCheckInMessageRequest request, StreamObserver<com.ywt.gapi.taihe.register.RegisterCheckInMessageResponse> responseObserver){
            StubInvocationUtil.unaryCall(invoker, registerCheckInMessageMethod , request, responseObserver);
        }



    }

    public static abstract class TaiheRegisterServiceImplBase implements TaiheRegisterService, ServerService<TaiheRegisterService> {

        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<TaiheRegisterService> getInvoker(URL url) {
            PathResolver pathResolver = url.getOrDefaultFrameworkModel()
            .getExtensionLoader(PathResolver.class)
            .getDefaultExtension();
            Map<String,StubMethodHandler<?, ?>> handlers = new HashMap<>();

            pathResolver.addNativeStub( "/" + SERVICE_NAME + "/createRegistered" );
            pathResolver.addNativeStub( "/" + SERVICE_NAME + "/createRegisteredAsync" );
            pathResolver.addNativeStub( "/" + SERVICE_NAME + "/cancelRegistered" );
            pathResolver.addNativeStub( "/" + SERVICE_NAME + "/cancelRegisteredAsync" );
            pathResolver.addNativeStub( "/" + SERVICE_NAME + "/payCallback" );
            pathResolver.addNativeStub( "/" + SERVICE_NAME + "/payCallbackAsync" );
            pathResolver.addNativeStub( "/" + SERVICE_NAME + "/refundCallback" );
            pathResolver.addNativeStub( "/" + SERVICE_NAME + "/refundCallbackAsync" );
            pathResolver.addNativeStub( "/" + SERVICE_NAME + "/register" );
            pathResolver.addNativeStub( "/" + SERVICE_NAME + "/registerAsync" );
            pathResolver.addNativeStub( "/" + SERVICE_NAME + "/take" );
            pathResolver.addNativeStub( "/" + SERVICE_NAME + "/takeAsync" );
            pathResolver.addNativeStub( "/" + SERVICE_NAME + "/getQueueList" );
            pathResolver.addNativeStub( "/" + SERVICE_NAME + "/getQueueListAsync" );
            pathResolver.addNativeStub( "/" + SERVICE_NAME + "/getCommonOrderList" );
            pathResolver.addNativeStub( "/" + SERVICE_NAME + "/getCommonOrderListAsync" );
            pathResolver.addNativeStub( "/" + SERVICE_NAME + "/getRegisteredList" );
            pathResolver.addNativeStub( "/" + SERVICE_NAME + "/getRegisteredListAsync" );
            pathResolver.addNativeStub( "/" + SERVICE_NAME + "/registerWithoutMedicalCard" );
            pathResolver.addNativeStub( "/" + SERVICE_NAME + "/registerWithoutMedicalCardAsync" );
            pathResolver.addNativeStub( "/" + SERVICE_NAME + "/getOfflineConsultInfoByDoctorId" );
            pathResolver.addNativeStub( "/" + SERVICE_NAME + "/getOfflineConsultInfoByDoctorIdAsync" );
            pathResolver.addNativeStub( "/" + SERVICE_NAME + "/getLatestRegOrder" );
            pathResolver.addNativeStub( "/" + SERVICE_NAME + "/getLatestRegOrderAsync" );
            pathResolver.addNativeStub( "/" + SERVICE_NAME + "/calAdditionalFee" );
            pathResolver.addNativeStub( "/" + SERVICE_NAME + "/calAdditionalFeeAsync" );
            pathResolver.addNativeStub( "/" + SERVICE_NAME + "/getHisPatientIdByUserIdAndMobile" );
            pathResolver.addNativeStub( "/" + SERVICE_NAME + "/getHisPatientIdByUserIdAndMobileAsync" );
            pathResolver.addNativeStub( "/" + SERVICE_NAME + "/createMedicalCard" );
            pathResolver.addNativeStub( "/" + SERVICE_NAME + "/createMedicalCardAsync" );
            pathResolver.addNativeStub( "/" + SERVICE_NAME + "/registerCheckInMessage" );
            pathResolver.addNativeStub( "/" + SERVICE_NAME + "/registerCheckInMessageAsync" );

            BiConsumer<com.ywt.gapi.taihe.register.CreateRegisteredRequest, StreamObserver<com.ywt.gapi.taihe.register.CreateRegisteredResponse>> createRegisteredFunc = this::createRegistered;
            handlers.put(createRegisteredMethod.getMethodName(), new UnaryStubMethodHandler<>(createRegisteredFunc));
            BiConsumer<com.ywt.gapi.taihe.register.CreateRegisteredRequest, StreamObserver<com.ywt.gapi.taihe.register.CreateRegisteredResponse>> createRegisteredAsyncFunc = syncToAsync(this::createRegistered);
            handlers.put(createRegisteredProxyAsyncMethod.getMethodName(), new UnaryStubMethodHandler<>(createRegisteredAsyncFunc));
            BiConsumer<com.ywt.gapi.taihe.register.CancelRegisteredRequest, StreamObserver<com.ywt.gapi.taihe.register.CancelRegisteredResponse>> cancelRegisteredFunc = this::cancelRegistered;
            handlers.put(cancelRegisteredMethod.getMethodName(), new UnaryStubMethodHandler<>(cancelRegisteredFunc));
            BiConsumer<com.ywt.gapi.taihe.register.CancelRegisteredRequest, StreamObserver<com.ywt.gapi.taihe.register.CancelRegisteredResponse>> cancelRegisteredAsyncFunc = syncToAsync(this::cancelRegistered);
            handlers.put(cancelRegisteredProxyAsyncMethod.getMethodName(), new UnaryStubMethodHandler<>(cancelRegisteredAsyncFunc));
            BiConsumer<com.ywt.gapi.taihe.register.PayCallbackRequest, StreamObserver<com.ywt.gapi.taihe.register.PayCallbackResponse>> payCallbackFunc = this::payCallback;
            handlers.put(payCallbackMethod.getMethodName(), new UnaryStubMethodHandler<>(payCallbackFunc));
            BiConsumer<com.ywt.gapi.taihe.register.PayCallbackRequest, StreamObserver<com.ywt.gapi.taihe.register.PayCallbackResponse>> payCallbackAsyncFunc = syncToAsync(this::payCallback);
            handlers.put(payCallbackProxyAsyncMethod.getMethodName(), new UnaryStubMethodHandler<>(payCallbackAsyncFunc));
            BiConsumer<com.ywt.gapi.taihe.register.RefundCallbackRequest, StreamObserver<com.ywt.gapi.taihe.register.RefundCallbackResponse>> refundCallbackFunc = this::refundCallback;
            handlers.put(refundCallbackMethod.getMethodName(), new UnaryStubMethodHandler<>(refundCallbackFunc));
            BiConsumer<com.ywt.gapi.taihe.register.RefundCallbackRequest, StreamObserver<com.ywt.gapi.taihe.register.RefundCallbackResponse>> refundCallbackAsyncFunc = syncToAsync(this::refundCallback);
            handlers.put(refundCallbackProxyAsyncMethod.getMethodName(), new UnaryStubMethodHandler<>(refundCallbackAsyncFunc));
            BiConsumer<com.ywt.gapi.taihe.register.RegisterRequest, StreamObserver<com.ywt.gapi.taihe.register.RegisterResponse>> registerFunc = this::register;
            handlers.put(registerMethod.getMethodName(), new UnaryStubMethodHandler<>(registerFunc));
            BiConsumer<com.ywt.gapi.taihe.register.RegisterRequest, StreamObserver<com.ywt.gapi.taihe.register.RegisterResponse>> registerAsyncFunc = syncToAsync(this::register);
            handlers.put(registerProxyAsyncMethod.getMethodName(), new UnaryStubMethodHandler<>(registerAsyncFunc));
            BiConsumer<com.ywt.gapi.taihe.register.TakeRequest, StreamObserver<com.ywt.gapi.taihe.register.TakeResponse>> takeFunc = this::take;
            handlers.put(takeMethod.getMethodName(), new UnaryStubMethodHandler<>(takeFunc));
            BiConsumer<com.ywt.gapi.taihe.register.TakeRequest, StreamObserver<com.ywt.gapi.taihe.register.TakeResponse>> takeAsyncFunc = syncToAsync(this::take);
            handlers.put(takeProxyAsyncMethod.getMethodName(), new UnaryStubMethodHandler<>(takeAsyncFunc));
            BiConsumer<com.ywt.gapi.taihe.register.GetQueueListRequest, StreamObserver<com.ywt.gapi.taihe.register.GetQueueListResponse>> getQueueListFunc = this::getQueueList;
            handlers.put(getQueueListMethod.getMethodName(), new UnaryStubMethodHandler<>(getQueueListFunc));
            BiConsumer<com.ywt.gapi.taihe.register.GetQueueListRequest, StreamObserver<com.ywt.gapi.taihe.register.GetQueueListResponse>> getQueueListAsyncFunc = syncToAsync(this::getQueueList);
            handlers.put(getQueueListProxyAsyncMethod.getMethodName(), new UnaryStubMethodHandler<>(getQueueListAsyncFunc));
            BiConsumer<com.ywt.gapi.taihe.register.GetCommonOrderListRequest, StreamObserver<com.ywt.gapi.taihe.register.GetCommonOrderListResponse>> getCommonOrderListFunc = this::getCommonOrderList;
            handlers.put(getCommonOrderListMethod.getMethodName(), new UnaryStubMethodHandler<>(getCommonOrderListFunc));
            BiConsumer<com.ywt.gapi.taihe.register.GetCommonOrderListRequest, StreamObserver<com.ywt.gapi.taihe.register.GetCommonOrderListResponse>> getCommonOrderListAsyncFunc = syncToAsync(this::getCommonOrderList);
            handlers.put(getCommonOrderListProxyAsyncMethod.getMethodName(), new UnaryStubMethodHandler<>(getCommonOrderListAsyncFunc));
            BiConsumer<com.ywt.gapi.taihe.register.GetRegisteredListRequest, StreamObserver<com.ywt.gapi.taihe.register.GetRegisteredListResponse>> getRegisteredListFunc = this::getRegisteredList;
            handlers.put(getRegisteredListMethod.getMethodName(), new UnaryStubMethodHandler<>(getRegisteredListFunc));
            BiConsumer<com.ywt.gapi.taihe.register.GetRegisteredListRequest, StreamObserver<com.ywt.gapi.taihe.register.GetRegisteredListResponse>> getRegisteredListAsyncFunc = syncToAsync(this::getRegisteredList);
            handlers.put(getRegisteredListProxyAsyncMethod.getMethodName(), new UnaryStubMethodHandler<>(getRegisteredListAsyncFunc));
            BiConsumer<com.ywt.gapi.taihe.register.RegisterWithoutMedicalCardRequest, StreamObserver<com.ywt.gapi.taihe.register.RegisterWithoutMedicalCardResponse>> registerWithoutMedicalCardFunc = this::registerWithoutMedicalCard;
            handlers.put(registerWithoutMedicalCardMethod.getMethodName(), new UnaryStubMethodHandler<>(registerWithoutMedicalCardFunc));
            BiConsumer<com.ywt.gapi.taihe.register.RegisterWithoutMedicalCardRequest, StreamObserver<com.ywt.gapi.taihe.register.RegisterWithoutMedicalCardResponse>> registerWithoutMedicalCardAsyncFunc = syncToAsync(this::registerWithoutMedicalCard);
            handlers.put(registerWithoutMedicalCardProxyAsyncMethod.getMethodName(), new UnaryStubMethodHandler<>(registerWithoutMedicalCardAsyncFunc));
            BiConsumer<com.ywt.gapi.taihe.register.GetOfflineConsultInfoByDoctorIdRequest, StreamObserver<com.ywt.gapi.taihe.register.GetOfflineConsultInfoByDoctorIdResponse>> getOfflineConsultInfoByDoctorIdFunc = this::getOfflineConsultInfoByDoctorId;
            handlers.put(getOfflineConsultInfoByDoctorIdMethod.getMethodName(), new UnaryStubMethodHandler<>(getOfflineConsultInfoByDoctorIdFunc));
            BiConsumer<com.ywt.gapi.taihe.register.GetOfflineConsultInfoByDoctorIdRequest, StreamObserver<com.ywt.gapi.taihe.register.GetOfflineConsultInfoByDoctorIdResponse>> getOfflineConsultInfoByDoctorIdAsyncFunc = syncToAsync(this::getOfflineConsultInfoByDoctorId);
            handlers.put(getOfflineConsultInfoByDoctorIdProxyAsyncMethod.getMethodName(), new UnaryStubMethodHandler<>(getOfflineConsultInfoByDoctorIdAsyncFunc));
            BiConsumer<com.ywt.gapi.taihe.register.GetLatestRegOrderRequest, StreamObserver<com.ywt.gapi.taihe.register.GetLatestRegOrderResponse>> getLatestRegOrderFunc = this::getLatestRegOrder;
            handlers.put(getLatestRegOrderMethod.getMethodName(), new UnaryStubMethodHandler<>(getLatestRegOrderFunc));
            BiConsumer<com.ywt.gapi.taihe.register.GetLatestRegOrderRequest, StreamObserver<com.ywt.gapi.taihe.register.GetLatestRegOrderResponse>> getLatestRegOrderAsyncFunc = syncToAsync(this::getLatestRegOrder);
            handlers.put(getLatestRegOrderProxyAsyncMethod.getMethodName(), new UnaryStubMethodHandler<>(getLatestRegOrderAsyncFunc));
            BiConsumer<com.ywt.gapi.taihe.register.CalAdditionalFeeRequest, StreamObserver<com.ywt.gapi.taihe.register.CalAdditionalFeeResponse>> calAdditionalFeeFunc = this::calAdditionalFee;
            handlers.put(calAdditionalFeeMethod.getMethodName(), new UnaryStubMethodHandler<>(calAdditionalFeeFunc));
            BiConsumer<com.ywt.gapi.taihe.register.CalAdditionalFeeRequest, StreamObserver<com.ywt.gapi.taihe.register.CalAdditionalFeeResponse>> calAdditionalFeeAsyncFunc = syncToAsync(this::calAdditionalFee);
            handlers.put(calAdditionalFeeProxyAsyncMethod.getMethodName(), new UnaryStubMethodHandler<>(calAdditionalFeeAsyncFunc));
            BiConsumer<com.ywt.gapi.taihe.register.GetHisPatientIdByUserIdAndMobileRequest, StreamObserver<com.ywt.gapi.taihe.register.GetHisPatientIdByUserIdAndMobileResponse>> getHisPatientIdByUserIdAndMobileFunc = this::getHisPatientIdByUserIdAndMobile;
            handlers.put(getHisPatientIdByUserIdAndMobileMethod.getMethodName(), new UnaryStubMethodHandler<>(getHisPatientIdByUserIdAndMobileFunc));
            BiConsumer<com.ywt.gapi.taihe.register.GetHisPatientIdByUserIdAndMobileRequest, StreamObserver<com.ywt.gapi.taihe.register.GetHisPatientIdByUserIdAndMobileResponse>> getHisPatientIdByUserIdAndMobileAsyncFunc = syncToAsync(this::getHisPatientIdByUserIdAndMobile);
            handlers.put(getHisPatientIdByUserIdAndMobileProxyAsyncMethod.getMethodName(), new UnaryStubMethodHandler<>(getHisPatientIdByUserIdAndMobileAsyncFunc));
            BiConsumer<com.ywt.gapi.taihe.register.CreateMedicalCardRequest, StreamObserver<com.ywt.gapi.taihe.register.CreateMedicalCardResponse>> createMedicalCardFunc = this::createMedicalCard;
            handlers.put(createMedicalCardMethod.getMethodName(), new UnaryStubMethodHandler<>(createMedicalCardFunc));
            BiConsumer<com.ywt.gapi.taihe.register.CreateMedicalCardRequest, StreamObserver<com.ywt.gapi.taihe.register.CreateMedicalCardResponse>> createMedicalCardAsyncFunc = syncToAsync(this::createMedicalCard);
            handlers.put(createMedicalCardProxyAsyncMethod.getMethodName(), new UnaryStubMethodHandler<>(createMedicalCardAsyncFunc));
            BiConsumer<com.ywt.gapi.taihe.register.RegisterCheckInMessageRequest, StreamObserver<com.ywt.gapi.taihe.register.RegisterCheckInMessageResponse>> registerCheckInMessageFunc = this::registerCheckInMessage;
            handlers.put(registerCheckInMessageMethod.getMethodName(), new UnaryStubMethodHandler<>(registerCheckInMessageFunc));
            BiConsumer<com.ywt.gapi.taihe.register.RegisterCheckInMessageRequest, StreamObserver<com.ywt.gapi.taihe.register.RegisterCheckInMessageResponse>> registerCheckInMessageAsyncFunc = syncToAsync(this::registerCheckInMessage);
            handlers.put(registerCheckInMessageProxyAsyncMethod.getMethodName(), new UnaryStubMethodHandler<>(registerCheckInMessageAsyncFunc));




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


        @Override
        public com.ywt.gapi.taihe.register.CreateRegisteredResponse createRegistered(com.ywt.gapi.taihe.register.CreateRegisteredRequest request){
            throw unimplementedMethodException(createRegisteredMethod);
        }

        @Override
        public com.ywt.gapi.taihe.register.CancelRegisteredResponse cancelRegistered(com.ywt.gapi.taihe.register.CancelRegisteredRequest request){
            throw unimplementedMethodException(cancelRegisteredMethod);
        }

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

        @Override
        public com.ywt.gapi.taihe.register.RefundCallbackResponse refundCallback(com.ywt.gapi.taihe.register.RefundCallbackRequest request){
            throw unimplementedMethodException(refundCallbackMethod);
        }

        @Override
        public com.ywt.gapi.taihe.register.RegisterResponse register(com.ywt.gapi.taihe.register.RegisterRequest request){
            throw unimplementedMethodException(registerMethod);
        }

        @Override
        public com.ywt.gapi.taihe.register.TakeResponse take(com.ywt.gapi.taihe.register.TakeRequest request){
            throw unimplementedMethodException(takeMethod);
        }

        @Override
        public com.ywt.gapi.taihe.register.GetQueueListResponse getQueueList(com.ywt.gapi.taihe.register.GetQueueListRequest request){
            throw unimplementedMethodException(getQueueListMethod);
        }

        @Override
        public com.ywt.gapi.taihe.register.GetCommonOrderListResponse getCommonOrderList(com.ywt.gapi.taihe.register.GetCommonOrderListRequest request){
            throw unimplementedMethodException(getCommonOrderListMethod);
        }

        @Override
        public com.ywt.gapi.taihe.register.GetRegisteredListResponse getRegisteredList(com.ywt.gapi.taihe.register.GetRegisteredListRequest request){
            throw unimplementedMethodException(getRegisteredListMethod);
        }

        @Override
        public com.ywt.gapi.taihe.register.RegisterWithoutMedicalCardResponse registerWithoutMedicalCard(com.ywt.gapi.taihe.register.RegisterWithoutMedicalCardRequest request){
            throw unimplementedMethodException(registerWithoutMedicalCardMethod);
        }

        @Override
        public com.ywt.gapi.taihe.register.GetOfflineConsultInfoByDoctorIdResponse getOfflineConsultInfoByDoctorId(com.ywt.gapi.taihe.register.GetOfflineConsultInfoByDoctorIdRequest request){
            throw unimplementedMethodException(getOfflineConsultInfoByDoctorIdMethod);
        }

        @Override
        public com.ywt.gapi.taihe.register.GetLatestRegOrderResponse getLatestRegOrder(com.ywt.gapi.taihe.register.GetLatestRegOrderRequest request){
            throw unimplementedMethodException(getLatestRegOrderMethod);
        }

        @Override
        public com.ywt.gapi.taihe.register.CalAdditionalFeeResponse calAdditionalFee(com.ywt.gapi.taihe.register.CalAdditionalFeeRequest request){
            throw unimplementedMethodException(calAdditionalFeeMethod);
        }

        @Override
        public com.ywt.gapi.taihe.register.GetHisPatientIdByUserIdAndMobileResponse getHisPatientIdByUserIdAndMobile(com.ywt.gapi.taihe.register.GetHisPatientIdByUserIdAndMobileRequest request){
            throw unimplementedMethodException(getHisPatientIdByUserIdAndMobileMethod);
        }

        @Override
        public com.ywt.gapi.taihe.register.CreateMedicalCardResponse createMedicalCard(com.ywt.gapi.taihe.register.CreateMedicalCardRequest request){
            throw unimplementedMethodException(createMedicalCardMethod);
        }

        @Override
        public com.ywt.gapi.taihe.register.RegisterCheckInMessageResponse registerCheckInMessage(com.ywt.gapi.taihe.register.RegisterCheckInMessageRequest request){
            throw unimplementedMethodException(registerCheckInMessageMethod);
        }





        @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();
        }
    }

}
