/// <summary>
        /// 取消接口
        /// </summary>
        /// <param name="requestData"></param>
        /// <returns></returns>
        public string CancelOrder(string request)
        {
            var requestBody = _ctripGateway.CheckCancelOrder(request);
            var data        = requestBody.Data;
            var response    = _ticketGateway.CancelOrder(new OrderCancelRequest
            {
                Body = new OrderCancelBody
                {
                    OrderInfo = new OrderCancelInfo
                    {
                        OrderId       = data.vendorOrderId,
                        OrderPrice    = 0,
                        OrderQuantity = data.cancelCount,
                        reason        = "",
                        Seq           = data.sequenceId
                    }
                }
            });

            if (response.Head.Code == "000000")
            {
                var responseBody = new CancelOrderBodyRespose
                {
                    orderStatus   = "3",
                    cancelCount   = data.cancelCount,
                    charge        = 0,
                    auditDuration = 0
                };
                return(_ctripGateway.CancelOrder(responseBody));
            }
            else if (response.Head.Code == "114007")
            {
                return(_ctripGateway.ErrorResult(ResultCode.CancelOrderForNotCount, "取消数量不正确,同时不支持部分取消"));
            }
            else if (response.Head.Code == "114004")
            {
                return(_ctripGateway.ErrorResult(ResultCode.CancelOrderNumberNotExist, response.Head.Describe));
            }
            else if (response.Head.Code == "114009" || response.Head.Code == "114013")
            {
                return(_ctripGateway.ErrorResult(ResultCode.CancelOrderForConsume, response.Head.Describe));
            }
            else if (response.Head.Code == "114010")
            {
                return(_ctripGateway.ErrorResult(ResultCode.CancelOrderForCancel, response.Head.Describe));
            }
            else if (response.Head.Code == "114011")
            {
                return(_ctripGateway.ErrorResult(ResultCode.CancelOrderForExpired, response.Head.Describe));
            }
            else if (response.Head.Code == "114012")
            {
                return(_ctripGateway.ErrorResult(ResultCode.SystemError, response.Head.Describe));
            }
            return(_ctripGateway.ErrorResult(ResultCode.CancelOrderForError, response.Head.Describe));
        }
Example #2
0
 /// <summary>
 /// 成功返回
 /// </summary>
 /// <param name="responseBody"></param>
 /// <returns></returns>
 public static CancelOrderResponse SuccessResult(CancelOrderBodyRespose data)
 {
     return(new CancelOrderResponse
     {
         body = BodyForAesEncrypt(data),
         header = new HeaderResponse
         {
             resultCode = ResultCode.Success,
             resultMessage = "成功"
         }
     });
 }
Example #3
0
        /// <summary>
        /// 成功返回
        /// </summary>
        /// <param name="responseBody"></param>
        /// <returns></returns>
        public static string SuccessResult(CancelOrderBodyRespose responseBody)
        {
            var responseData = new CancelOrderResponse
            {
                header = new HeaderResponse
                {
                    resultCode    = ResultCode.Success,
                    resultMessage = "成功"
                },
                body = responseBody
            };

            return(Helper.SerializeToXml(responseData));
        }
Example #4
0
 /// <summary>
 /// 取消订单接口
 /// </summary>
 /// <param name="response"></param>
 /// <returns></returns>
 public string CancelOrder(CancelOrderBodyRespose response)
 {
     return(Api.SuccessResult(response));
 }
        /// <summary>
        /// 取消接口
        /// </summary>
        /// <param name="requestData"></param>
        /// <returns></returns>
        public object CancelOrder(string request)
        {
            var requestBody = _ctripGateway.CheckCancelOrder(request);

            if (requestBody == null)
            {
                return(_ctripGateway.ErrorResult(ResultCode.JsonParsingFailure, "报文解析失败"));
            }
            var data = requestBody.Data;
            var CancelOrderRequest = new OrderCancelRequest
            {
                Body = new OrderCancelBody
                {
                    OrderInfo = new OrderCancelInfo
                    {
                        OrderId       = data.SupplierOrderId,
                        OtaOrderId    = data.OtaOrderId,
                        OrderPrice    = 0,
                        OrderQuantity = data.Items.Sum(a => a.Quantity),
                        reason        = "",
                        Seq           = data.SequenceId,
                        Items         = new List <CancelOrderItemInfo>()
                    }
                }
            };

            foreach (var row in data.Items)
            {
                CancelOrderRequest.Body.OrderInfo.Items.Add(new CancelOrderItemInfo
                {
                    ItemId    = row.ItemId,
                    ProductId = row.PLU,
                    Quantity  = row.Quantity,
                    Amount    = row.Amount
                });
            }
            var response = _ticketGateway.CancelOrderDetail(CancelOrderRequest);

            if (response.Head.Code == "000000")
            {
                var responseBody = new CancelOrderBodyRespose
                {
                    supplierConfirmType = 1,
                    items = new List <CancelOrderitemRespose>()
                };
                foreach (var row in data.Items)
                {
                    responseBody.items.Add(new CancelOrderitemRespose
                    {
                        itemId = row.ItemId
                    });
                }
                return(_ctripGateway.CancelOrder(responseBody));
            }
            else if (response.Head.Code == "114003" || response.Head.Code == "114014")
            {
                return(_ctripGateway.ErrorResult(ResultCode.CancelOrderForNotCount, response.Head.Describe));
            }
            else if (response.Head.Code == "114004")
            {
                return(_ctripGateway.ErrorResult(ResultCode.CancelOrderNumberNotExist, response.Head.Describe));
            }
            else if (response.Head.Code == "114009")
            {
                return(_ctripGateway.ErrorResult(ResultCode.CancelOrderForConsume, response.Head.Describe));
            }
            else if (response.Head.Code == "114010" || response.Head.Code == "114013")
            {
                return(_ctripGateway.ErrorResult(ResultCode.CancelOrderForCancel, response.Head.Describe));
            }
            else if (response.Head.Code == "114011")
            {
                return(_ctripGateway.ErrorResult(ResultCode.CancelOrderForExpired, response.Head.Describe));
            }
            else if (response.Head.Code == "114012")
            {
                return(_ctripGateway.ErrorResult(ResultCode.SystemError, response.Head.Describe));
            }
            return(_ctripGateway.ErrorResult(ResultCode.CancelOrderForError, response.Head.Describe));
        }