/// <summary> /// 待审批信息 /// </summary> /// <param name="sendAppMessageModel"></param> private void GetWaitAuditMessage(SendAppMessageModel sendAppMessageModel) { if (sendAppMessageModel.OrderType == OrderSourceTypeEnum.AduitOrder && sendAppMessageModel.SendType == SendAppMessageTypeEnum.WaitAuditNotice) { List <CorpAduitOrderDetailEntity> corpAduitOrderDetailEntities = _corpAduitOrderDetailDal.Query <CorpAduitOrderDetailEntity>( n => n.AduitOrderId == sendAppMessageModel.OrderId, true).ToList(); if (corpAduitOrderDetailEntities == null || corpAduitOrderDetailEntities.Count == 0) { return; } string orderType = corpAduitOrderDetailEntities[0].OrderType.ValueToDescription <OrderSourceTypeEnum>(); string orderId = corpAduitOrderDetailEntities[0].OrderId.ToString(); if (corpAduitOrderDetailEntities[0].OrderType == (int)OrderSourceTypeEnum.FltModApply || corpAduitOrderDetailEntities[0].OrderType == (int)OrderSourceTypeEnum.FltRetApply) { FltRetModApplyEntity fltRetModApplyEntity = base.Context.Set <FltRetModApplyEntity>().Find(corpAduitOrderDetailEntities[0].OrderId); orderId = fltRetModApplyEntity?.OrderId.ToString(); } sendAppMessageModel.SendContent = string.Format("{0}{1}{2}需要您进行审批", orderType, (orderType.Contains("申请") ? "" : "订单"), orderId); } }
public void AddAppMessage(SendAppMessageModel sendAppMessageModel) { //判断当前接受人是否是差旅客户 CustomerInfoEntity customerInfoEntity = _customerDal.Find <CustomerInfoEntity>(sendAppMessageModel.Cid); if (string.IsNullOrEmpty(customerInfoEntity.CorpID)) { return; } CorporationEntity corporationEntity = _corporationDal.Query <CorporationEntity>(n => n.CorpId == customerInfoEntity.CorpID) .FirstOrDefault(); if (corporationEntity == null || corporationEntity.IsAmplitudeCorp != "T") { return; } SendAppMessageEntity sendAppMessageEntity = Mapper.Map <SendAppMessageModel, SendAppMessageEntity>(sendAppMessageModel); sendAppMessageEntity.CreateTime = DateTime.Now; _sendAppMessageDal.Insert(sendAppMessageEntity); }
private void GetTraRefundedCustomerMessage(SendAppMessageModel sendAppMessageModel) { if (sendAppMessageModel.OrderType == OrderSourceTypeEnum.TraRet && sendAppMessageModel.SendType == SendAppMessageTypeEnum.RefundedCustomerNotice) { TraOrderEntity traOrderEntity = _traOrderDal.Find <TraOrderEntity>(sendAppMessageModel.OrderId); sendAppMessageModel.SendContent = string.Format("您的火车票退票订单{0}已经退票成功,请确认", traOrderEntity.OrderRoot + traOrderEntity.NumberIdentity); } }
/// <summary> /// 火车改签出票推送信息 /// </summary> /// <returns></returns> private void GetTraModPrintTicketMessage(SendAppMessageModel sendAppMessageModel) { if (sendAppMessageModel.OrderType == OrderSourceTypeEnum.TraMod && sendAppMessageModel.SendType == SendAppMessageTypeEnum.PrintTicketNotice) { TraModOrderEntity traModOrderEntity = _traModOrderDal.Find <TraModOrderEntity>(sendAppMessageModel.OrderId); sendAppMessageModel.SendContent = string.Format("您的火车票改签订单{0}已经改签出票成功,请确认", traModOrderEntity.Coid); } }
/// <summary> /// 机票改签出票推送信息 /// </summary> /// <returns></returns> private void GetFltModPrintTicketMessage(SendAppMessageModel sendAppMessageModel) { if (sendAppMessageModel.OrderType == OrderSourceTypeEnum.FltMod && sendAppMessageModel.SendType == SendAppMessageTypeEnum.PrintTicketNotice) { FltModOrderEntity fltModOrderEntity = _fltModOrderDal.Find <FltModOrderEntity>(sendAppMessageModel.OrderId); sendAppMessageModel.SendContent = string.Format("您的机票订单{0}已经改签出票成功,请确认", fltModOrderEntity.OrderId); } }
private void GetFltRefundedCustomerMessage(SendAppMessageModel sendAppMessageModel) { if (sendAppMessageModel.OrderType == OrderSourceTypeEnum.FltRet && sendAppMessageModel.SendType == SendAppMessageTypeEnum.RefundedCustomerNotice) { FltRefundOrderEntity fltRefundOrderEntity = _fltRefundOrderDal.Find <FltRefundOrderEntity>(sendAppMessageModel.OrderId); sendAppMessageModel.SendContent = string.Format("机票订单{0}已经退票成功,请确认", fltRefundOrderEntity.OrderId); } }
/// <summary> /// 机票退票申请待审批通知 /// </summary> /// <param name="sendAppMessageModel"></param> private void GetFltRetApplyWaitAuditMessage(SendAppMessageModel sendAppMessageModel) { if (sendAppMessageModel.OrderType == OrderSourceTypeEnum.FltRetApply && sendAppMessageModel.SendType == SendAppMessageTypeEnum.WaitAuditNotice) { FltRetModApplyEntity fltRetModApplyEntity = _fltRetModApplyDal.Find <FltRetModApplyEntity>(sendAppMessageModel.OrderId); sendAppMessageModel.SendContent = string.Format("机票退票申请{0}需要您进行审批", fltRetModApplyEntity.OrderId); } }
/// <summary> /// 退票申请核价待确认 /// </summary> /// <returns></returns> private void GetFltRetApplyConfireAuditPriceMessage(SendAppMessageModel sendAppMessageModel) { if (sendAppMessageModel.OrderType == OrderSourceTypeEnum.FltRetApply && sendAppMessageModel.SendType == SendAppMessageTypeEnum.ConfireAuditPriceNotice) { FltRetModApplyEntity fltRetModApplyEntity = _fltRetModApplyDal.Find <FltRetModApplyEntity>(sendAppMessageModel.OrderId); sendAppMessageModel.SendContent = string.Format("您的机票退票申请{0}已经核价成功,请确认核价", fltRetModApplyEntity.OrderId); } }
private void GetFltRetApplyAuditResultMessage(SendAppMessageModel sendAppMessageModel) { if (sendAppMessageModel.OrderType == OrderSourceTypeEnum.FltRetApply && sendAppMessageModel.SendType == SendAppMessageTypeEnum.AuditResultNotice) { FltRetModApplyEntity fltRetModApplyEntity = _fltRetModApplyDal.Find <FltRetModApplyEntity>(sendAppMessageModel.OrderId); /** * 审批共分为如下情况: * 1.只存在一级审核 * 2.存在二级审核 */ if (fltRetModApplyEntity.Cpid.HasValue && !fltRetModApplyEntity.CpidSecond.HasValue) { if (fltRetModApplyEntity.OrderStatus == "D") { sendAppMessageModel.SendContent = string.Format("您的机票退票申请{0}已经通过审批,准备退票", fltRetModApplyEntity.OrderId); } else if (fltRetModApplyEntity.OrderStatus == "C") { sendAppMessageModel.SendContent = string.Format("您的机票退票申请{0}被审批人驳回,请您确认", fltRetModApplyEntity.OrderId); } } else if (fltRetModApplyEntity.Cpid.HasValue && fltRetModApplyEntity.CpidSecond.HasValue) { if (fltRetModApplyEntity.OrderStatus == "S") { sendAppMessageModel.SendContent = string.Format("您的机票退票申请{0}已经通过一级审批,进入二级审批", fltRetModApplyEntity.OrderId); } if (fltRetModApplyEntity.OrderStatus == "D") { sendAppMessageModel.SendContent = string.Format("您的机票退票申请{0}已经通过二级审批,准备退票", fltRetModApplyEntity.OrderId); } else if (fltRetModApplyEntity.OrderStatus == "C") { sendAppMessageModel.SendContent = string.Format("您的机票退票申请{0}被审批人驳回,请您确认", fltRetModApplyEntity.OrderId); } } } }
/// <summary> /// 机票审批通知 /// </summary> /// <param name="sendAppMessageModel"></param> private void GetFltAuditResultMessage(SendAppMessageModel sendAppMessageModel) { if (sendAppMessageModel.OrderType == OrderSourceTypeEnum.Flt && sendAppMessageModel.SendType == SendAppMessageTypeEnum.AuditResultNotice) { FltOrderEntity fltOrderEntity = _fltOrderDal.Find <FltOrderEntity>(sendAppMessageModel.OrderId); /** * 审批共分为如下情况: * 1.只存在一级审核 * 2.存在二级审核 */ if (fltOrderEntity.CPId.HasValue && !fltOrderEntity.CPIdSecond.HasValue) { if (fltOrderEntity.CheckStatus == "W") { sendAppMessageModel.SendContent = string.Format("您的机票订单{0}已经通过审批,准备出票", fltOrderEntity.OrderId); } else if (fltOrderEntity.CheckStatus == "J") { sendAppMessageModel.SendContent = string.Format("您的机票订单{0}被审批人驳回,请您确认", fltOrderEntity.OrderId); } } else if (fltOrderEntity.CPId.HasValue && fltOrderEntity.CPIdSecond.HasValue) { if (fltOrderEntity.CheckStatus == "S") { sendAppMessageModel.SendContent = string.Format("您的机票订单{0}已经通过一级审批,进入二级审批", fltOrderEntity.OrderId); } if (fltOrderEntity.CheckStatus == "W") { sendAppMessageModel.SendContent = string.Format("您的机票订单{0}已经通过二级审批,准备出票", fltOrderEntity.OrderId); } else if (fltOrderEntity.CheckStatus == "J") { sendAppMessageModel.SendContent = string.Format("您的机票订单{0}被审批人驳回,请您确认", fltOrderEntity.OrderId); } } } }
/// <summary> /// 审批结果通知 /// </summary> /// <param name="sendAppMessageModel"></param> private void GetAuditResultMessage(SendAppMessageModel sendAppMessageModel) { if (sendAppMessageModel.OrderType == OrderSourceTypeEnum.AduitOrder) { CorpAduitOrderEntity corpAduitOrderEntity = _corpAduitOrderDal.Find <CorpAduitOrderEntity>(sendAppMessageModel.OrderId); if (corpAduitOrderEntity == null) { return; } List <CorpAduitOrderDetailEntity> corpAduitOrderDetailEntities = _corpAduitOrderDetailDal.Query <CorpAduitOrderDetailEntity>( n => n.AduitOrderId == sendAppMessageModel.OrderId, true).ToList(); if (corpAduitOrderDetailEntities == null || corpAduitOrderDetailEntities.Count == 0) { return; } string orderType = corpAduitOrderDetailEntities[0].OrderType.ValueToDescription <OrderSourceTypeEnum>(); string orderId = corpAduitOrderDetailEntities[0].OrderId.ToString(); if (sendAppMessageModel.SendType == SendAppMessageTypeEnum.AuditResultNotice) { if (corpAduitOrderEntity.Status == (int)CorpAduitOrderStatusEnum.J) { sendAppMessageModel.SendContent = string.Format("您的{0}{1}{2}被审批人驳回,请您确认", orderType, (orderType.Contains("申请") ? "" : "订单"), orderId); } else if (corpAduitOrderEntity.Status == (int)CorpAduitOrderStatusEnum.F) { sendAppMessageModel.SendContent = string.Format("您的{0}{1}{2}已完成审批,准备为您{3}", orderType, (orderType.Contains("申请") ? "" : "订单"), orderId, (orderType.Contains("退票") ? "退票" : "出票")); if (!orderType.Contains("退票") && orderType.Contains("机票") && sendAppMessageModel.SendAppMessageType == SendAppMessageTypeEnum.SendRunPrintFltTicketEmail) { FltOrderEntity fltOrderEntity = base.Context.Set <FltOrderEntity>().Find(Convert.ToInt32(orderId)); if (fltOrderEntity != null) { string oid = string.IsNullOrEmpty(fltOrderEntity.CreateOid) ? "sys" : fltOrderEntity.CreateOid.ToUpper(); OperatorEntity operatorEntity = base.Context.Set <OperatorEntity>().Where(n => n.Oid.ToUpper() == oid).FirstOrDefault(); sendAppMessageModel.IsRunOutTicket = true; sendAppMessageModel.Email = operatorEntity?.Email; string isServer = AppSettingsHelper.GetAppSettings(AppSettingsEnum.IsServer); string url = string.Format( "http://192.168.1.117/orderprocess/Flt_order.asp?orderid={0}", orderId); if (isServer == "T") { url = string.Format("http://192.168.1.188/orderprocess/Flt_order.asp?orderid={0}", orderId); } sendAppMessageModel.SendContent = string.Format("订单<a href='{0}'>{1}</a>已审核,请出票", url, orderId); sendAppMessageModel.EmailTitle = string.Format("订单{0}已审核,请出票", orderId); } } } else if (corpAduitOrderEntity.Status > (int)CorpAduitOrderStatusEnum.N) { sendAppMessageModel.SendContent = string.Format("您的{0}{1}{2}已通过审批,待下级为您继续审批", orderType, (orderType.Contains("申请") ? "" : "订单"), orderId); } } else if (sendAppMessageModel.SendType == SendAppMessageTypeEnum.AuditOrderDeleteNotice) { sendAppMessageModel.SendContent = string.Format("您的{0}{1}{2}由于已经取消,所以审批自动过期", orderType, (orderType.Contains("申请") ? "" : "订单"), orderId); } } }
/// <summary> /// 获取机票出票通知邮件 /// </summary> /// <param name="sendAppMessageModel"></param> private void GetFltPrintTicketEmail(SendAppMessageModel sendAppMessageModel) { CustomerInfoEntity customerInfoEntity = base.Context.Set <CustomerInfoEntity>().Find(sendAppMessageModel.Cid); if (string.IsNullOrEmpty(customerInfoEntity?.Email)) { return; } sendAppMessageModel.Email = customerInfoEntity.Email; FltOrderEntity fltOrderEntity = _fltOrderDal.Find <FltOrderEntity>(sendAppMessageModel.OrderId); List <FltPassengerEntity> fltPassengerEntities = _fltPassengerDal.Query <FltPassengerEntity>(n => n.OrderId == fltOrderEntity.OrderId, true).ToList(); List <FltFlightEntity> fltFlightEntities = _fltFlightDal.Query <FltFlightEntity>(n => n.OrderId == fltOrderEntity.OrderId, true).ToList(); //判断是否是同一个编码 bool isSamePnr = fltFlightEntities.Select(n => n.RecordNo).Distinct().Count() == 1; if (fltFlightEntities.Count == 1) { isSamePnr = false; } StringBuilder sb = new StringBuilder(); sb.AppendFormat("<p>{0}:</p>", customerInfoEntity.RealName); sb.Append("<p> </p>"); sb.Append("<p>您好!</p>"); foreach (var fltPassengerEntity in fltPassengerEntities) { sb.Append("<p> </p>"); sb.AppendFormat("<p>{0}:{1}已成功预订!</p>", fltPassengerEntity.Name, fltPassengerEntity.CardNo); if (!isSamePnr) { //不同编码的行程 foreach (var fltFlightEntity in fltFlightEntities) { string dportName = _airPortDal.Query <AirPortEntity>(n => n.AirportCode == fltFlightEntity.Dport, true) .FirstOrDefault()? .AirportName; string aportName = _airPortDal.Query <AirPortEntity>(n => n.AirportCode == fltFlightEntity.Aport, true) .FirstOrDefault()? .AirportName; string s1 = fltFlightEntity.Airportson.Length >= 2 ? fltFlightEntity.Airportson.Substring(0, 2) : "--"; string s2 = fltFlightEntity.Airportson.Length >= 4 ? fltFlightEntity.Airportson.Substring(2, 2) : "--"; sb.AppendFormat("<p>行程:{0} {1}{2}-{3}{4}</p>", fltFlightEntity.FlightNo, dportName, s1, aportName, s2); sb.AppendFormat("<p>出行时间:{0} {1} 起飞 {2} 到达</p>", fltFlightEntity.TackoffTime.ToString("MM月dd日"), fltFlightEntity.TackoffTime.ToString("HH:mm"), fltFlightEntity.ArrivalsTime.ToString("HH:mm")); sb.AppendFormat("<p>价格:{0}元</p>", fltFlightEntity.SalePrice + fltFlightEntity.TaxFee + fltFlightEntity.OilFee + (fltFlightEntity.ServiceFee ?? 0)); } } else { //第一段 string f1 = fltFlightEntities[0].FlightNo; string dport1 = fltFlightEntities[0].Dport; string dportName1 = _airPortDal.Query <AirPortEntity>(n => n.AirportCode == dport1, true) .FirstOrDefault()? .AirportName; string aport1 = fltFlightEntities[0].Aport; string aportName1 = _airPortDal.Query <AirPortEntity>(n => n.AirportCode == aport1, true) .FirstOrDefault()? .AirportName; string d1 = fltFlightEntities[0].Airportson.Length >= 2 ? fltFlightEntities[0].Airportson.Substring(0, 2) : "--"; string a1 = fltFlightEntities[0].Airportson.Length >= 4 ? fltFlightEntities[0].Airportson.Substring(2, 2) : "--"; //第二段 string f2 = fltFlightEntities[1].FlightNo; string dport2 = fltFlightEntities[1].Dport; string dportName2 = _airPortDal.Query <AirPortEntity>(n => n.AirportCode == dport2, true) .FirstOrDefault()? .AirportName; string aport2 = fltFlightEntities[1].Aport; string aportName2 = _airPortDal.Query <AirPortEntity>(n => n.AirportCode == aport2, true) .FirstOrDefault()? .AirportName; string d2 = fltFlightEntities[1].Airportson.Length >= 2 ? fltFlightEntities[1].Airportson.Substring(0, 2) : "--"; string a2 = fltFlightEntities[1].Airportson.Length >= 4 ? fltFlightEntities[1].Airportson.Substring(2, 2) : "--"; sb.AppendFormat("<p>行程:去 {0} {1}{2}-{3}{4},回 {5} {6}{7}-{8}{9}</p>", f1, dportName1, d1, aportName1, a1, f2, dportName2, d2, aportName2, a2); sb.AppendFormat("<p>出行时间:去 {0} {1} 起飞 {2} 到达,回 {3} {4} 起飞 {5} 到达</p>", fltFlightEntities[0].TackoffTime.ToString("MM月dd日"), fltFlightEntities[0].TackoffTime.ToString("HH:mm"), fltFlightEntities[0].ArrivalsTime.ToString("HH:mm"), fltFlightEntities[1].TackoffTime.ToString("MM月dd日"), fltFlightEntities[1].TackoffTime.ToString("HH:mm"), fltFlightEntities[1].ArrivalsTime.ToString("HH:mm")); sb.AppendFormat("<p>价格:{0}元</p>", fltFlightEntities.Sum(n => n.SalePrice) + fltFlightEntities.Sum(n => n.TaxFee) + fltFlightEntities.Sum(n => n.OilFee) + fltFlightEntities.Sum(n => (n.ServiceFee ?? 0))); } } sb.Append("<p></p>"); sb.Append("<p>退改签规则:</p>"); if (fltFlightEntities.Count == 1) { sb.AppendFormat("<p>退票:{0}</p>", fltFlightEntities[0].RetDes); sb.AppendFormat("<p>改期:{0}</p>", fltFlightEntities[0].ModDes); } else { sb.AppendFormat("<p>去程:</p>"); sb.AppendFormat("<p>退票:{0}</p>", fltFlightEntities[0].RetDes); sb.AppendFormat("<p>改期:{0}</p>", fltFlightEntities[0].ModDes); sb.AppendFormat("<p>回程:</p>"); sb.AppendFormat("<p>退票:{0}</p>", fltFlightEntities[1].RetDes); sb.AppendFormat("<p>改期:{0}</p>", fltFlightEntities[1].ModDes); } sb.Append("<p>温馨提醒:请提前90分钟到达机场,祝您一路平安,旅途愉快!</p>"); sendAppMessageModel.SendContent = sb.ToString(); }
/// <summary> /// 出票消息通知 /// </summary> /// <param name="sendAppMessageModel"></param> public void AddAppPrintTicketMessage(SendAppMessageModel sendAppMessageModel) { _addSendAppMessageBll.AddAppMessage(sendAppMessageModel); }
/// <summary> /// 待审批消息通知 /// </summary> /// <param name="sendAppMessageModel"></param> public void AddAppWaitAuditMessage(SendAppMessageModel sendAppMessageModel) { _addSendAppMessageBll.AddAppMessage(sendAppMessageModel); }
/// <summary> /// 审批结果通知 /// </summary> /// <param name="sendAppAuditResultMessageModel"></param> public void AddAppAuditResultMessage(SendAppAuditResultMessageModel sendAppAuditResultMessageModel) { SendAppMessageModel sendAppMessageModel = sendAppAuditResultMessageModel; _addSendAppMessageBll.AddAppMessage(sendAppMessageModel); }