# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT!
"""Client and server classes corresponding to protobuf-defined services."""
import grpc

import grpcclient.Saleorder_pb2 as Saleorder__pb2


class SaleorderServiceStub(object):
    """Missing associated documentation comment in .proto file."""

    def __init__(self, channel):
        """Constructor.

        Args:
            channel: A grpc.Channel.
        """
        self.ProductMod = channel.unary_unary(
                '/saleorder.SaleorderService/ProductMod',
                request_serializer=Saleorder__pb2.ProductModRequest.SerializeToString,
                response_deserializer=Saleorder__pb2.ProductModResponse.FromString,
                )
        self.ProductList = channel.unary_unary(
                '/saleorder.SaleorderService/ProductList',
                request_serializer=Saleorder__pb2.ProductListRequest.SerializeToString,
                response_deserializer=Saleorder__pb2.ProductListResponse.FromString,
                )
        self.ProductBindLabel = channel.unary_unary(
                '/saleorder.SaleorderService/ProductBindLabel',
                request_serializer=Saleorder__pb2.ProductBindLabelRequest.SerializeToString,
                response_deserializer=Saleorder__pb2.ProductBindLabelResponse.FromString,
                )
        self.ProductUnbindLabel = channel.unary_unary(
                '/saleorder.SaleorderService/ProductUnbindLabel',
                request_serializer=Saleorder__pb2.ProductUnbindLabelRequest.SerializeToString,
                response_deserializer=Saleorder__pb2.ProductUnbindLabelResponse.FromString,
                )
        self.ProductDetail = channel.unary_unary(
                '/saleorder.SaleorderService/ProductDetail',
                request_serializer=Saleorder__pb2.ProductDetailRequest.SerializeToString,
                response_deserializer=Saleorder__pb2.ProductDetailResponse.FromString,
                )
        self.ProductBindRule = channel.unary_unary(
                '/saleorder.SaleorderService/ProductBindRule',
                request_serializer=Saleorder__pb2.ProductBindRuleRequest.SerializeToString,
                response_deserializer=Saleorder__pb2.ProductBindRuleResponse.FromString,
                )
        self.ProductUnbindRule = channel.unary_unary(
                '/saleorder.SaleorderService/ProductUnbindRule',
                request_serializer=Saleorder__pb2.ProductUnbindRuleRequest.SerializeToString,
                response_deserializer=Saleorder__pb2.ProductUnbindRuleResponse.FromString,
                )
        self.ProReverseIndexPkgs = channel.unary_unary(
                '/saleorder.SaleorderService/ProReverseIndexPkgs',
                request_serializer=Saleorder__pb2.ProReverseIndexPkgsRequest.SerializeToString,
                response_deserializer=Saleorder__pb2.ProReverseIndexPkgsResponse.FromString,
                )
        self.ProductDelete = channel.unary_unary(
                '/saleorder.SaleorderService/ProductDelete',
                request_serializer=Saleorder__pb2.ProductDeleteRequest.SerializeToString,
                response_deserializer=Saleorder__pb2.ProductDeleteResponse.FromString,
                )
        self.PackageMod = channel.unary_unary(
                '/saleorder.SaleorderService/PackageMod',
                request_serializer=Saleorder__pb2.PackageModRequest.SerializeToString,
                response_deserializer=Saleorder__pb2.PackageModResponse.FromString,
                )
        self.PackageList = channel.unary_unary(
                '/saleorder.SaleorderService/PackageList',
                request_serializer=Saleorder__pb2.PackageListRequest.SerializeToString,
                response_deserializer=Saleorder__pb2.PackageListResponse.FromString,
                )
        self.PackageBindProduct = channel.unary_unary(
                '/saleorder.SaleorderService/PackageBindProduct',
                request_serializer=Saleorder__pb2.PackageBindProductRequest.SerializeToString,
                response_deserializer=Saleorder__pb2.PackageBindProductResponse.FromString,
                )
        self.PackageDetail = channel.unary_unary(
                '/saleorder.SaleorderService/PackageDetail',
                request_serializer=Saleorder__pb2.PackageDetailRequest.SerializeToString,
                response_deserializer=Saleorder__pb2.PackageDetailResponse.FromString,
                )
        self.PackageBindLabel = channel.unary_unary(
                '/saleorder.SaleorderService/PackageBindLabel',
                request_serializer=Saleorder__pb2.PackageBindLabelRequest.SerializeToString,
                response_deserializer=Saleorder__pb2.PackageBindLabelResponse.FromString,
                )
        self.PackageUnbindLabel = channel.unary_unary(
                '/saleorder.SaleorderService/PackageUnbindLabel',
                request_serializer=Saleorder__pb2.PackageUnbindLabelRequest.SerializeToString,
                response_deserializer=Saleorder__pb2.PackageUnbindLabelResponse.FromString,
                )
        self.PackageBindRule = channel.unary_unary(
                '/saleorder.SaleorderService/PackageBindRule',
                request_serializer=Saleorder__pb2.PackageBindRuleRequest.SerializeToString,
                response_deserializer=Saleorder__pb2.PackageBindRuleResponse.FromString,
                )
        self.PackageUnbindRule = channel.unary_unary(
                '/saleorder.SaleorderService/PackageUnbindRule',
                request_serializer=Saleorder__pb2.PackageUnbindRuleRequest.SerializeToString,
                response_deserializer=Saleorder__pb2.PackageUnbindRuleResponse.FromString,
                )
        self.PackageStatusUp = channel.unary_unary(
                '/saleorder.SaleorderService/PackageStatusUp',
                request_serializer=Saleorder__pb2.PackageStatusUpRequest.SerializeToString,
                response_deserializer=Saleorder__pb2.PackageStatusUpResponse.FromString,
                )
        self.PackageDelete = channel.unary_unary(
                '/saleorder.SaleorderService/PackageDelete',
                request_serializer=Saleorder__pb2.PackageDeleteRequest.SerializeToString,
                response_deserializer=Saleorder__pb2.PackageDeleteResponse.FromString,
                )
        self.GetPackageStatus = channel.unary_unary(
                '/saleorder.SaleorderService/GetPackageStatus',
                request_serializer=Saleorder__pb2.GetPackageStatusRequest.SerializeToString,
                response_deserializer=Saleorder__pb2.GetPackageStatusResponse.FromString,
                )
        self.GetLabelsByPackageId = channel.unary_unary(
                '/saleorder.SaleorderService/GetLabelsByPackageId',
                request_serializer=Saleorder__pb2.GetLabelsByPackageIdRequest.SerializeToString,
                response_deserializer=Saleorder__pb2.GetLabelsByPackageIdResponse.FromString,
                )
        self.CheckPkgUseCoupon = channel.unary_unary(
                '/saleorder.SaleorderService/CheckPkgUseCoupon',
                request_serializer=Saleorder__pb2.CheckPkgUseCouponRequest.SerializeToString,
                response_deserializer=Saleorder__pb2.CheckPkgUseCouponResponse.FromString,
                )
        self.PackageInfoList = channel.unary_unary(
                '/saleorder.SaleorderService/PackageInfoList',
                request_serializer=Saleorder__pb2.PackageInfoListRequest.SerializeToString,
                response_deserializer=Saleorder__pb2.PackageInfoListResponse.FromString,
                )
        self.MathSinglePackageProMod = channel.unary_unary(
                '/saleorder.SaleorderService/MathSinglePackageProMod',
                request_serializer=Saleorder__pb2.MathSinglePackageProModRequest.SerializeToString,
                response_deserializer=Saleorder__pb2.MathSinglePackageProModResponse.FromString,
                )
        self.LabelMod = channel.unary_unary(
                '/saleorder.SaleorderService/LabelMod',
                request_serializer=Saleorder__pb2.LabelModRequest.SerializeToString,
                response_deserializer=Saleorder__pb2.LabelModResponse.FromString,
                )
        self.LabelList = channel.unary_unary(
                '/saleorder.SaleorderService/LabelList',
                request_serializer=Saleorder__pb2.LabelListRequest.SerializeToString,
                response_deserializer=Saleorder__pb2.LabelListResponse.FromString,
                )
        self.LabelDetail = channel.unary_unary(
                '/saleorder.SaleorderService/LabelDetail',
                request_serializer=Saleorder__pb2.LabelDetailRequest.SerializeToString,
                response_deserializer=Saleorder__pb2.LabelDetailResponse.FromString,
                )
        self.LabelAble = channel.unary_unary(
                '/saleorder.SaleorderService/LabelAble',
                request_serializer=Saleorder__pb2.LabelAbleResquest.SerializeToString,
                response_deserializer=Saleorder__pb2.LabelAbleResponse.FromString,
                )
        self.OrderCreate = channel.unary_unary(
                '/saleorder.SaleorderService/OrderCreate',
                request_serializer=Saleorder__pb2.OrderCreateRequest.SerializeToString,
                response_deserializer=Saleorder__pb2.OrderCreateResponse.FromString,
                )
        self.TripartiteSale = channel.unary_unary(
                '/saleorder.SaleorderService/TripartiteSale',
                request_serializer=Saleorder__pb2.TripartiteSaleRequest.SerializeToString,
                response_deserializer=Saleorder__pb2.TripartiteSaleResponse.FromString,
                )
        self.OrderNotify = channel.unary_unary(
                '/saleorder.SaleorderService/OrderNotify',
                request_serializer=Saleorder__pb2.OrderNotifyRequest.SerializeToString,
                response_deserializer=Saleorder__pb2.OrderNotifyResponse.FromString,
                )
        self.GiveByOrder = channel.unary_unary(
                '/saleorder.SaleorderService/GiveByOrder',
                request_serializer=Saleorder__pb2.GiveByOrderRequest.SerializeToString,
                response_deserializer=Saleorder__pb2.GiveByOrderResponse.FromString,
                )
        self.Give = channel.unary_unary(
                '/saleorder.SaleorderService/Give',
                request_serializer=Saleorder__pb2.GiveRequest.SerializeToString,
                response_deserializer=Saleorder__pb2.GiveResponse.FromString,
                )
        self.GiveEquity = channel.unary_unary(
                '/saleorder.SaleorderService/GiveEquity',
                request_serializer=Saleorder__pb2.GiveEquityRequest.SerializeToString,
                response_deserializer=Saleorder__pb2.GiveEquityResponse.FromString,
                )
        self.CodeExchange = channel.unary_unary(
                '/saleorder.SaleorderService/CodeExchange',
                request_serializer=Saleorder__pb2.CodeExchangeRequest.SerializeToString,
                response_deserializer=Saleorder__pb2.CodeExchangeResponse.FromString,
                )
        self.CreateGroupSaleOrder = channel.unary_unary(
                '/saleorder.SaleorderService/CreateGroupSaleOrder',
                request_serializer=Saleorder__pb2.CreateGroupSaleOrderRequest.SerializeToString,
                response_deserializer=Saleorder__pb2.CreateGroupSaleOrderResponse.FromString,
                )
        self.OrderCreateByExternalChannel = channel.unary_unary(
                '/saleorder.SaleorderService/OrderCreateByExternalChannel',
                request_serializer=Saleorder__pb2.OrderCreateByExternalChannelRequest.SerializeToString,
                response_deserializer=Saleorder__pb2.OrderCreateByExternalChannelResponse.FromString,
                )
        self.CheckUserIsBuy = channel.unary_unary(
                '/saleorder.SaleorderService/CheckUserIsBuy',
                request_serializer=Saleorder__pb2.CheckUserIsBuyRequest.SerializeToString,
                response_deserializer=Saleorder__pb2.CheckUserIsBuyResponse.FromString,
                )
        self.OrderDetail = channel.unary_unary(
                '/saleorder.SaleorderService/OrderDetail',
                request_serializer=Saleorder__pb2.OrderDetailRequest.SerializeToString,
                response_deserializer=Saleorder__pb2.OrderDetailResponse.FromString,
                )
        self.OrderList = channel.unary_unary(
                '/saleorder.SaleorderService/OrderList',
                request_serializer=Saleorder__pb2.OrderListRequest.SerializeToString,
                response_deserializer=Saleorder__pb2.OrderListResponse.FromString,
                )
        self.ActualPackage = channel.unary_unary(
                '/saleorder.SaleorderService/ActualPackage',
                request_serializer=Saleorder__pb2.ActualPackageRequest.SerializeToString,
                response_deserializer=Saleorder__pb2.ActualPackageResponse.FromString,
                )
        self.ActualPackageList = channel.unary_unary(
                '/saleorder.SaleorderService/ActualPackageList',
                request_serializer=Saleorder__pb2.ActualPackageListRequest.SerializeToString,
                response_deserializer=Saleorder__pb2.ActualPackageListResponse.FromString,
                )
        self.InsertSaleorderProAliasPkg = channel.unary_unary(
                '/saleorder.SaleorderService/InsertSaleorderProAliasPkg',
                request_serializer=Saleorder__pb2.InsertProAliasPkgRequest.SerializeToString,
                response_deserializer=Saleorder__pb2.InsertProAliasPkgResponse.FromString,
                )
        self.PreClcPkg = channel.unary_unary(
                '/saleorder.SaleorderService/PreClcPkg',
                request_serializer=Saleorder__pb2.PreClcPkgRequest.SerializeToString,
                response_deserializer=Saleorder__pb2.PreClcPkgResponse.FromString,
                )
        self.RefundApply = channel.unary_unary(
                '/saleorder.SaleorderService/RefundApply',
                request_serializer=Saleorder__pb2.RefundApplyRequest.SerializeToString,
                response_deserializer=Saleorder__pb2.RefundApplyResponse.FromString,
                )
        self.RefundApplyCancel = channel.unary_unary(
                '/saleorder.SaleorderService/RefundApplyCancel',
                request_serializer=Saleorder__pb2.RefundApplyCancelRequest.SerializeToString,
                response_deserializer=Saleorder__pb2.RefundApplyCancelResponse.FromString,
                )
        self.Refund = channel.unary_unary(
                '/saleorder.SaleorderService/Refund',
                request_serializer=Saleorder__pb2.RefundRequest.SerializeToString,
                response_deserializer=Saleorder__pb2.RefundResponse.FromString,
                )
        self.ReturnOrder = channel.unary_unary(
                '/saleorder.SaleorderService/ReturnOrder',
                request_serializer=Saleorder__pb2.ReturnOrderRequest.SerializeToString,
                response_deserializer=Saleorder__pb2.ReturnOrderResponse.FromString,
                )
        self.ReportFeature = channel.unary_unary(
                '/saleorder.SaleorderService/ReportFeature',
                request_serializer=Saleorder__pb2.ReportFeatureRequest.SerializeToString,
                response_deserializer=Saleorder__pb2.ReportFeatureResponse.FromString,
                )
        self.RefundList = channel.unary_unary(
                '/saleorder.SaleorderService/RefundList',
                request_serializer=Saleorder__pb2.RefundListRequest.SerializeToString,
                response_deserializer=Saleorder__pb2.RefundListResponse.FromString,
                )
        self.QueryTableChangeRecord = channel.unary_unary(
                '/saleorder.SaleorderService/QueryTableChangeRecord',
                request_serializer=Saleorder__pb2.ChangeLogReq.SerializeToString,
                response_deserializer=Saleorder__pb2.ChangeLogResponse.FromString,
                )
        self.RefundPreCalculate = channel.unary_unary(
                '/saleorder.SaleorderService/RefundPreCalculate',
                request_serializer=Saleorder__pb2.RefundPreCalculateRequest.SerializeToString,
                response_deserializer=Saleorder__pb2.RefundPreCalculateResponse.FromString,
                )
        self.UnifiedRefund = channel.unary_unary(
                '/saleorder.SaleorderService/UnifiedRefund',
                request_serializer=Saleorder__pb2.UnifiedRefundRequest.SerializeToString,
                response_deserializer=Saleorder__pb2.UnifiedRefundResponse.FromString,
                )
        self.GetRefundInfo = channel.unary_unary(
                '/saleorder.SaleorderService/GetRefundInfo',
                request_serializer=Saleorder__pb2.RefundInfoRequest.SerializeToString,
                response_deserializer=Saleorder__pb2.RefundInfoResponse.FromString,
                )
        self.RefundChildOrder = channel.unary_unary(
                '/saleorder.SaleorderService/RefundChildOrder',
                request_serializer=Saleorder__pb2.RefundChildOrderRequest.SerializeToString,
                response_deserializer=Saleorder__pb2.RefundChildOrderResponse.FromString,
                )
        self.CreateRefundApply = channel.unary_unary(
                '/saleorder.SaleorderService/CreateRefundApply',
                request_serializer=Saleorder__pb2.CreateRefundApplyRequest.SerializeToString,
                response_deserializer=Saleorder__pb2.CreateRefundApplyResponse.FromString,
                )
        self.GetUserLastBuyInfo = channel.unary_unary(
                '/saleorder.SaleorderService/GetUserLastBuyInfo',
                request_serializer=Saleorder__pb2.GetUserLastBuyInfoRequest.SerializeToString,
                response_deserializer=Saleorder__pb2.GetUserLastBuyInfoResponse.FromString,
                )
        self.AddRefundVipInfo = channel.unary_unary(
                '/saleorder.SaleorderService/AddRefundVipInfo',
                request_serializer=Saleorder__pb2.AddRefundVipInfoRequest.SerializeToString,
                response_deserializer=Saleorder__pb2.AddRefundVipInfoResponse.FromString,
                )
        self.RefundCodeExchangeOrder = channel.unary_unary(
                '/saleorder.SaleorderService/RefundCodeExchangeOrder',
                request_serializer=Saleorder__pb2.RefundCodeExchangeOrderRequest.SerializeToString,
                response_deserializer=Saleorder__pb2.RefundCodeExchangeOrderResponse.FromString,
                )
        self.RefundGiveOrder = channel.unary_unary(
                '/saleorder.SaleorderService/RefundGiveOrder',
                request_serializer=Saleorder__pb2.RefundGiveOrderRequest.SerializeToString,
                response_deserializer=Saleorder__pb2.RefundGiveOrderResponse.FromString,
                )
        self.DeductVipDuration = channel.unary_unary(
                '/saleorder.SaleorderService/DeductVipDuration',
                request_serializer=Saleorder__pb2.DeductVipDurationRequest.SerializeToString,
                response_deserializer=Saleorder__pb2.DeductVipDurationResponse.FromString,
                )
        self.HandleFreeOrderShopmall = channel.unary_unary(
                '/saleorder.SaleorderService/HandleFreeOrderShopmall',
                request_serializer=Saleorder__pb2.HandleFreeOrderShopmallReq.SerializeToString,
                response_deserializer=Saleorder__pb2.HandleFreeOrderShopmallResponse.FromString,
                )
        self.ShopmallProductMod = channel.unary_unary(
                '/saleorder.SaleorderService/ShopmallProductMod',
                request_serializer=Saleorder__pb2.ShopmallProductModRequest.SerializeToString,
                response_deserializer=Saleorder__pb2.ShopmallProductModResponse.FromString,
                )


class SaleorderServiceServicer(object):
    """Missing associated documentation comment in .proto file."""

    def ProductMod(self, request, context):
        """saleorder -- product\package eg crm
        timeout:3000
        新增/编辑商品
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def ProductList(self, request, context):
        """商品列表
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def ProductBindLabel(self, request, context):
        """商品绑定标签
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def ProductUnbindLabel(self, request, context):
        """商品解绑标签
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def ProductDetail(self, request, context):
        """商品详情
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def ProductBindRule(self, request, context):
        """商品绑定规则
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def ProductUnbindRule(self, request, context):
        """商品解绑规则
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def ProReverseIndexPkgs(self, request, context):
        """根据商品ID反向查找套餐列表
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def ProductDelete(self, request, context):
        """删除商品
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def PackageMod(self, request, context):
        """package
        新增/编辑套餐
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def PackageList(self, request, context):
        """套餐列表
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def PackageBindProduct(self, request, context):
        """套餐绑定商品
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def PackageDetail(self, request, context):
        """套餐详情
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def PackageBindLabel(self, request, context):
        """套餐绑定标签
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def PackageUnbindLabel(self, request, context):
        """套餐解绑规标签
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def PackageBindRule(self, request, context):
        """套餐绑定规则
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def PackageUnbindRule(self, request, context):
        """套餐解绑规则
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def PackageStatusUp(self, request, context):
        """上架/下架套餐
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def PackageDelete(self, request, context):
        """删除套餐
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def GetPackageStatus(self, request, context):
        """获取套餐状态
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def GetLabelsByPackageId(self, request, context):
        """获取套餐绑定标签列表
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def CheckPkgUseCoupon(self, request, context):
        """判断套餐是否可用优惠券
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def PackageInfoList(self, request, context):
        """套餐信息列表
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def MathSinglePackageProMod(self, request, context):
        """混合调用 创建套餐
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def LabelMod(self, request, context):
        """label
        新增/编辑标签
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def LabelList(self, request, context):
        """标签列表
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def LabelDetail(self, request, context):
        """标签详情
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def LabelAble(self, request, context):
        """作废标签
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def OrderCreate(self, request, context):
        """创建订单
        timeout:3000
        创建订单
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def TripartiteSale(self, request, context):
        """三方售卖，精读分销调用
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def OrderNotify(self, request, context):
        """timeout:5000
        订单支付回调
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def GiveByOrder(self, request, context):
        """timeout:3000
        向成功订单赠送商品
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def Give(self, request, context):
        """timeout:3000
        赠送接口
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def GiveEquity(self, request, context):
        """赠送权益，暂无调用
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def CodeExchange(self, request, context):
        """timeout:3000
        兑换码兑换
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def CreateGroupSaleOrder(self, request, context):
        """创建团购订单
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def OrderCreateByExternalChannel(self, request, context):
        """外部售卖订单，【天猫，抖店】
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def CheckUserIsBuy(self, request, context):
        """验证用户是否购买过
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def OrderDetail(self, request, context):
        """订单详情
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def OrderList(self, request, context):
        """订单列表
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def ActualPackage(self, request, context):
        """ios google商品，获取套餐信息
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def ActualPackageList(self, request, context):
        """ios google商品关联套餐列表
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def InsertSaleorderProAliasPkg(self, request, context):
        """创建 ios android 商品
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def PreClcPkg(self, request, context):
        """计算套餐支付金额 - 优惠抵扣
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def RefundApply(self, request, context):
        """timeout:3000
        创建退款工单
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def RefundApplyCancel(self, request, context):
        """取消退款工单
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def Refund(self, request, context):
        """退款执行
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def ReturnOrder(self, request, context):
        """退款 todo
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def ReportFeature(self, request, context):
        """特征上报 todo
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def RefundList(self, request, context):
        """退款列表
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def QueryTableChangeRecord(self, request, context):
        """查询操作记录
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def RefundPreCalculate(self, request, context):
        """预计算退款信息
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def UnifiedRefund(self, request, context):
        """工单统一退款接口
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def GetRefundInfo(self, request, context):
        """退款退款信息
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def RefundChildOrder(self, request, context):
        """退子单
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def CreateRefundApply(self, request, context):
        """工单调用，创建退款工单
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def GetUserLastBuyInfo(self, request, context):
        """获取用户最后一次购买时间
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def AddRefundVipInfo(self, request, context):
        """老vip退款
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def RefundCodeExchangeOrder(self, request, context):
        """退兑换码订单
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def RefundGiveOrder(self, request, context):
        """退赠送订单
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def DeductVipDuration(self, request, context):
        """扣减VIP时长
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def HandleFreeOrderShopmall(self, request, context):
        """商城商品确认发货操作
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def ShopmallProductMod(self, request, context):
        """创建实物商品
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')


def add_SaleorderServiceServicer_to_server(servicer, server):
    rpc_method_handlers = {
            'ProductMod': grpc.unary_unary_rpc_method_handler(
                    servicer.ProductMod,
                    request_deserializer=Saleorder__pb2.ProductModRequest.FromString,
                    response_serializer=Saleorder__pb2.ProductModResponse.SerializeToString,
            ),
            'ProductList': grpc.unary_unary_rpc_method_handler(
                    servicer.ProductList,
                    request_deserializer=Saleorder__pb2.ProductListRequest.FromString,
                    response_serializer=Saleorder__pb2.ProductListResponse.SerializeToString,
            ),
            'ProductBindLabel': grpc.unary_unary_rpc_method_handler(
                    servicer.ProductBindLabel,
                    request_deserializer=Saleorder__pb2.ProductBindLabelRequest.FromString,
                    response_serializer=Saleorder__pb2.ProductBindLabelResponse.SerializeToString,
            ),
            'ProductUnbindLabel': grpc.unary_unary_rpc_method_handler(
                    servicer.ProductUnbindLabel,
                    request_deserializer=Saleorder__pb2.ProductUnbindLabelRequest.FromString,
                    response_serializer=Saleorder__pb2.ProductUnbindLabelResponse.SerializeToString,
            ),
            'ProductDetail': grpc.unary_unary_rpc_method_handler(
                    servicer.ProductDetail,
                    request_deserializer=Saleorder__pb2.ProductDetailRequest.FromString,
                    response_serializer=Saleorder__pb2.ProductDetailResponse.SerializeToString,
            ),
            'ProductBindRule': grpc.unary_unary_rpc_method_handler(
                    servicer.ProductBindRule,
                    request_deserializer=Saleorder__pb2.ProductBindRuleRequest.FromString,
                    response_serializer=Saleorder__pb2.ProductBindRuleResponse.SerializeToString,
            ),
            'ProductUnbindRule': grpc.unary_unary_rpc_method_handler(
                    servicer.ProductUnbindRule,
                    request_deserializer=Saleorder__pb2.ProductUnbindRuleRequest.FromString,
                    response_serializer=Saleorder__pb2.ProductUnbindRuleResponse.SerializeToString,
            ),
            'ProReverseIndexPkgs': grpc.unary_unary_rpc_method_handler(
                    servicer.ProReverseIndexPkgs,
                    request_deserializer=Saleorder__pb2.ProReverseIndexPkgsRequest.FromString,
                    response_serializer=Saleorder__pb2.ProReverseIndexPkgsResponse.SerializeToString,
            ),
            'ProductDelete': grpc.unary_unary_rpc_method_handler(
                    servicer.ProductDelete,
                    request_deserializer=Saleorder__pb2.ProductDeleteRequest.FromString,
                    response_serializer=Saleorder__pb2.ProductDeleteResponse.SerializeToString,
            ),
            'PackageMod': grpc.unary_unary_rpc_method_handler(
                    servicer.PackageMod,
                    request_deserializer=Saleorder__pb2.PackageModRequest.FromString,
                    response_serializer=Saleorder__pb2.PackageModResponse.SerializeToString,
            ),
            'PackageList': grpc.unary_unary_rpc_method_handler(
                    servicer.PackageList,
                    request_deserializer=Saleorder__pb2.PackageListRequest.FromString,
                    response_serializer=Saleorder__pb2.PackageListResponse.SerializeToString,
            ),
            'PackageBindProduct': grpc.unary_unary_rpc_method_handler(
                    servicer.PackageBindProduct,
                    request_deserializer=Saleorder__pb2.PackageBindProductRequest.FromString,
                    response_serializer=Saleorder__pb2.PackageBindProductResponse.SerializeToString,
            ),
            'PackageDetail': grpc.unary_unary_rpc_method_handler(
                    servicer.PackageDetail,
                    request_deserializer=Saleorder__pb2.PackageDetailRequest.FromString,
                    response_serializer=Saleorder__pb2.PackageDetailResponse.SerializeToString,
            ),
            'PackageBindLabel': grpc.unary_unary_rpc_method_handler(
                    servicer.PackageBindLabel,
                    request_deserializer=Saleorder__pb2.PackageBindLabelRequest.FromString,
                    response_serializer=Saleorder__pb2.PackageBindLabelResponse.SerializeToString,
            ),
            'PackageUnbindLabel': grpc.unary_unary_rpc_method_handler(
                    servicer.PackageUnbindLabel,
                    request_deserializer=Saleorder__pb2.PackageUnbindLabelRequest.FromString,
                    response_serializer=Saleorder__pb2.PackageUnbindLabelResponse.SerializeToString,
            ),
            'PackageBindRule': grpc.unary_unary_rpc_method_handler(
                    servicer.PackageBindRule,
                    request_deserializer=Saleorder__pb2.PackageBindRuleRequest.FromString,
                    response_serializer=Saleorder__pb2.PackageBindRuleResponse.SerializeToString,
            ),
            'PackageUnbindRule': grpc.unary_unary_rpc_method_handler(
                    servicer.PackageUnbindRule,
                    request_deserializer=Saleorder__pb2.PackageUnbindRuleRequest.FromString,
                    response_serializer=Saleorder__pb2.PackageUnbindRuleResponse.SerializeToString,
            ),
            'PackageStatusUp': grpc.unary_unary_rpc_method_handler(
                    servicer.PackageStatusUp,
                    request_deserializer=Saleorder__pb2.PackageStatusUpRequest.FromString,
                    response_serializer=Saleorder__pb2.PackageStatusUpResponse.SerializeToString,
            ),
            'PackageDelete': grpc.unary_unary_rpc_method_handler(
                    servicer.PackageDelete,
                    request_deserializer=Saleorder__pb2.PackageDeleteRequest.FromString,
                    response_serializer=Saleorder__pb2.PackageDeleteResponse.SerializeToString,
            ),
            'GetPackageStatus': grpc.unary_unary_rpc_method_handler(
                    servicer.GetPackageStatus,
                    request_deserializer=Saleorder__pb2.GetPackageStatusRequest.FromString,
                    response_serializer=Saleorder__pb2.GetPackageStatusResponse.SerializeToString,
            ),
            'GetLabelsByPackageId': grpc.unary_unary_rpc_method_handler(
                    servicer.GetLabelsByPackageId,
                    request_deserializer=Saleorder__pb2.GetLabelsByPackageIdRequest.FromString,
                    response_serializer=Saleorder__pb2.GetLabelsByPackageIdResponse.SerializeToString,
            ),
            'CheckPkgUseCoupon': grpc.unary_unary_rpc_method_handler(
                    servicer.CheckPkgUseCoupon,
                    request_deserializer=Saleorder__pb2.CheckPkgUseCouponRequest.FromString,
                    response_serializer=Saleorder__pb2.CheckPkgUseCouponResponse.SerializeToString,
            ),
            'PackageInfoList': grpc.unary_unary_rpc_method_handler(
                    servicer.PackageInfoList,
                    request_deserializer=Saleorder__pb2.PackageInfoListRequest.FromString,
                    response_serializer=Saleorder__pb2.PackageInfoListResponse.SerializeToString,
            ),
            'MathSinglePackageProMod': grpc.unary_unary_rpc_method_handler(
                    servicer.MathSinglePackageProMod,
                    request_deserializer=Saleorder__pb2.MathSinglePackageProModRequest.FromString,
                    response_serializer=Saleorder__pb2.MathSinglePackageProModResponse.SerializeToString,
            ),
            'LabelMod': grpc.unary_unary_rpc_method_handler(
                    servicer.LabelMod,
                    request_deserializer=Saleorder__pb2.LabelModRequest.FromString,
                    response_serializer=Saleorder__pb2.LabelModResponse.SerializeToString,
            ),
            'LabelList': grpc.unary_unary_rpc_method_handler(
                    servicer.LabelList,
                    request_deserializer=Saleorder__pb2.LabelListRequest.FromString,
                    response_serializer=Saleorder__pb2.LabelListResponse.SerializeToString,
            ),
            'LabelDetail': grpc.unary_unary_rpc_method_handler(
                    servicer.LabelDetail,
                    request_deserializer=Saleorder__pb2.LabelDetailRequest.FromString,
                    response_serializer=Saleorder__pb2.LabelDetailResponse.SerializeToString,
            ),
            'LabelAble': grpc.unary_unary_rpc_method_handler(
                    servicer.LabelAble,
                    request_deserializer=Saleorder__pb2.LabelAbleResquest.FromString,
                    response_serializer=Saleorder__pb2.LabelAbleResponse.SerializeToString,
            ),
            'OrderCreate': grpc.unary_unary_rpc_method_handler(
                    servicer.OrderCreate,
                    request_deserializer=Saleorder__pb2.OrderCreateRequest.FromString,
                    response_serializer=Saleorder__pb2.OrderCreateResponse.SerializeToString,
            ),
            'TripartiteSale': grpc.unary_unary_rpc_method_handler(
                    servicer.TripartiteSale,
                    request_deserializer=Saleorder__pb2.TripartiteSaleRequest.FromString,
                    response_serializer=Saleorder__pb2.TripartiteSaleResponse.SerializeToString,
            ),
            'OrderNotify': grpc.unary_unary_rpc_method_handler(
                    servicer.OrderNotify,
                    request_deserializer=Saleorder__pb2.OrderNotifyRequest.FromString,
                    response_serializer=Saleorder__pb2.OrderNotifyResponse.SerializeToString,
            ),
            'GiveByOrder': grpc.unary_unary_rpc_method_handler(
                    servicer.GiveByOrder,
                    request_deserializer=Saleorder__pb2.GiveByOrderRequest.FromString,
                    response_serializer=Saleorder__pb2.GiveByOrderResponse.SerializeToString,
            ),
            'Give': grpc.unary_unary_rpc_method_handler(
                    servicer.Give,
                    request_deserializer=Saleorder__pb2.GiveRequest.FromString,
                    response_serializer=Saleorder__pb2.GiveResponse.SerializeToString,
            ),
            'GiveEquity': grpc.unary_unary_rpc_method_handler(
                    servicer.GiveEquity,
                    request_deserializer=Saleorder__pb2.GiveEquityRequest.FromString,
                    response_serializer=Saleorder__pb2.GiveEquityResponse.SerializeToString,
            ),
            'CodeExchange': grpc.unary_unary_rpc_method_handler(
                    servicer.CodeExchange,
                    request_deserializer=Saleorder__pb2.CodeExchangeRequest.FromString,
                    response_serializer=Saleorder__pb2.CodeExchangeResponse.SerializeToString,
            ),
            'CreateGroupSaleOrder': grpc.unary_unary_rpc_method_handler(
                    servicer.CreateGroupSaleOrder,
                    request_deserializer=Saleorder__pb2.CreateGroupSaleOrderRequest.FromString,
                    response_serializer=Saleorder__pb2.CreateGroupSaleOrderResponse.SerializeToString,
            ),
            'OrderCreateByExternalChannel': grpc.unary_unary_rpc_method_handler(
                    servicer.OrderCreateByExternalChannel,
                    request_deserializer=Saleorder__pb2.OrderCreateByExternalChannelRequest.FromString,
                    response_serializer=Saleorder__pb2.OrderCreateByExternalChannelResponse.SerializeToString,
            ),
            'CheckUserIsBuy': grpc.unary_unary_rpc_method_handler(
                    servicer.CheckUserIsBuy,
                    request_deserializer=Saleorder__pb2.CheckUserIsBuyRequest.FromString,
                    response_serializer=Saleorder__pb2.CheckUserIsBuyResponse.SerializeToString,
            ),
            'OrderDetail': grpc.unary_unary_rpc_method_handler(
                    servicer.OrderDetail,
                    request_deserializer=Saleorder__pb2.OrderDetailRequest.FromString,
                    response_serializer=Saleorder__pb2.OrderDetailResponse.SerializeToString,
            ),
            'OrderList': grpc.unary_unary_rpc_method_handler(
                    servicer.OrderList,
                    request_deserializer=Saleorder__pb2.OrderListRequest.FromString,
                    response_serializer=Saleorder__pb2.OrderListResponse.SerializeToString,
            ),
            'ActualPackage': grpc.unary_unary_rpc_method_handler(
                    servicer.ActualPackage,
                    request_deserializer=Saleorder__pb2.ActualPackageRequest.FromString,
                    response_serializer=Saleorder__pb2.ActualPackageResponse.SerializeToString,
            ),
            'ActualPackageList': grpc.unary_unary_rpc_method_handler(
                    servicer.ActualPackageList,
                    request_deserializer=Saleorder__pb2.ActualPackageListRequest.FromString,
                    response_serializer=Saleorder__pb2.ActualPackageListResponse.SerializeToString,
            ),
            'InsertSaleorderProAliasPkg': grpc.unary_unary_rpc_method_handler(
                    servicer.InsertSaleorderProAliasPkg,
                    request_deserializer=Saleorder__pb2.InsertProAliasPkgRequest.FromString,
                    response_serializer=Saleorder__pb2.InsertProAliasPkgResponse.SerializeToString,
            ),
            'PreClcPkg': grpc.unary_unary_rpc_method_handler(
                    servicer.PreClcPkg,
                    request_deserializer=Saleorder__pb2.PreClcPkgRequest.FromString,
                    response_serializer=Saleorder__pb2.PreClcPkgResponse.SerializeToString,
            ),
            'RefundApply': grpc.unary_unary_rpc_method_handler(
                    servicer.RefundApply,
                    request_deserializer=Saleorder__pb2.RefundApplyRequest.FromString,
                    response_serializer=Saleorder__pb2.RefundApplyResponse.SerializeToString,
            ),
            'RefundApplyCancel': grpc.unary_unary_rpc_method_handler(
                    servicer.RefundApplyCancel,
                    request_deserializer=Saleorder__pb2.RefundApplyCancelRequest.FromString,
                    response_serializer=Saleorder__pb2.RefundApplyCancelResponse.SerializeToString,
            ),
            'Refund': grpc.unary_unary_rpc_method_handler(
                    servicer.Refund,
                    request_deserializer=Saleorder__pb2.RefundRequest.FromString,
                    response_serializer=Saleorder__pb2.RefundResponse.SerializeToString,
            ),
            'ReturnOrder': grpc.unary_unary_rpc_method_handler(
                    servicer.ReturnOrder,
                    request_deserializer=Saleorder__pb2.ReturnOrderRequest.FromString,
                    response_serializer=Saleorder__pb2.ReturnOrderResponse.SerializeToString,
            ),
            'ReportFeature': grpc.unary_unary_rpc_method_handler(
                    servicer.ReportFeature,
                    request_deserializer=Saleorder__pb2.ReportFeatureRequest.FromString,
                    response_serializer=Saleorder__pb2.ReportFeatureResponse.SerializeToString,
            ),
            'RefundList': grpc.unary_unary_rpc_method_handler(
                    servicer.RefundList,
                    request_deserializer=Saleorder__pb2.RefundListRequest.FromString,
                    response_serializer=Saleorder__pb2.RefundListResponse.SerializeToString,
            ),
            'QueryTableChangeRecord': grpc.unary_unary_rpc_method_handler(
                    servicer.QueryTableChangeRecord,
                    request_deserializer=Saleorder__pb2.ChangeLogReq.FromString,
                    response_serializer=Saleorder__pb2.ChangeLogResponse.SerializeToString,
            ),
            'RefundPreCalculate': grpc.unary_unary_rpc_method_handler(
                    servicer.RefundPreCalculate,
                    request_deserializer=Saleorder__pb2.RefundPreCalculateRequest.FromString,
                    response_serializer=Saleorder__pb2.RefundPreCalculateResponse.SerializeToString,
            ),
            'UnifiedRefund': grpc.unary_unary_rpc_method_handler(
                    servicer.UnifiedRefund,
                    request_deserializer=Saleorder__pb2.UnifiedRefundRequest.FromString,
                    response_serializer=Saleorder__pb2.UnifiedRefundResponse.SerializeToString,
            ),
            'GetRefundInfo': grpc.unary_unary_rpc_method_handler(
                    servicer.GetRefundInfo,
                    request_deserializer=Saleorder__pb2.RefundInfoRequest.FromString,
                    response_serializer=Saleorder__pb2.RefundInfoResponse.SerializeToString,
            ),
            'RefundChildOrder': grpc.unary_unary_rpc_method_handler(
                    servicer.RefundChildOrder,
                    request_deserializer=Saleorder__pb2.RefundChildOrderRequest.FromString,
                    response_serializer=Saleorder__pb2.RefundChildOrderResponse.SerializeToString,
            ),
            'CreateRefundApply': grpc.unary_unary_rpc_method_handler(
                    servicer.CreateRefundApply,
                    request_deserializer=Saleorder__pb2.CreateRefundApplyRequest.FromString,
                    response_serializer=Saleorder__pb2.CreateRefundApplyResponse.SerializeToString,
            ),
            'GetUserLastBuyInfo': grpc.unary_unary_rpc_method_handler(
                    servicer.GetUserLastBuyInfo,
                    request_deserializer=Saleorder__pb2.GetUserLastBuyInfoRequest.FromString,
                    response_serializer=Saleorder__pb2.GetUserLastBuyInfoResponse.SerializeToString,
            ),
            'AddRefundVipInfo': grpc.unary_unary_rpc_method_handler(
                    servicer.AddRefundVipInfo,
                    request_deserializer=Saleorder__pb2.AddRefundVipInfoRequest.FromString,
                    response_serializer=Saleorder__pb2.AddRefundVipInfoResponse.SerializeToString,
            ),
            'RefundCodeExchangeOrder': grpc.unary_unary_rpc_method_handler(
                    servicer.RefundCodeExchangeOrder,
                    request_deserializer=Saleorder__pb2.RefundCodeExchangeOrderRequest.FromString,
                    response_serializer=Saleorder__pb2.RefundCodeExchangeOrderResponse.SerializeToString,
            ),
            'RefundGiveOrder': grpc.unary_unary_rpc_method_handler(
                    servicer.RefundGiveOrder,
                    request_deserializer=Saleorder__pb2.RefundGiveOrderRequest.FromString,
                    response_serializer=Saleorder__pb2.RefundGiveOrderResponse.SerializeToString,
            ),
            'DeductVipDuration': grpc.unary_unary_rpc_method_handler(
                    servicer.DeductVipDuration,
                    request_deserializer=Saleorder__pb2.DeductVipDurationRequest.FromString,
                    response_serializer=Saleorder__pb2.DeductVipDurationResponse.SerializeToString,
            ),
            'HandleFreeOrderShopmall': grpc.unary_unary_rpc_method_handler(
                    servicer.HandleFreeOrderShopmall,
                    request_deserializer=Saleorder__pb2.HandleFreeOrderShopmallReq.FromString,
                    response_serializer=Saleorder__pb2.HandleFreeOrderShopmallResponse.SerializeToString,
            ),
            'ShopmallProductMod': grpc.unary_unary_rpc_method_handler(
                    servicer.ShopmallProductMod,
                    request_deserializer=Saleorder__pb2.ShopmallProductModRequest.FromString,
                    response_serializer=Saleorder__pb2.ShopmallProductModResponse.SerializeToString,
            ),
    }
    generic_handler = grpc.method_handlers_generic_handler(
            'saleorder.SaleorderService', rpc_method_handlers)
    server.add_generic_rpc_handlers((generic_handler,))


 # This class is part of an EXPERIMENTAL API.
class SaleorderService(object):
    """Missing associated documentation comment in .proto file."""

    @staticmethod
    def ProductMod(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/saleorder.SaleorderService/ProductMod',
            Saleorder__pb2.ProductModRequest.SerializeToString,
            Saleorder__pb2.ProductModResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def ProductList(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/saleorder.SaleorderService/ProductList',
            Saleorder__pb2.ProductListRequest.SerializeToString,
            Saleorder__pb2.ProductListResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def ProductBindLabel(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/saleorder.SaleorderService/ProductBindLabel',
            Saleorder__pb2.ProductBindLabelRequest.SerializeToString,
            Saleorder__pb2.ProductBindLabelResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def ProductUnbindLabel(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/saleorder.SaleorderService/ProductUnbindLabel',
            Saleorder__pb2.ProductUnbindLabelRequest.SerializeToString,
            Saleorder__pb2.ProductUnbindLabelResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def ProductDetail(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/saleorder.SaleorderService/ProductDetail',
            Saleorder__pb2.ProductDetailRequest.SerializeToString,
            Saleorder__pb2.ProductDetailResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def ProductBindRule(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/saleorder.SaleorderService/ProductBindRule',
            Saleorder__pb2.ProductBindRuleRequest.SerializeToString,
            Saleorder__pb2.ProductBindRuleResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def ProductUnbindRule(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/saleorder.SaleorderService/ProductUnbindRule',
            Saleorder__pb2.ProductUnbindRuleRequest.SerializeToString,
            Saleorder__pb2.ProductUnbindRuleResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def ProReverseIndexPkgs(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/saleorder.SaleorderService/ProReverseIndexPkgs',
            Saleorder__pb2.ProReverseIndexPkgsRequest.SerializeToString,
            Saleorder__pb2.ProReverseIndexPkgsResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def ProductDelete(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/saleorder.SaleorderService/ProductDelete',
            Saleorder__pb2.ProductDeleteRequest.SerializeToString,
            Saleorder__pb2.ProductDeleteResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def PackageMod(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/saleorder.SaleorderService/PackageMod',
            Saleorder__pb2.PackageModRequest.SerializeToString,
            Saleorder__pb2.PackageModResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def PackageList(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/saleorder.SaleorderService/PackageList',
            Saleorder__pb2.PackageListRequest.SerializeToString,
            Saleorder__pb2.PackageListResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def PackageBindProduct(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/saleorder.SaleorderService/PackageBindProduct',
            Saleorder__pb2.PackageBindProductRequest.SerializeToString,
            Saleorder__pb2.PackageBindProductResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def PackageDetail(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/saleorder.SaleorderService/PackageDetail',
            Saleorder__pb2.PackageDetailRequest.SerializeToString,
            Saleorder__pb2.PackageDetailResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def PackageBindLabel(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/saleorder.SaleorderService/PackageBindLabel',
            Saleorder__pb2.PackageBindLabelRequest.SerializeToString,
            Saleorder__pb2.PackageBindLabelResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def PackageUnbindLabel(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/saleorder.SaleorderService/PackageUnbindLabel',
            Saleorder__pb2.PackageUnbindLabelRequest.SerializeToString,
            Saleorder__pb2.PackageUnbindLabelResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def PackageBindRule(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/saleorder.SaleorderService/PackageBindRule',
            Saleorder__pb2.PackageBindRuleRequest.SerializeToString,
            Saleorder__pb2.PackageBindRuleResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def PackageUnbindRule(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/saleorder.SaleorderService/PackageUnbindRule',
            Saleorder__pb2.PackageUnbindRuleRequest.SerializeToString,
            Saleorder__pb2.PackageUnbindRuleResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def PackageStatusUp(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/saleorder.SaleorderService/PackageStatusUp',
            Saleorder__pb2.PackageStatusUpRequest.SerializeToString,
            Saleorder__pb2.PackageStatusUpResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def PackageDelete(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/saleorder.SaleorderService/PackageDelete',
            Saleorder__pb2.PackageDeleteRequest.SerializeToString,
            Saleorder__pb2.PackageDeleteResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def GetPackageStatus(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/saleorder.SaleorderService/GetPackageStatus',
            Saleorder__pb2.GetPackageStatusRequest.SerializeToString,
            Saleorder__pb2.GetPackageStatusResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def GetLabelsByPackageId(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/saleorder.SaleorderService/GetLabelsByPackageId',
            Saleorder__pb2.GetLabelsByPackageIdRequest.SerializeToString,
            Saleorder__pb2.GetLabelsByPackageIdResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def CheckPkgUseCoupon(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/saleorder.SaleorderService/CheckPkgUseCoupon',
            Saleorder__pb2.CheckPkgUseCouponRequest.SerializeToString,
            Saleorder__pb2.CheckPkgUseCouponResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def PackageInfoList(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/saleorder.SaleorderService/PackageInfoList',
            Saleorder__pb2.PackageInfoListRequest.SerializeToString,
            Saleorder__pb2.PackageInfoListResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def MathSinglePackageProMod(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/saleorder.SaleorderService/MathSinglePackageProMod',
            Saleorder__pb2.MathSinglePackageProModRequest.SerializeToString,
            Saleorder__pb2.MathSinglePackageProModResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def LabelMod(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/saleorder.SaleorderService/LabelMod',
            Saleorder__pb2.LabelModRequest.SerializeToString,
            Saleorder__pb2.LabelModResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def LabelList(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/saleorder.SaleorderService/LabelList',
            Saleorder__pb2.LabelListRequest.SerializeToString,
            Saleorder__pb2.LabelListResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def LabelDetail(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/saleorder.SaleorderService/LabelDetail',
            Saleorder__pb2.LabelDetailRequest.SerializeToString,
            Saleorder__pb2.LabelDetailResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def LabelAble(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/saleorder.SaleorderService/LabelAble',
            Saleorder__pb2.LabelAbleResquest.SerializeToString,
            Saleorder__pb2.LabelAbleResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def OrderCreate(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/saleorder.SaleorderService/OrderCreate',
            Saleorder__pb2.OrderCreateRequest.SerializeToString,
            Saleorder__pb2.OrderCreateResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def TripartiteSale(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/saleorder.SaleorderService/TripartiteSale',
            Saleorder__pb2.TripartiteSaleRequest.SerializeToString,
            Saleorder__pb2.TripartiteSaleResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def OrderNotify(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/saleorder.SaleorderService/OrderNotify',
            Saleorder__pb2.OrderNotifyRequest.SerializeToString,
            Saleorder__pb2.OrderNotifyResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def GiveByOrder(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/saleorder.SaleorderService/GiveByOrder',
            Saleorder__pb2.GiveByOrderRequest.SerializeToString,
            Saleorder__pb2.GiveByOrderResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def Give(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/saleorder.SaleorderService/Give',
            Saleorder__pb2.GiveRequest.SerializeToString,
            Saleorder__pb2.GiveResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def GiveEquity(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/saleorder.SaleorderService/GiveEquity',
            Saleorder__pb2.GiveEquityRequest.SerializeToString,
            Saleorder__pb2.GiveEquityResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def CodeExchange(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/saleorder.SaleorderService/CodeExchange',
            Saleorder__pb2.CodeExchangeRequest.SerializeToString,
            Saleorder__pb2.CodeExchangeResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def CreateGroupSaleOrder(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/saleorder.SaleorderService/CreateGroupSaleOrder',
            Saleorder__pb2.CreateGroupSaleOrderRequest.SerializeToString,
            Saleorder__pb2.CreateGroupSaleOrderResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def OrderCreateByExternalChannel(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/saleorder.SaleorderService/OrderCreateByExternalChannel',
            Saleorder__pb2.OrderCreateByExternalChannelRequest.SerializeToString,
            Saleorder__pb2.OrderCreateByExternalChannelResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def CheckUserIsBuy(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/saleorder.SaleorderService/CheckUserIsBuy',
            Saleorder__pb2.CheckUserIsBuyRequest.SerializeToString,
            Saleorder__pb2.CheckUserIsBuyResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def OrderDetail(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/saleorder.SaleorderService/OrderDetail',
            Saleorder__pb2.OrderDetailRequest.SerializeToString,
            Saleorder__pb2.OrderDetailResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def OrderList(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/saleorder.SaleorderService/OrderList',
            Saleorder__pb2.OrderListRequest.SerializeToString,
            Saleorder__pb2.OrderListResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def ActualPackage(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/saleorder.SaleorderService/ActualPackage',
            Saleorder__pb2.ActualPackageRequest.SerializeToString,
            Saleorder__pb2.ActualPackageResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def ActualPackageList(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/saleorder.SaleorderService/ActualPackageList',
            Saleorder__pb2.ActualPackageListRequest.SerializeToString,
            Saleorder__pb2.ActualPackageListResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def InsertSaleorderProAliasPkg(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/saleorder.SaleorderService/InsertSaleorderProAliasPkg',
            Saleorder__pb2.InsertProAliasPkgRequest.SerializeToString,
            Saleorder__pb2.InsertProAliasPkgResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def PreClcPkg(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/saleorder.SaleorderService/PreClcPkg',
            Saleorder__pb2.PreClcPkgRequest.SerializeToString,
            Saleorder__pb2.PreClcPkgResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def RefundApply(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/saleorder.SaleorderService/RefundApply',
            Saleorder__pb2.RefundApplyRequest.SerializeToString,
            Saleorder__pb2.RefundApplyResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def RefundApplyCancel(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/saleorder.SaleorderService/RefundApplyCancel',
            Saleorder__pb2.RefundApplyCancelRequest.SerializeToString,
            Saleorder__pb2.RefundApplyCancelResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def Refund(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/saleorder.SaleorderService/Refund',
            Saleorder__pb2.RefundRequest.SerializeToString,
            Saleorder__pb2.RefundResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def ReturnOrder(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/saleorder.SaleorderService/ReturnOrder',
            Saleorder__pb2.ReturnOrderRequest.SerializeToString,
            Saleorder__pb2.ReturnOrderResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def ReportFeature(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/saleorder.SaleorderService/ReportFeature',
            Saleorder__pb2.ReportFeatureRequest.SerializeToString,
            Saleorder__pb2.ReportFeatureResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def RefundList(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/saleorder.SaleorderService/RefundList',
            Saleorder__pb2.RefundListRequest.SerializeToString,
            Saleorder__pb2.RefundListResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def QueryTableChangeRecord(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/saleorder.SaleorderService/QueryTableChangeRecord',
            Saleorder__pb2.ChangeLogReq.SerializeToString,
            Saleorder__pb2.ChangeLogResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def RefundPreCalculate(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/saleorder.SaleorderService/RefundPreCalculate',
            Saleorder__pb2.RefundPreCalculateRequest.SerializeToString,
            Saleorder__pb2.RefundPreCalculateResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def UnifiedRefund(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/saleorder.SaleorderService/UnifiedRefund',
            Saleorder__pb2.UnifiedRefundRequest.SerializeToString,
            Saleorder__pb2.UnifiedRefundResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def GetRefundInfo(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/saleorder.SaleorderService/GetRefundInfo',
            Saleorder__pb2.RefundInfoRequest.SerializeToString,
            Saleorder__pb2.RefundInfoResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def RefundChildOrder(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/saleorder.SaleorderService/RefundChildOrder',
            Saleorder__pb2.RefundChildOrderRequest.SerializeToString,
            Saleorder__pb2.RefundChildOrderResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def CreateRefundApply(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/saleorder.SaleorderService/CreateRefundApply',
            Saleorder__pb2.CreateRefundApplyRequest.SerializeToString,
            Saleorder__pb2.CreateRefundApplyResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def GetUserLastBuyInfo(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/saleorder.SaleorderService/GetUserLastBuyInfo',
            Saleorder__pb2.GetUserLastBuyInfoRequest.SerializeToString,
            Saleorder__pb2.GetUserLastBuyInfoResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def AddRefundVipInfo(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/saleorder.SaleorderService/AddRefundVipInfo',
            Saleorder__pb2.AddRefundVipInfoRequest.SerializeToString,
            Saleorder__pb2.AddRefundVipInfoResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def RefundCodeExchangeOrder(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/saleorder.SaleorderService/RefundCodeExchangeOrder',
            Saleorder__pb2.RefundCodeExchangeOrderRequest.SerializeToString,
            Saleorder__pb2.RefundCodeExchangeOrderResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def RefundGiveOrder(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/saleorder.SaleorderService/RefundGiveOrder',
            Saleorder__pb2.RefundGiveOrderRequest.SerializeToString,
            Saleorder__pb2.RefundGiveOrderResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def DeductVipDuration(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/saleorder.SaleorderService/DeductVipDuration',
            Saleorder__pb2.DeductVipDurationRequest.SerializeToString,
            Saleorder__pb2.DeductVipDurationResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def HandleFreeOrderShopmall(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/saleorder.SaleorderService/HandleFreeOrderShopmall',
            Saleorder__pb2.HandleFreeOrderShopmallReq.SerializeToString,
            Saleorder__pb2.HandleFreeOrderShopmallResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def ShopmallProductMod(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/saleorder.SaleorderService/ShopmallProductMod',
            Saleorder__pb2.ShopmallProductModRequest.SerializeToString,
            Saleorder__pb2.ShopmallProductModResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
