public List <string> HelloWorld(int orderCount, TicketTargetType ticketTarget) { Stopwatch sw = new Stopwatch(); sw.Start(); try { string strQPRReq = String.Format("{0},{1}", orderCount, ticketTarget.ToString()); string strLog = String.Format("Req:{0}:{{{1}}}", RequestIP, strQPRReq); _log.Info(strLog); } catch (Exception ex) { string strLogErr = String.Format("Req Log Exception:{0}", ex.Message); _log.Error(strLogErr); } List <string> resultList = new List <string>(); try { StressTestHelper sth = new StressTestHelper(); List <WebPayResultRespondVo> webPayResultRespondVoList = sth.FillPayedWebOrder(orderCount, ticketTarget); foreach (WebPayResultRespondVo eachWebPayResultRespondVo in webPayResultRespondVoList) { string eachResult = String.Format("{0}|{1}", eachWebPayResultRespondVo.TradeNo, eachWebPayResultRespondVo.Voucher); resultList.Add(eachResult); } } catch (Exception ex) { _log.Error(ex.Message); } try { string strQPRResp = resultList.Count.ToString(); string strLog = String.Format("Resp:{{{0}}}", strQPRResp); _log.Info(strLog); } catch (Exception ex) { string strLogErr = String.Format("Resp Log Exception:{0}", ex.Message); _log.Error(strLogErr); } sw.Stop(); TimeSpan ts = sw.Elapsed; _log.Debug(ts.TotalMilliseconds); return(resultList); }
public WebOrderRespondVo(WebOrder webOrder) { if (null != webOrder) { TradeNo = webOrder.TradeNo; ExternalTradeNo = webOrder.ExternalTradeNo; BuyTime = webOrder.BuyTime; IsWebOrderVaild = true; PaymentVendor = webOrder.PaymentVendor; OriAFCStationCode = webOrder.OriAFCStationCode; DesAFCStationCode = webOrder.DesAFCStationCode; OriStationChineseName = String.Empty; DesStationChineseName = String.Empty; OriStationEnglishName = String.Empty; DesStationEnglishName = String.Empty; TicketPrice = webOrder.TicketPrice; TicketNum = webOrder.TicketNum; Discount = webOrder.Discount; ActualFee = 0; if (null != webOrder.ActualFee) { ActualFee = webOrder.ActualFee.Value; } TicketTarget = TicketTargetType.NONE; if (!String.IsNullOrEmpty(webOrder.TicketTarget)) { try { TicketTarget = EnumHelper.GetTicketTargetType(webOrder.TicketTarget); } catch (Exception) { } } TransactionId = webOrder.TransactionId; PayEndTime = webOrder.PayEndTime; //// 临时处理 //ExpiryTime = new DateTime(); Voucher = String.Empty; TicketTakeNum = 0; if (null != webOrder.TicketTakeNum) { TicketTakeNum = webOrder.TicketTakeNum.Value; IsUsed = true; } UsedTime = webOrder.TicketTakeTime; OrderStatus = OrderStatusType.None; try { OrderStatus = EnumHelper.GetOrderStatusTypeByFlagString(webOrder.OrderStatus); } catch (Exception) { } OrderStep = EnumHelper.GetWebOrderStep(webOrder.Step); } }
/// <summary> /// 填充已支付网络订单 /// </summary> /// <param name="orderCount"></param> /// <param name="ticketTarget"></param> /// <returns></returns> public List <WebPayResultRespondVo> FillPayedWebOrder(int orderCount, TicketTargetType ticketTarget) { List <WebPayResultRespondVo> result = new List <WebPayResultRespondVo>(); string strUserOpenId = "UserOpenId"; string strUserAccount = "UserAccount"; try { //VoucherBo vb = new VoucherBo(); //vb.FillNewVoucher(orderCount, DateTime.Now, DateTime.Now.AddYears(1)); WebPreOrderBo wbo = new WebPreOrderBo(); string webTradeNo = String.Empty; string webExternalTradeNo = Guid.NewGuid().ToString(); for (int orderIndex = 1; orderIndex <= orderCount; orderIndex++) { webExternalTradeNo = Guid.NewGuid().ToString(); #region 获得 商家订单号 int amount = 400; WebTradeNoRequestVo newWebTradeNoRequestVo = new WebTradeNoRequestVo() { ExternalTradeNo = webExternalTradeNo, BuyTime = DateTime.Now, OperationCode = String.Empty, CityCode = "020", DeviceId = String.Empty, ChannelType = String.Empty, PaymentVendor = String.Empty, OriAFCStationCode = "0101", DesAFCStationCode = "0102", TicketPrice = 200, TicketNum = 2, Discount = 1, Amount = amount, TicketTarget = ticketTarget, UserOpenId = strUserOpenId, UserAccount = strUserAccount }; //Console.WriteLine("WebTradeNoRespondVo"); WebTradeNoRespondVo webTradeNoRespondVo = wbo.GetTradeNo(newWebTradeNoRequestVo); //Console.WriteLine(webTradeNoRespondVo.IsSuccess); //Console.WriteLine(webTradeNoRespondVo.WebOrderId); //Console.WriteLine(webTradeNoRespondVo.TradeNo); //Console.WriteLine(webTradeNoRespondVo.IsVaild); //Console.WriteLine(webTradeNoRespondVo.StepStatus); webTradeNo = webTradeNoRespondVo.TradeNo; #endregion 获得 商家订单号 #region 记录 预支付交易会话标识 string testPrepayId = Guid.NewGuid().ToString(); WebPrePayRequestVo webPrePayRequestVo = new WebPrePayRequestVo(); webPrePayRequestVo.WebOrderId = null; webPrePayRequestVo.TradeNo = webTradeNo; webPrePayRequestVo.PrepayId = testPrepayId; //Console.WriteLine("WebPrePayRespondVo"); WebPrePayRespondVo webPrePayRespondVo = wbo.PrePayRecord(webPrePayRequestVo); //Console.WriteLine(webPrePayRespondVo.IsSuccess); //Console.WriteLine(webPrePayRespondVo.WebOrderId); //Console.WriteLine(webPrePayRespondVo.TradeNo); //Console.WriteLine(webPrePayRespondVo.ExternalTradeNo); //Console.WriteLine(webPrePayRespondVo.StepStatus); #endregion 记录 预支付交易会话标识 #region 支付异步结果记录 WebPayResultRequestVo webPayResultRequestVo = new WebPayResultRequestVo(); webPayResultRequestVo.TradeNo = webTradeNo; webPayResultRequestVo.TransactionId = Guid.NewGuid().ToString(); webPayResultRequestVo.PayEndTime = DateTime.Now.ToString("yyyyMMddHHmmss"); webPayResultRequestVo.BankType = "BankType"; webPayResultRequestVo.ActualFee = amount; webPayResultRequestVo.ErrCodeDes = String.Empty; webPayResultRequestVo.IsSuccess = true; webPayResultRequestVo.UserOpenId = strUserOpenId; webPayResultRequestVo.UserAccount = strUserAccount; //Console.WriteLine("WebPayResultRequestVo"); WebPayResultRespondVo webPayResultRespondVo = wbo.PayResultRecord(webPayResultRequestVo); //Console.WriteLine(webPayResultRespondVo.IsSuccess); //Console.WriteLine(webPayResultRespondVo.WebOrderId); //Console.WriteLine(webPayResultRespondVo.TradeNo); //Console.WriteLine(webPayResultRespondVo.ExternalTradeNo); //Console.WriteLine(webPayResultRespondVo.OriAFCStationCode); //Console.WriteLine(webPayResultRespondVo.DesAFCStationCode); //Console.WriteLine(webPayResultRespondVo.TicketPrice); //Console.WriteLine(webPayResultRespondVo.TicketNum); //Console.WriteLine(webPayResultRespondVo.Discount); //Console.WriteLine(webPayResultRespondVo.PayEndTime); //Console.WriteLine(webPayResultRespondVo.TicketTarget.ToString()); //Console.WriteLine(webPayResultRespondVo.Voucher); //Console.WriteLine(webPayResultRespondVo.StepStatus); #endregion 支付异步结果记录 result.Add(webPayResultRespondVo); _log.Debug(result.Count); } } catch (Exception ex) { _log.Error(ex.Message); } return(result); }
/// <summary> /// 通用订单查询 /// </summary> /// <param name="isQueryUsedTime">查询使用时间标识,启用时查询已使用订单的使用时间,不启用查询所有订单的购买时间</param> /// <param name="fromTime"></param> /// <param name="toTime"></param> /// <param name="paymentVendor">必须为“1001”或“1002”,空字符串或null包含所有</param> /// <param name="ticketOrderType">购票方式,为None时同时查询车站和网络2种类型</param> /// <param name="ticketTarget">车票使用目标设备类型,为None时查询所有</param> /// <returns></returns> public List <CommonOrderVo> CommonOrderQuery(bool isQueryUsedTime, DateTime fromTime, DateTime toTime, string paymentVendor, OrderType ticketOrderType, TicketTargetType ticketTarget) { List <CommonOrderVo> commonOrderList = new List <CommonOrderVo>(); try { if (String.IsNullOrEmpty(paymentVendor) || paymentVendor.Equals("1001") || paymentVendor.Equals("1002")) { switch (ticketOrderType) { case OrderType.None: { StationOrderBo stationOrderBo = new StationOrderBo(); List <CommonOrderVo> stationCommonOrderList = stationOrderBo.CommonOrderQuery(isQueryUsedTime, fromTime, toTime, paymentVendor); commonOrderList.AddRange(stationCommonOrderList); WebPreOrderBo webPreOrderBo = new WebPreOrderBo(); List <CommonOrderVo> webCommonOrderList = webPreOrderBo.CommonOrderQuery(isQueryUsedTime, fromTime, toTime, paymentVendor, ticketTarget); commonOrderList.AddRange(webCommonOrderList); break; } case OrderType.StationOrder: { StationOrderBo stationOrderBo = new StationOrderBo(); commonOrderList = stationOrderBo.CommonOrderQuery(isQueryUsedTime, fromTime, toTime, paymentVendor); break; } case OrderType.WebOrder: { WebPreOrderBo webPreOrderBo = new WebPreOrderBo(); commonOrderList = webPreOrderBo.CommonOrderQuery(isQueryUsedTime, fromTime, toTime, paymentVendor, ticketTarget); break; } } } } catch (Exception ex) { _log.Error(ex.Message); if (null != ex.InnerException) { _log.Error(ex.InnerException.Message); } } return(commonOrderList); }
public static TicketTargetType GetTicketTargetType(string ticketTargetTypeString) { TicketTargetType ticketTargetType = (TicketTargetType)Enum.Parse(typeof(TicketTargetType), ticketTargetTypeString); return(ticketTargetType); }