コード例 #1
0
ファイル: Api.cs プロジェクト: magic-coder/Code-TicketOTA
        /// <summary>
        /// 成功返回
        /// </summary>
        /// <param name="responseBody"></param>
        /// <returns></returns>
        public static string SuccessResult(CreateOrderBodyRespose responseBody)
        {
            var responseData = new CreateOrderResponse
            {
                header = new HeaderResponse
                {
                    resultCode    = ResultCode.Success,
                    resultMessage = "成功"
                },
                body = responseBody
            };

            return(Helper.SerializeToXml(responseData));
        }
コード例 #2
0
ファイル: Api.cs プロジェクト: magic-coder/Code-TicketOTA
        /// <summary>
        /// 错误返回
        /// </summary>
        /// <param name="resultCode"></param>
        /// <param name="resultMessage"></param>
        /// <returns></returns>
        public static string ErrorResult(string resultCode, string resultMessage, CreateOrderBodyRespose verifyOrderBodyRespose)
        {
            var publicRespose = new CreateOrderResponse
            {
                header = new HeaderResponse
                {
                    resultCode    = resultCode,
                    resultMessage = resultMessage
                },
                body = verifyOrderBodyRespose
            };

            return(Helper.SerializeToXml(publicRespose));
        }
コード例 #3
0
 /// <summary>
 /// 创建订单接口
 /// </summary>
 /// <param name="response"></param>
 /// <returns></returns>
 public string CreateOrder(CreateOrderBodyRespose response)
 {
     return(Api.SuccessResult(response));
 }
コード例 #4
0
 public string ErrorResult(string code, string msg, CreateOrderBodyRespose createOrderBodyRespose)
 {
     return(Api.ErrorResult(code, msg, createOrderBodyRespose));
 }
コード例 #5
0
        /// <summary>
        /// 下单验证
        /// </summary>
        /// <param name="request"></param>
        /// <returns></returns>
        public string CreateOrder(string request)
        {
            var     requestBody = _ctripGateway.CheckCreateOrder(request);
            var     data        = requestBody.Data;
            int     productId   = 0;
            decimal price       = data.price.HasValue ? data.price.Value : 0;

            if (!int.TryParse(data.productId, out productId))
            {
                return(_ctripGateway.ErrorResult(ResultCode.CreateOrderForProductNotExist, "产品Id不存在/错误"));
            }
            if (data.payMode != "1")
            {
                return(_ctripGateway.ErrorResult(ResultCode.CreateOrderForParameterIllegality, "付款方式必须网站预付"));
            }
            var response = _ticketGateway.SingleCreateOrder(new OrderSingleCreateRequest
            {
                Body = new OrderSingleCreateBody
                {
                    OrderInfo = new OrderSingleInfo
                    {
                        OrderOtaId     = data.otaOrderId,
                        OrderPayStatus = 1,
                        OrderPrice     = price * data.count,
                        OrderQuantity  = data.count,
                        Ticket         = new ProductItem
                        {
                            ProductId   = productId,
                            Quantity    = data.count,
                            ProductName = data.otaProductName,
                            SellPrice   = price
                        },
                        VisitDate     = data.useDate,
                        ContactPerson = new ContactPerson
                        {
                            BuyName  = data.contactName,
                            Name     = data.contactName,
                            Mobile   = data.contactMobile,
                            CardType = data.contactIdCardType == "1" ? "ID_CARD" : "",
                            CardNo   = data.contactIdCardType == "1" ? data.contactIdCardNo : ""
                        }
                    }
                }
            });

            if (response.Head.Code == "000000")
            {
                var responseBody = new CreateOrderBodyRespose
                {
                    otaOrderId    = response.Body.OtaOrderId,
                    vendorOrderId = response.Body.OrderId,
                    smsCodeType   = 2,
                    smsCode       = response.Body.Code,
                    smsDataStream = "",
                    inventory     = response.Body.Inventory
                };
                return(_ctripGateway.CreateOrder(responseBody));
            }
            else if (response.Head.Code == "113019")
            {
                return(_ctripGateway.ErrorResult(ResultCode.CreateOrderForProductDownline, response.Head.Describe));
            }
            else if (response.Head.Code == "113026")
            {
                var responseBody = new CreateOrderBodyRespose
                {
                    inventory = response.Body.Inventory
                };
                return(_ctripGateway.ErrorResult(ResultCode.CreateOrderForLowStocks, response.Head.Describe, responseBody));
            }
            else if (response.Head.Code == "113021")
            {
                return(_ctripGateway.ErrorResult(ResultCode.SystemError, "系统出错"));
            }
            return(_ctripGateway.ErrorResult(ResultCode.CreateOrderForParameterIllegality, response.Head.Describe));
        }