public RequestResult <bool> Cancel(decimal orderId, string externalOrderId, IEnumerable <string> passengers, string reason) { RequestResult <bool> result; var request = string.Empty; var response = string.Empty; try { var signValue = new Dictionary <string, string> { { "orderid", externalOrderId } }; request = GetRequest("cancel_order", signValue); var platform = new _517Na.BenefitInterface { Url = Platform.Address, Timeout = Platform.Timeout, RequestEncoding = Platform.Encoding }; response = platform.InterfaceFacade(request); result = parseCancelOrderResponse(response); } catch (Exception ex) { LogService.SaveExceptionLog(ex, "517Na取消订单"); result = new RequestResult <bool> { Success = false, ErrMessage = "系统错误,请联系平台" }; response = ex.Message; } SaveRequestLog(response, request, "取消订单"); return(result); }
public RequestResult <TicketInfo> QueryTicketNo(decimal orderId, string externalOrderId) { RequestResult <TicketInfo> result; var request = string.Empty; var response = string.Empty; try { var signValue = new Dictionary <string, string> { { "orderid", externalOrderId } }; request = GetRequest("get_orderinfo", signValue); var platform = new _517Na.BenefitInterface { Url = Platform.Address, Timeout = Platform.Timeout, RequestEncoding = Platform.Encoding }; response = platform.InterfaceFacade(request); result = parseQueryTicketNoResponse(response); } catch (Exception ex) { LogService.SaveExceptionLog(ex, "获取517Na订单信息"); result = new RequestResult <TicketInfo> { Success = false, ErrMessage = ex.Message == "The operation has timed out" ? "操作超时,请稍后再试!" : "系统错误,请联系平台" }; response = ex.Message; } SaveRequestLog(response, request, "查询票号信息"); return(result); }
public RequestResult <AutoPayResult> AutoPay(decimal orderId, string externalOrderId, PayInterface payInterface, decimal amount) { RequestResult <AutoPayResult> result; var request = string.Empty; var response = string.Empty; try { var signValue = new Dictionary <string, string> { { "orderid", externalOrderId }, { "amount", amount.ToString("F2") } }; request = GetRequest("pay_order", signValue); var platform = new _517Na.BenefitInterface { Url = Platform.Address, Timeout = Platform.Timeout, RequestEncoding = Platform.Encoding }; response = platform.InterfaceFacade(request); result = parseAutoPayResponse(response); if (result.Success) { result.Result.Id = orderId; result.Result.ExternalId = externalOrderId; result.Result.Payment.PayInterface = payInterface; result.Result.Payment.IsAutoPay = true; result.Result.Payment.PayTime = DateTime.Now; } } catch (Exception ex) { LogService.SaveExceptionLog(ex, "517Na代扣"); result = new RequestResult <AutoPayResult> { Success = false, ErrMessage = ex.Message == "The operation has timed out" ? "代扣超时,请稍后再试!" : "系统错误,请联系平台" }; response = ex.Message; } SaveRequestLog(response, request, "代扣"); return(result); }
public RequestResult <IEnumerable <ExternalPolicyView> > Match(PNRPair pnrPair, string pnrContent, string patContent, ExternalPolicyFilter filter) { if (filter.VoyageType != ItineraryType.OneWay && filter.VoyageType != ItineraryType.Roundtrip) { return(new RequestResult <IEnumerable <ExternalPolicyView> > { Success = false, ErrMessage = "不支持行程:" + filter.VoyageType.GetDescription() }); } RequestResult <IEnumerable <ExternalPolicyView> > result; var request = string.Empty; var response = string.Empty; try { var signValue = new Dictionary <string, string> { { "pnrcontent", GetPnrParameter(pnrContent) }, { "patcontent", GetPnrParameter(patContent) } }; request = GetRequest("get_benefit_pnrcontent", signValue); var platform = new _517Na.BenefitInterface { Url = Platform.Address, Timeout = Platform.Timeout, RequestEncoding = Platform.Encoding }; response = platform.InterfaceFacade(request); result = parseMatchResponse(response, filter); } catch (Exception ex) { LogService.SaveExceptionLog(ex, "通过编码内容匹配517Na政策"); result = new RequestResult <IEnumerable <ExternalPolicyView> > { Success = false, ErrMessage = "系统错误,请联系平台" }; response = ex.Message; } SaveRequestLog(response, request, "匹配政策"); return(result); }
public RequestResult <ExternalOrderView> Produce(decimal orderId, OrderView orderView, string pnrContent, string patContent, ExternalPolicyView policy) { RequestResult <ExternalOrderView> result; var request = string.Empty; var response = string.Empty; try { var signValue = new Dictionary <string, string> { { "pnrcontent", GetPnrParameter(pnrContent) }, { "bigpnr", orderView.PNR.BPNR }, { "benefitid", policy.Id }, { "linker", Platform.Contact }, { "linktel", Platform.ContactPhone }, { "splitbenefitid", (policy as _517NaPolicyView).SubId }, { "patcontent", GetPnrParameter(patContent) } }; request = GetRequest("create_order_pnrcontent", signValue); var platform = new _517Na.BenefitInterface { Url = Platform.Address, Timeout = Platform.Timeout, RequestEncoding = Platform.Encoding }; response = platform.InterfaceFacade(request); result = parseProduceResponse(response); } catch (Exception ex) { LogService.SaveExceptionLog(ex, "517Na生成订单"); result = new RequestResult <ExternalOrderView> { Success = false, ErrMessage = "系统错误,请联系平台" }; response = ex.Message; } SaveRequestLog(response, request, "生成订单"); return(result); }