public TicketController(TicketProcessor ticketProcessor, JurisdictionProcessor jurisdictionProcessor, AgentProcessor agentProcessor, IHttpContextAccessor accessor) { _ticketProcessor = ticketProcessor; _jurisdictionProcessor = jurisdictionProcessor; _agentProcessor = agentProcessor; _accessor = accessor; }
public void Part2(string filename, long expected) { var parser = new Parser(filename); var book = parser.Parse(new TicketParser()) .Where(c => c != null) .First(); var sut = new TicketProcessor(book); var actual = sut.Departure(); Assert.Equal(expected, actual); }
public IActionResult TicketOrderDetails(Int64 ticketOrderId) { try { if (ticketOrderId == 0) { return(Ok(new Application_ResponseWrapper() { ResponseCode = "1000", ResponseMessage = "Invalid model", Status = "failed" })); } using (ITicketProcessor _ticketProcessor = new TicketProcessor(_applicationDbContext)) { var ticketOrder = _ticketProcessor.GetTicketDetail(ticketOrderId); if (ticketOrder == null) { return(Ok(new Application_ResponseWrapper() { ResponseCode = "1004", ResponseMessage = "Record not found", Status = "failed" })); } return(Ok(new Application_ResponseWrapper() { ResponseCode = "0", ResponseMessage = "success", Status = "success", ResponseResult = ticketOrder })); } } catch (Exception ex) { _errorRepository. Add(new Application_Errors { applicationID = 1, errorDescription = ex.StackTrace, errorType = "Exception", logDate = System.DateTime.Now, pageID = 0, Source = "Mpower/Rail/History/Ticket/Details" }); _errorRepository.Commit(); return(Ok(new Application_ResponseWrapper() { ResponseCode = "1005", ResponseMessage = "An error has occured", Status = "failed" })); } }
public AgentController(AgentProcessor agentProcessor, TicketProcessor ticketProcessor, IHttpContextAccessor accessor) { _agentProcessor = agentProcessor; _ticketProcessor = ticketProcessor; _accessor = accessor; }
public IActionResult BookedTicketList([FromBodyAttribute] BookedTicketFilter filter) { try { if (!ModelState.IsValid) { return(Ok(new Application_ResponseWrapper() { ResponseCode = "1000", ResponseMessage = "Invalid model", Status = "failed" })); } using (IApplicationProcessor _processor = new ApplicationProcessor(_applicationDbContext)) { string pagesSize = _processor.GetApplicationSettingByKey("displayList_Count"); if (!string.IsNullOrEmpty(pagesSize) || int.Parse(Convert.ToString(pagesSize)) <= 0) { filter.pages = int.Parse(pagesSize); } else { _errorRepository.Add(new Application_Errors { applicationID = 1, errorDescription = "Page size value not found.", errorType = "Log", logDate = System.DateTime.Now, pageID = 0, Source = "Mpower/Rail/History/Ticket/List" }); _errorRepository.Commit(); return(Ok(new Application_ResponseWrapper() { ResponseCode = "1013", ResponseMessage = "Page Size is not found!", Status = "failed" })); } } using (ITicketProcessor _ticketProcessor = new TicketProcessor(_applicationDbContext)) { var list = _ticketProcessor.BookedTicketList(filter); if (list == null || list.Count == 0) { return(Ok(new Application_ResponseWrapper() { ResponseCode = "1004", ResponseMessage = "Record not found", Status = "failed" })); } return(Ok(new Application_ResponseWrapper() { ResponseCode = "0", ResponseMessage = "success", Status = "success", ResponseResult = list })); } } catch (Exception ex) { _errorRepository. Add(new Application_Errors { applicationID = 1, errorDescription = ex.StackTrace, errorType = "Exception", logDate = System.DateTime.Now, pageID = 0, Source = "Mpower/Rail/History/Ticket/List" }); _errorRepository.Commit(); return(Ok(new Application_ResponseWrapper() { ResponseCode = "1005", ResponseMessage = "An error has occured", Status = "failed" })); } }
/// <summary> /// 黑屏接口验证 /// </summary> public void CheckEterm() { string TravelBatchId = ManageRisk.TravelBatchId; long EnterpriseID = ManageRisk.EnterpriseID; int TravelRiskType = ManageRisk.baseRiskModelList[0].TravelRiskType; UserAccount userAccount = new UserAccountRep().GetUserAccount(new UserAccount() { PayCenterCode = ManageRisk.PayCenterCode }); var interfaceAccount = new InterfaceAccountRep().GetInterfaceAccount(new InterfaceAccount() { MerchantCode = userAccount.MerchantCode }); var travelRisk = new TravelRiskRep().GetTravelRiskByEnterpriseID(new TravelRisk() { EnterpriseID = Convert.ToInt32(ManageRisk.baseRiskModelList[0].EnterpriseID), PayCenterCode = ManageRisk.PayCenterCode }); if (!string.IsNullOrWhiteSpace(interfaceAccount.SuspendedServiceUrl)) { string strEtermSuccess = ""; //黑屏接口调用成功的票号集合 string strOrderPrice = ""; //票价验证失败票号集合 string strOrderPersonName = ""; //黑屏规则验证成功票号集合 string strNoPersonName = ""; //黑屏规则验证失败票号集合 foreach (var item in ManageRisk.baseRiskModelList) { var commandArgs = new CommandArgs() { Airline = item.FlightNo, Catelog = "Ticket", Command = "Checkinfo", TicketType = "BSP", Args = new OperateArgs() { TicketNo = item.TicketNum } }; var ticketProcessor = new TicketProcessor(commandArgs, interfaceAccount.SuspendedServiceUrl).Execute(); if (ticketProcessor.Success) { strEtermSuccess += "'" + item.TicketNum + "',"; item.EtermStatus = 1; //修改实体黑屏接口调用状态为成功 if (item.EtermType != 0) //包含黑屏 { //验证订单金额 if (Convert.ToDecimal(ticketProcessor.Result.ticketData.Price) * travelRisk.TicketMultiple != 0 && Convert.ToDecimal(ticketProcessor.Result.ticketData.Price) * travelRisk.TicketMultiple < item.OrderAmount)//刨除票价验证失败订单(需取表字段配置) { strOrderPrice += "'" + item.TicketNum + "',"; } else if (item.TravelRiskType != 1) //验价成功 且 风控规则不是纯白名单验证的 验证姓名 { //验证姓名 if (item.PersonName.Trim() == ticketProcessor.Result.ticketData.Name.Trim()) { strOrderPersonName += "'" + item.TicketNum + "',"; item.BlackResultState = 1; //设置黑屏验证结果为成功 } else { strNoPersonName += "'" + item.TicketNum + "',"; item.FailReason = "姓名验证失败(hp)|"; } } } } else { //验证包含黑屏接口 if (item.EtermType != 0) { strOrderPrice += "'" + item.TicketNum + "',";//添加验票价失败订单 item.FailReason = ticketProcessor.Message + "(hp)|"; } } } if (!string.IsNullOrWhiteSpace(strEtermSuccess))//黑屏接口调用成功的票号 { strEtermSuccess = strEtermSuccess.Substring(0, strEtermSuccess.Length - 1); //修改黑屏接口调用状态为成功 new TravelBatchOrderRep().UpdateTravelBatchOrder(TravelBatchId, EnterpriseID, strEtermSuccess, "", 0, 0, "", 0, 0, 1, ""); LoggerFactory.Instance.Logger_Debug("黑屏接口调用成功:" + strEtermSuccess, "CheckEtermService"); } //票价验证失败的票号 if (!string.IsNullOrWhiteSpace(strOrderPrice)) { strOrderPrice = strOrderPrice.Substring(0, strOrderPrice.Length - 1); ManageRisk.baseRiskModelList.RemoveAll(i => strOrderPrice.Contains(i.TicketNum)); //记录验证票价失败的订单 new TravelBatchOrderRep().UpdateTravelBatchOrder(TravelBatchId, EnterpriseID, strOrderPrice, "", 0, 0, "", 0, 0, 0, "票价验证失败(hp)"); //记录验证票价失败的订单日志 LoggerFactory.Instance.Logger_Debug("验证票价失败:" + strOrderPrice, "CheckEtermService"); //清除缓存 new RemoneyNotifyService().ModifyTicketCache(new List <string>(strOrderPrice.Substring(1, strOrderPrice.Length - 2).Split("','"))); } //黑屏姓名验证成功的票号 if (!string.IsNullOrWhiteSpace(strOrderPersonName)) { strOrderPersonName = strOrderPersonName.Substring(0, strOrderPersonName.Length - 1); //修改黑屏验证成功状态 new TravelBatchOrderRep().UpdateTravelBatchOrder(TravelBatchId, EnterpriseID, strOrderPersonName, "", 0, 1, "", 0, 0, 0, ""); //修改黑屏验证成功状态日志 LoggerFactory.Instance.Logger_Debug("黑屏姓名验证成功" + strOrderPersonName, "CheckEtermService"); } //黑屏姓名验证失败的票号 if (!string.IsNullOrWhiteSpace(strNoPersonName)) { strNoPersonName = strNoPersonName.Substring(0, strNoPersonName.Length - 1); //修改黑屏验证失败原因 new TravelBatchOrderRep().UpdateTravelBatchOrder(TravelBatchId, EnterpriseID, strNoPersonName, "", 0, 1, "", 0, 0, 0, "姓名验证失败(hp)|"); } if (TravelRiskType != 0 && ManageRisk.baseRiskModelList.Count > 0)//判断风控规则不是 纯黑屏 { //调用白名单验证 new CheckEnterpriseWhiteListService(ManageRisk).Execute(); } //调用王帅核算比率返现接口 LoggerFactory.Instance.Logger_Debug("调用王帅核算比率返现,list集合:" + JsonConvert.SerializeObject(ManageRisk), "CheckEtermService"); try { new RemoneyService(ManageRisk).Execute(); } catch (Exception ex) { LoggerFactory.Instance.Logger_Debug("返现报错:" + ex.Message, "CheckEtermService"); } } else //黑屏地址为空 { //记录验证失败原因 ManageRisk.baseRiskModelList.ForEach(i => i.FailReason = "黑屏验证失败(hp地址为空)|"); new TravelBatchOrderRep().UpdateTravelBatchOrder(TravelBatchId, EnterpriseID, "", "", 0, 0, "", 0, 0, 0, "黑屏验证失败(hp地址为空)|"); //调用王帅核算比率返现接口 LoggerFactory.Instance.Logger_Debug("调用王帅核算比率返现,list集合:" + JsonConvert.SerializeObject(ManageRisk), "CheckEtermService"); try { new RemoneyService(ManageRisk).Execute(); } catch (Exception ex) { LoggerFactory.Instance.Logger_Debug("返现报错:" + ex.Message, "CheckEtermService"); } } }