Exemple #1
0
        /// <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);
                    }
                }
            }
        }
Exemple #11
0
        /// <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>&nbsp;</p>");
            sb.Append("<p>您好!</p>");

            foreach (var fltPassengerEntity in fltPassengerEntities)
            {
                sb.Append("<p>&nbsp; </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);
        }