///// <summary> ///// 错误返回 ///// </summary> ///// <param name="resultCode"></param> ///// <param name="resultMessage"></param> ///// <returns></returns> //public static string ErrorResult(string resultCode, string resultMessage, VerifyOrderBodyRespose verifyOrderBodyRespose) //{ // var publicRespose = new VerifyOrderResponse // { // header = new HeaderResponse // { // resultCode = resultCode, // resultMessage = resultMessage // }, // body = verifyOrderBodyRespose // }; // return Helper.SerializeToXml(publicRespose); //} ///// <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); //} /// <summary> /// 成功返回 /// </summary> /// <param name="responseBody"></param> /// <returns></returns> public static CreateOrderResponse SuccessResult(CreateOrderBodyResponse data) { return(new CreateOrderResponse { body = BodyForAesEncrypt(data), header = new HeaderResponse { resultCode = ResultCode.Success, resultMessage = "成功" } }); }
/// <summary> /// 创建订单接口 /// </summary> /// <param name="response"></param> /// <returns></returns> public CreateOrderResponse CreateOrder(CreateOrderBodyResponse response) { return(Api.SuccessResult(response)); }
/// <summary> /// 创建订单 /// </summary> /// <param name="request"></param> /// <returns></returns> public object CreateOrder(string request) { var requestBody = _ctripGateway.CheckCreateOrder(request); if (requestBody == null) { return(_ctripGateway.ErrorResult(ResultCode.JsonParsingFailure, "报文解析失败")); } var data = requestBody.Data; bool isProduct = true; bool isDate = true; //判断游玩时间是否是同一天 bool isCard = true; string useStartDate = data.Items[0].useStartDate; //游玩时间 var productItems = new List <ProductItem>(); foreach (var row in data.Items) { foreach (var item in row.passengers) { if (item.cardType == "0") { isCard = false; } } if (useStartDate != row.useStartDate) { isDate = false; } int productId = 0; if (!int.TryParse(row.PLU, out productId)) { isProduct = false; } productItems.Add(new ProductItem { ProductId = productId, Quantity = row.quantity, ProductName = "", SellPrice = row.price, ItemId = row.itemId }); } if (!isCard) { return(_ctripGateway.ErrorResult(ResultCode.CreateOrderForParameterEmpty, "缺失证件")); } if (!isProduct) { return(_ctripGateway.ErrorResult(ResultCode.CreateOrderForProductNotExist, "产品Id不存在/错误")); } if (!isDate) { return(_ctripGateway.ErrorResult(ResultCode.CreateOrderForDate, "不同的产品,游玩时间不一致")); } //if (data.payMode != "1") //{ // return _ctripGateway.ErrorResult(ResultCode.CreateOrderForParameterIllegality, "付款方式必须网站预付"); //} var response = _ticketGateway.CreateOrder(new OrderCreateRequest { Body = new OrderCreateBody { OrderInfo = new OrderInfo { OrderOtaId = data.otaOrderId, OrderPayStatus = 1, OrderPrice = productItems.Sum(a => a.SellPrice * a.Quantity), OrderQuantity = productItems.Sum(a => a.Quantity), TicketList = productItems, VisitDate = useStartDate, ContactPerson = new ContactPerson { BuyName = data.Contacts[0].name, Name = data.Contacts[0].name, Mobile = data.Contacts[0].mobile, CardType = data.Items[0].passengers[0].cardType == "1" ? "ID_CARD" : "", CardNo = data.Items[0].passengers[0].cardType == "1" ? data.Items[0].passengers[0].cardNo : "" } } } }); if (response.Head.Code == "000000") { var responseBody = new CreateOrderBodyResponse { otaOrderId = response.Body.OtaOrderId, supplierOrderId = response.Body.OrderId, supplierConfirmType = 1, voucherSender = 1, items = new List <CreateOrderitemRespose>(), vouchers = new List <CreateOrderVouchers>() }; foreach (var row in response.Body.Item) { responseBody.items.Add(new CreateOrderitemRespose { itemId = row.OtaOrderDetailId, inventorys = new CreateOrderInventoryRespose { quantity = row.quantity, useDate = row.useDate } }); responseBody.vouchers.Add(new CreateOrderVouchers { itemId = row.OtaOrderDetailId, voucherType = 2, voucherCode = row.CertificateNo, voucherData = "" }); } 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)); } else if (response.Head.Code == "113021") { return(_ctripGateway.ErrorResult(ResultCode.SystemError, "系统出错")); } return(_ctripGateway.ErrorResult(ResultCode.CreateOrderForParameterIllegality, response.Head.Describe)); }