public List <PbProject.Model.Tb_Ticket_Policy> GetPolicy() { List <PbProject.Model.Tb_Ticket_Policy> mPolicyList = new List <Tb_Ticket_Policy>(); try { List <PbProject.Model.Tb_Ticket_SkyWay> SkyList = new PbProject.Logic.Order.Tb_Ticket_SkyWayBLL().GetSkyWayListBySQLWhere(" OrderId='" + _order.OrderId + "'"); //if (_QXValue.Contains("|9|") && SkyList.Count < 2) //{ string StartDate = SkyList[0].FromDate.ToShortDateString(); string SecondDate = SkyList[0].FromDate.ToShortDateString(); List <PbProject.Model.Tb_Ticket_Passenger> passengerList = new PbProject.Logic.Order.Tb_Ticket_PassengerBLL().GetPasListBySQLWhere(" OrderId='" + _order.OrderId + "'"); string PnrInfo = "O|P|" + _order.PNR + "^F^" + _order.BigCode + "|" + SkyList[0].FromDate.ToShortDateString() + "|" + SkyList[0].FromCityCode + "|" + SkyList[0].FromCityName + "|" + SkyList[0].ToCityCode + "|" + SkyList[0].ToCityName + "|" + SkyList[0].CarryCode + SkyList[0].FlightCode + "^N||" + SkyList[0].FromDate.ToShortTimeString() + "|" + SkyList[0].ToDate.ToShortTimeString() + "|" + SkyList[0].Space + "|" + SkyList[0].Discount + "||" + _order.PMFee / _order.PassengerName.Split('/').Length + "|" + (SkyList[0].ABFee + SkyList[0].FuelFee) + "|" + _order.PassengerNumber + "|" + _order.PassengerName.Replace("/", "@"); DataSet dsToday = new DataSet(); string sss = ""; try { sss = _todayService.GetRateListByPNR(_todayAccout, _order.PNR, PnrInfo); StringReader sr = new StringReader(sss); XmlTextReader xtr = new XmlTextReader(sr); dsToday = new DataSet(); dsToday.ReadXml(xtr); } catch (Exception) { //errorDataToday = "1"; //OnError("WebService异常,重新调用", "PiaoBao.BLLLogic.Policy.InterFacePol.GetTodayPol"); //dsToday = wsvcToday.GetRateListByPNR(Company.A63, PnrCode, PnrInfo); sss = _todayService.GetRateListByPNR(_todayAccout, _order.PNR, PnrInfo); StringReader sr = new StringReader(sss); XmlTextReader xtr = new XmlTextReader(sr); dsToday = new DataSet(); dsToday.ReadXml(xtr); } if (dsToday.Tables.Count > 1) { if (dsToday.Tables[1].Rows.Count > 0) { if (dsToday.Tables[1].TableName == "Response") { DateTime dt1; DateTime dt2; if (DateTime.TryParse(StartDate.Replace("/", "-"), out dt1) && DateTime.TryParse(SecondDate.Replace("/", "-"), out dt2) ) { string sqlwhere = "Sdate<='" + dt1.ToString("yyyy-MM-dd") + " 00:00:00' and Edate>='" + dt2.ToString("yyyy-MM-dd") + " 23:59:59'"; // 返回正常 mPolicyList = MergerTodayDT(dsToday.Tables[1].Select(sqlwhere), _mTopcom, SkyList[0].CarryCode, SkyList[0].FromCityCode, SkyList[0].ToCityCode); //UpdateTodayInterFcae(dsToday); } } } } //} } catch (Exception ex) { //errorDataToday = "1"; //OnError("整体线程异常," + ex.ToString(), "PiaoBao.BLLLogic.Policy.InterFacePol.GetTodayPol"); } return(mPolicyList); }
/// <summary> /// 异步通知出票票号 /// </summary> /// <param name="order">订单 model</param> /// <returns></returns> public bool NotifyTicketNo(Tb_Ticket_Order order) { bool bResult = false; try { string orderId = order.OrderId; string logMsg = ""; #region 查询订单,并通知 //Tb_Ticket_Order order = new PbProject.Logic.Order.Tb_Ticket_OrderBLL().GetTicketOrderByOrderId(orderId); if (order.OrderSourceType == 4) // "接口订单" { // 查询通知地址 string notifyUrl = ""; #region 查询通知地址 //IList<User_Company> companyList = (new User_CompanyService()).SelectById(order.OwnerCpyNo); //if (companyList != null && companyList.Count > 0) // notifyUrl = companyList[0].A82; notifyUrl = ""; #endregion if (!string.IsNullOrEmpty(notifyUrl)) { IList <Tb_Ticket_Passenger> passengerList = new PbProject.Logic.Order.Tb_Ticket_PassengerBLL().GetPasListByOrderID(order.OrderId); if (passengerList != null && passengerList.Count > 0) { string sign = ""; string returnOrderId = ""; string returnTicketInfomation = ""; returnOrderId = orderId; foreach (Tb_Ticket_Passenger dataItem in passengerList) { //乘机人^证件号^票号|乘机人^证件号^票号 returnTicketInfomation += string.Format("{0}^{1}^{2}|", dataItem.PassengerName, dataItem.Cid, dataItem.TicketNumber); } returnTicketInfomation = returnTicketInfomation.Length > 0 ? returnTicketInfomation.Substring(0, returnTicketInfomation.Length - 1) : returnTicketInfomation; sign = GetMD5Value(string.Format("{0}{1}F8653E70-D165-8661-C0EB-E645-11F2CD4E", returnOrderId, returnTicketInfomation)); notifyUrl += string.Format("?OrderId={0}&TicketInfomation={1}&Sign={2}", returnOrderId, HttpUtility.UrlEncode(returnTicketInfomation), sign); string getResult = GetHttpDataByGet(notifyUrl, Encoding.UTF8); if (string.IsNullOrEmpty(getResult)) { logMsg = string.Format("通知失败,通知地址:{0}", notifyUrl); } else { logMsg = string.Format("通知成功,通知地址:{0}", notifyUrl); bResult = true; } } else { logMsg = "通知失败,订单无关联乘客信息。"; } } else { logMsg = "通知失败,未找到订单所在的公司的通知地址"; } } #endregion #region 记录日志 if (!string.IsNullOrEmpty(logMsg)) { logMsg = string.Format("订单号:{0};信息:{1}", orderId, logMsg); RecordLog(logMsg); } #endregion } catch (Exception) { throw; } return(bResult); }