private void bindApplyform(PostponeApplyform applyform) { bindTips(null); bindVoyages(applyform); bindPassengers(applyform); bindParameters(applyform.Id, "2", applyform.ProductType, Math.Abs(applyform.PayBill.Applier.Amount)); }
private void payPostponeFee(decimal applyformId) { PostponeApplyform postponeApplyform = ApplyformQueryService.QueryPostponeApplyform(applyformId); if (postponeApplyform == null) { showErrorMessage("改期申请单 [" + applyformId + "] 不存在"); } else { flights = postponeApplyform.Flights.Select(f => f.NewFlight).ToList(); string errorMessage; if (ApplyformProcessService.Payable(applyformId, out errorMessage)) { string lockErrorMsg; if (Lock(applyformId, LockRole.Purchaser, "支付改期费", out lockErrorMsg)) { bindApplyform(postponeApplyform); bindPayTypes(); } else { showErrorMessage("锁定改期申请单失败。原因:" + lockErrorMsg); } } else { showErrorMessage(errorMessage); } } }
private static AccountTradeDTO getPayTradeView(PostponeApplyform applyform, string payAccount, string operatorAccount) { return(new AccountTradeDTO { OutOrderId = applyform.Id.ToString(), TradeAmount = Math.Abs(applyform.PayBill.Applier.Amount), IncomeAccountNo = applyform.PayBill.Tradement.PayeeAccount, PaymentAccountNo = payAccount, Subject = "代扣支付改期费", IsProtocol = true, Note = applyform.OriginalPNR == null ? string.Empty : (applyform.OriginalPNR.PNR ?? applyform.OriginalPNR.BPNR), CustomParameter = PostponeApplyformPayType + "|" + payAccount + "|" + operatorAccount + "|" }); }
public static void SaveCancelPostponeLog(PostponeApplyform postponeApplyform, string operatorAccount) { var log = new Log.Domain.OrderLog() { OrderId = postponeApplyform.OrderId, ApplyformId = postponeApplyform.Id, Keyword = "改期处理", Content = "取消改期", Company = postponeApplyform.PurchaserId, Account = operatorAccount, Role = OperatorRole.Purchaser, VisibleRole = OrderRole.Platform | OrderRole.Purchaser | OrderRole.Supplier | OrderRole.Provider | OrderRole.OEMOwner }; LogService.SaveOrderLog(log); }
public static void SaveDenyPostponeLog(PostponeApplyform postponeApplyform, string reason, string operatorAccount) { var log = new Log.Domain.OrderLog() { OrderId = postponeApplyform.OrderId, ApplyformId = postponeApplyform.Id, Keyword = "改期处理", Content = "拒绝改期。原因:" + reason, Company = Organization.Domain.Platform.Instance.Id, Account = operatorAccount, Role = OperatorRole.Platform, VisibleRole = OrderRole.Platform | OrderRole.Purchaser | OrderRole.Supplier | OrderRole.Provider | OrderRole.OEMOwner }; LogService.SaveOrderLog(log); }
public static void SaveAgreePostponeForFeeLog(PostponeApplyform postponeApplyform, IEnumerable <PostponeFeeView> postponeFeeViews, string operatorAccount) { var log = new Log.Domain.OrderLog() { OrderId = postponeApplyform.OrderId, ApplyformId = postponeApplyform.Id, Keyword = "改期处理", Content = "收取改期费。" + postponeFeeViews.Join("; ", item => string.Format("航段:[{0}] 改期费:{1}", item.AirportPair.ToString('-'), item.Fee)), Company = Organization.Domain.Platform.Instance.Id, Account = operatorAccount, Role = OperatorRole.Platform, VisibleRole = OrderRole.Platform | OrderRole.Purchaser }; LogService.SaveOrderLog(log); }
public void InitPostPoneView(PostponeApplyform applyform, CompanyType companyType) { lblApplyformId.Text = applyform.Id.ToString(); lblPassengers.Text = string.Join(" ", applyform.Passengers.Select(p => p.Name)); lblPNR.Text = PNRRender(applyform.NewPNR ?? applyform.OriginalPNR); //applyform.NewPNR == null // ? applyform.OriginalPNR == null ? // string.Empty // : string.Format(PNRFORMAT, applyform.OriginalPNR.PNR, applyform.OriginalPNR.BPNR) // : string.Format(PNRFORMAT, applyform.NewPNR.PNR, applyform.NewPNR.BPNR); lblAppliedTime.Text = applyform.AppliedTime.ToString("yyyy-MM-dd HH:mm:ss"); lblRefundFee.Text = applyform.PostponeFee == 0m ? "免费" : applyform.PostponeFee.ToString(); //lblPaydTime.Text = applyform.PayBill.Tradement. IsShowRefundFee = applyform.Status == PostponeApplyformStatus.Denied; lblStatus.Text = StatusService.GetPostponeApplyformStatus(applyform.Status, BasePage.GetOrderRole(applyform.Order)); lblProcessedTime.Text = applyform.ProcessedTime.HasValue ? applyform.ProcessedTime.Value.ToString("yyyy-MM-dd HH:mm:ss") : string.Empty; lblApplyformId.PostBackUrl = InitDetailUrl(BasePage.GetOrderRole(applyform.Order)) + applyform.Id; dataList.DataSource = applyform.Flights.Select(f => new { Carrier = f.OriginalFlight.Carrier.Name, f.OriginalFlight.FlightNo, f.OriginalFlight.AirCraft, Bank = string.Format("{0}/{1}", string.IsNullOrEmpty(f.OriginalFlight.Bunk.Code) ? "-" : f.OriginalFlight.Bunk.Code, (f.OriginalFlight.Bunk.Discount * 100).TrimInvaidZero()), Departure = string.Format("{0}{1}", f.OriginalFlight.Departure.City, f.OriginalFlight.Departure.Name), Arrival = string.Format("{0}{1}", f.OriginalFlight.Arrival.City, f.OriginalFlight.Arrival.Name), f.OriginalFlight.TakeoffTime, f.OriginalFlight.LandingTime, f.OriginalFlight.Id }); dataList.DataBind(); dataListNew.DataSource = applyform.Flights.Select(f => new { Carrier = f.NewFlight.Carrier.Name, f.NewFlight.FlightNo, f.NewFlight.AirCraft, Bank = string.Format("{0}/{1}", f.NewFlight.Bunk.Code, (f.NewFlight.Bunk.Discount * 100).TrimInvaidZero()), Departure = string.Format("{0}{1}", f.NewFlight.Departure.City, f.NewFlight.Departure.Name), Arrival = string.Format("{0}{1}", f.NewFlight.Arrival.City, f.NewFlight.Arrival.Name), f.NewFlight.TakeoffTime, f.NewFlight.LandingTime, f.NewFlight.Id }); dataListNew.DataBind(); }
public static void SavePostponeFeePaySuccessLog(PostponeApplyform postponeApplyform, string payAccount, string payTradeNo, DateTime payTime, string operatorAccount) { var logContent = string.Format("支付改期费。账号:{0} 流水号:{1} 时间:{2}", payAccount, payTradeNo, payTime.ToString("yyyy-MM-dd mm:HH:ss")); var log = new Log.Domain.OrderLog() { OrderId = postponeApplyform.OrderId, ApplyformId = postponeApplyform.Id, Keyword = "支付改期费", Content = logContent, Company = postponeApplyform.PurchaserId, Account = operatorAccount, Role = OperatorRole.Purchaser, Time = payTime, VisibleRole = OrderRole.Platform | OrderRole.Purchaser | OrderRole.OEMOwner }; LogService.SaveOrderLog(log); }
internal PNRInfo UpdateContentForPostpone(PostponeApplyform postponeApplyform) { PNRInfo result = null; IEnumerable <Guid> passengers = postponeApplyform.GetAppliedPassengers(); if (isAllPassengers(passengers)) { updateFlights(postponeApplyform.Flights); } else { if (PNRPair.IsNullOrEmpty(postponeApplyform.NewPNR)) { throw new CustomException("未提供分离后的新编码"); } result = separate(postponeApplyform.NewPNR, passengers); result.updateFlights(postponeApplyform.Flights); } return(result); }
private void process() { showMessage("开始下一批处理"); var noPorcess = AutoPayService.QueryNoPorcess(); //var str = Environment.CurrentDirectory; string msg = ""; foreach (var item in noPorcess) { if (!_run) { break; } AccountTradeDTO tradeView = null; //处理订单 if (item.OrderType == OrderType.Order) { OrderProcessService.Payable(item.OrderId, out msg); if (string.IsNullOrEmpty(msg)) { Order order = OrderQueryService.QueryOrder(item.OrderId); tradeView = getPayTradeView(order, getPayAccountNo(item.PayType, order.Purchaser.Amount, order.Purchaser.CompanyId), ""); } } //处理申请单 else if (item.OrderType == OrderType.Postpone) { ApplyformProcessService.Payable(item.OrderId, out msg); if (string.IsNullOrEmpty(msg)) { PostponeApplyform applyform = ApplyformQueryService.QueryPostponeApplyform(item.OrderId); if (applyform.PayBill.Tradement == null) { msg = "申请单:" + item.OrderId + " 不能进行代扣,无支付信息!"; } tradeView = getPayTradeView(applyform, getPayAccountNo(item.PayType, Math.Abs(applyform.PayBill.Applier.Amount), applyform.PurchaserId), ""); } } if (item.PayType == WithholdingAccountType.Alipay) { tradeView.BuyerEmail = item.PayAccountNo; } try { if (string.IsNullOrEmpty(msg)) { global::PoolPay.DomainModel.Trade.PayTrade pay = AutoPayService.AutoPay(tradeView, item.PayType); if (item.PayType == WithholdingAccountType.Poolpay) { //如果是国付通代扣就直接修改订单状态 if (pay != null && pay.Status == global::PoolPay.DataTransferObject.PayStatus.PaySuccess) { NotifyService.PaySuccess(item.OrderId, pay.CustomParameter, pay.Id.ToString(), pay.FillChargeId.ToString(), pay.PayDate.Value, "", (pay.BuyerAccount.Character as global::PoolPay.DomainModel.Accounts.CreditAccount) == null ? "0" : "1", pay.BuyerAccount.AccountNo); } } showMessage("处理成功"); } else { showMessage("处理失败" + Environment.NewLine + "原因:" + msg); } } catch (Exception ex) { showMessage("处理失败" + Environment.NewLine + "原因:" + ex.Message); } AutoPayService.UpdateProcess(item.OrderId); System.Threading.Thread.Sleep(50); } showMessage("当前批次处理结束,共处理 " + noPorcess.Count + " 条"); }
private void bindPassengers(PostponeApplyform applyform) { ucPassengers.InitData(applyform.Order, applyform.Passengers, applyform.Flights.Select(f => f.OriginalFlight)); }
private void bindVoyages(PostponeApplyform applyform) { ucVoyages.InitData(applyform.Order, applyform.Flights.Select(item => item.OriginalFlight)); }