Esempio n. 1
0
        /// <summary>
        /// 获取奖品列表
        /// </summary>
        /// <param name="scenicId">景区id</param>
        /// <returns></returns>
        public TPageResult <PrizeViewDto> GetPrizeList()
        {
            var result               = new TPageResult <PrizeViewDto>();
            var tbl_WeiXinPrizes     = _prizeRepository.GetList();
            List <PrizeViewDto> list = new List <PrizeViewDto>();

            foreach (var row in tbl_WeiXinPrizes)
            {
                list.Add(new PrizeViewDto
                {
                    Id               = row.Id,
                    Name             = row.Name,
                    PrizeName        = row.PrizeName,
                    PrizeProbability = row.PrizeProbability,
                    Money            = row.Money,
                    PrizeType        = row.PrizeType,
                    Stock            = row.Stock,
                    IsEnable         = row.IsEnable,
                    MinUseAmount     = row.MinUseAmount,
                    StartDate        = row.StartDate,
                    EndDate          = row.EndDate
                });
            }
            return(result.SuccessResult(list, list.Count));
        }
Esempio n. 2
0
        public ActionResult ListData()
        {
            var list   = _memberTypeFacadeService.GetList();
            var result = new TPageResult <Tbl_MemberType>();

            return(Json(result.SuccessResult(list, list.Count), JsonRequestBehavior.AllowGet));
        }
        public TPageResult <GuideViewModel> GetList(GuideQueryModel model)
        {
            var where = PredicateBuilder.True <Tbl_TravelAgencyGuides>();
            where     = PredicateBuilder.And(@where, x => x.OTABusinessId == model.OTABusinessId);
            if (!string.IsNullOrEmpty(model.Name))
            {
                where = PredicateBuilder.And(@where, x => x.Name.Contains(model.Name));
            }
            if (!string.IsNullOrEmpty(model.Mobile))
            {
                where = PredicateBuilder.And(@where, x => x.Mobile == model.Mobile);
            }
            if (!string.IsNullOrEmpty(model.IdCard))
            {
                where = PredicateBuilder.And(@where, x => x.IdCard == model.IdCard);
            }
            var total  = 0;
            var list   = _travelAgencyGuideRepository.GetPageList(model.Limit, model.Page, out total, where, a => a.CreateTime);
            var result = new TPageResult <GuideViewModel>();
            var data   = list.Select(a => new GuideViewModel
            {
                Id     = a.Id,
                IdCard = a.IdCard,
                Mobile = a.Mobile,
                Name   = a.Name
            }).ToList();

            return(result.SuccessResult(data, total));
        }
Esempio n. 4
0
        public TPageResult <T> GetPage <T>(Page page) where T : class
        {
            TPageResult <T> result = new TPageResult <T>();

            if (page.PageIndex <= 0)
            {
                page.PageIndex = 1;
                page.PageSize  = 20;
            }

            int start = (page.PageIndex - 1) * page.PageSize;
            int end   = start + page.PageSize;

            ReadConnection();
            StringBuilder sqlBuilder = new StringBuilder();

            sqlBuilder.Append("SELECT * FROM [dbo].[Company]");
            sqlBuilder.Append(" WHERE 1=1");
            sqlBuilder.Append(" ORDER BY Id");
            sqlBuilder.Append($" OFFSET {start} ROWS FETCH NEXT {end} ROW ONLY;");

            result.DataList  = connection.Query <T>(sqlBuilder.ToString());
            result.PageIndex = page.PageIndex++;
            result.PageSize  = page.PageSize;

            return(result);
        }
        public TPageResult <T> GetPageList <T>(int pageSize, int pageIndex, IQueryable <T> where)
        {
            var result = new TPageResult <T>();
            var total  = where.Count();
            var data   = where.Skip(pageSize * (pageIndex - 1)).Take(pageSize).ToList();

            return(result.SuccessResult(data, total));
        }
        public TPageResult <OrderViewModel> GetList(OrderQueryModel model)
        {
            var where = PredicateBuilder.True <Tbl_TravelAgencyOrder>();
            where     = PredicateBuilder.And(@where, x => x.OTABusinessId == model.OTABusinessId);
            if (!string.IsNullOrEmpty(model.OrderNo))
            {
                where = PredicateBuilder.And(@where, x => x.OrderNo.Contains(model.OrderNo));
            }
            if (!string.IsNullOrEmpty(model.Mobile))
            {
                where = PredicateBuilder.And(@where, x => x.Mobile == model.Mobile);
            }
            if (!string.IsNullOrEmpty(model.Linkman))
            {
                where = PredicateBuilder.And(@where, x => x.Linkman.Contains(model.Linkman));
            }
            if (model.OrderStatus > 0)
            {
                where = PredicateBuilder.And(@where, x => x.OrderStatus == model.OrderStatus);
            }
            if (model.AuditStatus > 0)
            {
                where = PredicateBuilder.And(@where, x => x.AuditStatus == model.AuditStatus);
            }
            if (model.PlaceOrderType > 0)
            {
                where = PredicateBuilder.And(@where, x => x.PlaceOrderType == model.PlaceOrderType);
            }
            if (model.ValidityDate.HasValue)
            {
                where = PredicateBuilder.And(@where, x => x.ValidityDateStart == model.ValidityDate.Value);
            }
            var total  = 0;
            var list   = _travelAgencyOrderRepository.GetPageList(model.Limit, model.Page, out total, where, a => a.CreateTime, false);
            var result = new TPageResult <OrderViewModel>();
            var data   = list.Select(a => new OrderViewModel
            {
                Id              = a.Id,
                IdCard          = a.IdCard,
                Mobile          = a.Mobile,
                OTABusinessName = a.OTABusinessName,
                AuditStatus     = a.AuditStatus,
                BookCount       = a.BookCount,
                CreateTime      = a.CreateTime,
                Linkman         = a.Linkman,
                OrderNo         = a.OrderNo,
                OrderStatus     = a.OrderStatus,
                PlaceOrderType  = a.PlaceOrderType,
                TotalAmount     = a.TotalAmount,
                ValidityDate    = a.ValidityDateStart.ToString("yyyy-MM-dd"),
                PlaceOrderName  = a.PlaceOrderName
            }).ToList();

            return(result.SuccessResult(data, total));
        }
Esempio n. 7
0
        public TPageResult <TicketViewModel> GetPageList(TicketQueryModel model)
        {
            var result = new TPageResult <TicketViewModel>();
            //过滤掉已过期的产品
            DateTime nowTime    = DateTime.Now.Date;
            DateTime endTime    = nowTime.AddDays(-1).Date;
            var      tbl_Ticket = PredicateBuilder.True <Tbl_Ticket>();

            if (!string.IsNullOrEmpty(model.TicketName))
            {
                using (var db = DbFactory.GetSqlSugarClient())
                {
                    var total = 0;
                    var data  = db.Queryable <Tbl_Ticket, Tbl_OTATicketRelation>((a, b) =>
                                                                                 new object[] { JoinType.Left, a.TicketId == b.TicketId }).
                                Where((a, b) =>
                                      a.TicketName.Contains(model.TicketName) &&
                                      b.OTABusinessId == model.OTABusinessId &&
                                      a.TicketSource == 2 &&
                                      a.ExpiryDateStart <= nowTime &&
                                      a.ExpiryDateEnd >= nowTime).
                                OrderBy((a) => a.CreateTime).
                                Select((a) => new TicketViewModel
                    {
                        TicketId    = a.TicketId,
                        TicketName  = a.TicketName,
                        Price       = a.SalePrice,
                        BookCount   = 1,
                        TotalAmount = a.SalePrice
                    }).ToPageList(model.Page, model.Limit, ref total);
                    return(result.SuccessResult(data, total));
                }
            }
            using (var db = DbFactory.GetSqlSugarClient())
            {
                var total = 0;
                var data  = db.Queryable <Tbl_Ticket, Tbl_OTATicketRelation>((a, b) =>
                                                                             new object[] { JoinType.Left, a.TicketId == b.TicketId }).
                            Where((a, b) =>
                                  b.OTABusinessId == model.OTABusinessId &&
                                  a.TicketSource == 2 &&
                                  a.ExpiryDateStart <= nowTime &&
                                  a.ExpiryDateEnd >= nowTime).
                            OrderBy((a) => a.CreateTime).
                            Select((a) => new TicketViewModel
                {
                    TicketId    = a.TicketId,
                    TicketName  = a.TicketName,
                    Price       = a.SalePrice,
                    BookCount   = 1,
                    TotalAmount = a.SalePrice
                }).ToPageList(model.Page, model.Limit, ref total);
                return(result.SuccessResult(data, total));
            }
        }
Esempio n. 8
0
        public IHttpActionResult GetIntegralDetails(string openId, int page, int limit)
        {
            var list = _integralFacadeService.GetList(new IntegralDetailsQueryDto
            {
                OpenId = openId,
                Page   = page,
                Limit  = limit
            });
            var result = new TPageResult <IntegralDetailsDto>();

            return(Ok(result.SuccessResult(list.Data, list.TotalCount)));
        }
Esempio n. 9
0
        /// <summary>
        /// 获取奖品列表
        /// </summary>
        /// <param name="scenicId">景区id</param>
        /// <returns></returns>
        public TPageResult <PrizeUserViewDto> GetPrizeUserList(PrizeUserQureyDto model)
        {
            var result = new TPageResult <PrizeUserViewDto>();
            var tbl_WeiXinPrizeUser = PredicateBuilder.True <Tbl_PrizeUser>();
            var tbl_WeiXinPrize     = PredicateBuilder.True <Tbl_Prize>();
            var tbl_WeiXin_User     = PredicateBuilder.True <Tbl_WeiXinUser>();

            //tbl_WeiXinPrizeUser = tbl_WeiXinPrizeUser.And(p => p.ScenicId == model.ScenicId);
            if (!string.IsNullOrEmpty(model.Number))
            {
                tbl_WeiXinPrizeUser = tbl_WeiXinPrizeUser.And(o => o.Number == model.Number);
            }
            if (model.WinningTime.HasValue)
            {
                tbl_WeiXinPrizeUser = tbl_WeiXinPrizeUser.And(o => o.WinningDate == model.WinningTime.Value);
            }
            if (!string.IsNullOrEmpty(model.WinningType))
            {
                tbl_WeiXinPrize = tbl_WeiXinPrize.And(o => o.Name == model.WinningType);
            }
            if (model.UserId.HasValue)
            {
                tbl_WeiXin_User = tbl_WeiXin_User.And(o => o.Id == model.UserId);
            }
            if (!string.IsNullOrEmpty(model.UserNickName))
            {
                tbl_WeiXin_User = tbl_WeiXin_User.And(o => o.NickName.Contains(model.UserNickName));
            }

            var weiXinPrizeUser = _weiXinPrizeUserRepository._dbset.Where(tbl_WeiXinPrizeUser);
            var weiXinPrize     = _weiXinPrizeRepository._dbset.Where(tbl_WeiXinPrize);
            var weiXin_User     = _weiXinUserRepository._dbset.Where(tbl_WeiXin_User);
            var linq            = (from a in weiXinPrizeUser
                                   join b in weiXinPrize on a.PrizeId equals b.Id
                                   join c in weiXin_User on a.OpenId equals c.OpenId
                                   select new PrizeUserViewDto
            {
                OpenId = a.OpenId,
                IsUse = a.IsUse,
                Number = a.Number,
                WinningDate = a.CreateTime,
                Name = b.Name,
                PrizeName = b.PrizeName,
                UserId = c.Id,
                UserNickName = c.NickName,
                MinUseAmount = b.MinUseAmount,
                StartDate = a.StartDate,
                EndDate = a.EndDate
            }).OrderByDescending(c => c.WinningDate);
            var pageList = PaginationHelper.FindPagedList(model.Page, model.Limit, linq);

            return(result.SuccessResult(pageList.Data, pageList.TotalCount));
        }
Esempio n. 10
0
        /// <summary>
        /// 获取轮播图列表
        /// </summary>
        /// <param name="scenicId">景区id</param>
        /// <returns></returns>
        public TPageResult <BannerListDto> GetList()
        {
            var result                = new TPageResult <BannerListDto>();
            var tbl_WeiXinPrizes      = _bannerRepository.GetList().OrderBy(a => a.Order).ToList();
            List <BannerListDto> list = new List <BannerListDto>();

            foreach (var row in tbl_WeiXinPrizes)
            {
                list.Add(new BannerListDto
                {
                    Id       = row.Id,
                    Title    = row.Title,
                    ImgPath  = row.ImgPath,
                    Order    = row.Order,
                    IsEnable = row.IsEnable,
                    Url      = row.Url,
                });
            }
            return(result.SuccessResult(list, list.Count));
        }
        public TPageResult <TicketViewModel> GetPageList(TicketQueryModel model)
        {
            var result = new TPageResult <TicketViewModel>();

            if (model.PlayDate.Date < DateTime.Now.Date)
            {
                return(result.FailureResult(null, "游玩日期不能小于今天"));
            }
            //过滤掉已过期的产品
            DateTime nowTime    = model.PlayDate.Date;
            var      tbl_Ticket = PredicateBuilder.True <Tbl_Ticket>();

            if (!string.IsNullOrEmpty(model.TicketName))
            {
                using (var db = DbFactory.GetSqlSugarClient())
                {
                    var total = 0;
                    var data  = db.Queryable <Tbl_Ticket, Tbl_OTATicketRelation>((a, b) =>
                                                                                 new object[] { JoinType.Left, a.TicketId == b.TicketId }).
                                Where((a, b) =>
                                      a.TicketName.Contains(model.TicketName) &&
                                      b.OTABusinessId == model.OTABusinessId &&
                                      a.TicketSource == 2 &&
                                      a.ExpiryDateStart <= nowTime &&
                                      a.ExpiryDateEnd >= nowTime).
                                OrderBy((a) => a.CreateTime).
                                Select((a) => new TicketViewModel
                    {
                        TicketId    = a.TicketId,
                        TicketName  = a.TicketName,
                        Price       = a.SalePrice,
                        BookCount   = 1,
                        TotalAmount = a.SalePrice,
                        Min         = a.MinOQ,
                        Max         = a.MaxOQ
                    }).ToPageList(model.Page, model.Limit, ref total);
                    foreach (var row in data)
                    {
                        row.BookCount   = row.Min > 0 ? row.Min : 1;
                        row.TotalAmount = row.BookCount * row.Price;
                    }
                    return(result.SuccessResult(data, total));
                }
            }
            using (var db = DbFactory.GetSqlSugarClient())
            {
                var total = 0;
                var data  = db.Queryable <Tbl_Ticket, Tbl_OTATicketRelation>((a, b) =>
                                                                             new object[] { JoinType.Left, a.TicketId == b.TicketId }).
                            Where((a, b) =>
                                  b.OTABusinessId == model.OTABusinessId &&
                                  a.TicketSource == 2 &&
                                  a.ExpiryDateStart <= nowTime &&
                                  a.ExpiryDateEnd >= nowTime).
                            OrderBy((a) => a.CreateTime).
                            Select((a) => new TicketViewModel
                {
                    TicketId    = a.TicketId,
                    TicketName  = a.TicketName,
                    Price       = a.SalePrice,
                    BookCount   = 1,
                    TotalAmount = a.SalePrice,
                    Min         = a.MinOQ,
                    Max         = a.MaxOQ
                }).ToPageList(model.Page, model.Limit, ref total);
                foreach (var row in data)
                {
                    row.BookCount = row.Min > 0 ? row.Min : 1;
                }
                return(result.SuccessResult(data, total));
            }
        }
Esempio n. 12
0
        public TPageResult <TblTicketViewModel> GetList(TblTicketQueryModel model)
        {
            var result = new TPageResult <TblTicketViewModel>();

            if (model.PlayTime.Date < DateTime.Now.Date)
            {
                return(result.FailureResult(null));
            }
            DateTime playTime   = model.PlayTime.Date;
            int      total      = 0;
            var      ticketList = _ticketTypeRepository.db.Queryable <Tbl_EnterpriseUserTicket, Tbl_Ticket>((a, b) =>
                                                                                                            new object[] {
                JoinType.Left, a.TicketId == b.TicketId
            }).
                                  Where((a, b) =>
                                        a.EnterpriseUserId == model.UserId &&
                                        b.ScenicId == model.ScenicId &&
                                        b.TypeId == model.TicketTypeId &&
                                        b.DataStatus == 0 &&
                                        b.TicketSource == (int)TicketSourceStatus.ScenicSpot &&
                                        b.ExpiryDateStart <= playTime &&
                                        b.ExpiryDateEnd >= playTime
                                        ).
                                  OrderBy((a, b) => b.CreateTime).
                                  Select((a, b) => new TblTicketViewModel
            {
                TicketName = b.TicketName,
                Id         = b.TicketId,
                Price      = b.SalePrice,
                MinOQ      = b.MinOQ,
                MaxOQ      = b.MaxOQ,
                RuleId     = b.RuleId
            }).ToPageList(model.Page, model.PageSize, ref total);


            var      ruleIds        = ticketList.Select(a => a.RuleId).Distinct().ToList();
            var      ticketRuleList = _ticketRuleRepository.GetAllList(a => ruleIds.Contains(a.Id));
            var      scanTicketList = new List <TblTicketViewModel>();
            DateTime nowTime        = DateTime.Now.Date;

            foreach (var row in ticketList)
            {
                var ticketRule = ticketRuleList.FirstOrDefault(a => a.Id == row.RuleId);
                if (ticketRule != null && ticketRule.CanBookAdvance)
                {
                    var playDataTime = playTime.AddHours(nowTime.Hour).AddMinutes(nowTime.Minute).AddSeconds(nowTime.Second);
                    var nowDataTime  = nowTime.Date.AddHours(nowTime.Hour).AddMinutes(nowTime.Minute).AddSeconds(nowTime.Second);
                    var time         = nowDataTime.AddDays(ticketRule.BookDay ?? 0).AddHours(ticketRule.BookHour ?? 0).AddMinutes(ticketRule.BookMinute ?? 0);
                    if (time > playDataTime)
                    {
                        continue;
                    }
                }
                scanTicketList.Add(new TblTicketViewModel
                {
                    TicketName = row.TicketName,
                    Id         = row.Id,
                    Price      = row.Price,
                    MinOQ      = row.MinOQ,
                    MaxOQ      = row.MaxOQ
                });
            }

            var ticketIds           = scanTicketList.Select(a => a.Id).ToList();
            var Tbl_TicketRelations = _ticketRelationRepository.GetAllList(p => p.ScenicId == model.ScenicId && ticketIds.Contains(p.TicketId));

            DateTime endPay = playTime.AddDays(-1);

            //根据游玩日期,变动价格
            foreach (var item in scanTicketList)
            {
                //根据orderId 顺序排列 取第一条
                var tbl_TicketRelation = Tbl_TicketRelations.Where(p =>
                                                                   p.TicketId == item.Id &&
                                                                   p.Type == (int)TicketRelationEnum.TimeSlot &&
                                                                   p.ExpiryDateStart <= nowTime &&
                                                                   p.ExpiryDateEnd >= nowTime
                                                                   ).OrderBy(c => c.OrderId).FirstOrDefault();

                if (tbl_TicketRelation != null)
                {
                    item.Price = tbl_TicketRelation.SalePrice;
                    continue;
                }
                //特殊时间段价格表为空 同时 游玩日期 是周末则启动周末价格策略
                var dayOfWeek = playTime.DayOfWeek;
                if (dayOfWeek != DayOfWeek.Saturday && dayOfWeek != DayOfWeek.Sunday)
                {
                    continue;
                }
                var ticketRelation = Tbl_TicketRelations.FirstOrDefault(p => p.TicketId == item.Id && p.Type == (int)TicketRelationEnum.Weekend);
                if (ticketRelation != null)
                {
                    item.Price = ticketRelation.SalePrice;
                }
            }

            return(result.SuccessResult(scanTicketList, total));
        }
Esempio n. 13
0
        /// <summary>
        /// 获取售票员订单
        /// </summary>
        /// <param name="page"></param>
        /// <param name="pageSize"></param>
        /// <param name="sellerId"></param>
        /// <param name="keyword"></param>
        /// <returns></returns>
        public TPageResult <OrderViewModel> GetOrderList(int page, int pageSize, int sellerId, string keyword)
        {
            var result = new TPageResult <OrderViewModel>();

            var total = 0;
            List <Tbl_Order> orderList = new List <Tbl_Order>();

            if (!string.IsNullOrEmpty(keyword))
            {
                var orderDetail = _orderDetailRepository.FirstOrDefault(a => a.CertificateNO == keyword);
                if (orderDetail == null)
                {
                    return(result.SuccessResult(null, 0));
                }
                orderList = _orderRepository.GetPageList(pageSize, page, out total,
                                                         a => a.TicketSource == (int)TicketSourceStatus.ScenicSpot && a.SellerId == sellerId && a.OrderNo == orderDetail.OrderNo
                                                         , a => a.CreateTime, false);
            }
            else
            {
                orderList = _orderRepository.GetPageList(pageSize, page, out total,
                                                         a => a.TicketSource == (int)TicketSourceStatus.ScenicSpot && a.SellerId == sellerId
                                                         , a => a.CreateTime, false);
            }

            if (orderList.Count <= 0)
            {
                return(result.SuccessResult(null, 0));
            }
            var orderNos     = orderList.Select(a => a.OrderNo).ToList();
            var orderDetails = _orderDetailRepository.GetAllList(a => orderNos.Contains(a.OrderNo));

            var orderViewList = new List <OrderViewModel>();

            foreach (var row in orderList)
            {
                OrderViewModel relist = new OrderViewModel();
                relist.OrderNo           = row.OrderNo;
                relist.Linkman           = row.Linkman;
                relist.IDCard            = row.IDCard;
                relist.CreateTime        = row.CreateTime;
                relist.Mobile            = row.Mobile;
                relist.ValidityDateStart = row.ValidityDateStart;
                relist.ValidityDateEnd   = row.ValidityDateEnd;
                relist.BookCount         = row.BookCount;
                relist.TotalAmount       = row.TotalAmount;
                relist.PayType           = row.PayType;
                //未过有效期 允许退票
                relist.CanRefund = row.ValidityDateEnd >= DateTime.Now.Date;
                relist.ListDtl   = new List <OdtDtl>();
                var details = orderDetails.Where(a => a.OrderNo == row.OrderNo).ToList();
                foreach (var ent in details)
                {
                    relist.IsPrintT = ent.TicketCategory == 1;
                    relist.IsTwo    = ent.TicketCategory == 2;
                    OdtDtl dtlEnt = new OdtDtl
                    {
                        OrderDetailId  = ent.OrderDetailId,
                        TicketCategory = ent.TicketCategory,
                        TicketName     = ent.TicketName,
                        Quantity       = ent.Quantity,
                        Price          = ent.Price,
                        TotalAmount    = (ent.Price * ent.Quantity),
                        CertificateNO  = ent.CertificateNO,
                        Mobile         = ent.Mobile,
                        IDCard         = ent.IDCard,
                        PrintCount     = ent.PrintCount,
                        OrderStatus    = ent.OrderStatus,
                        CanRefund      = ((ent.OrderStatus == (int)OrderDetailsDataStatus.Activate || ent.OrderStatus == (int)OrderDetailsDataStatus.IsTaken) && row.ValidityDateEnd >= DateTime.Now.Date)
                    };
                    relist.ListDtl.Add(dtlEnt);
                }
                orderViewList.Add(relist);
            }
            return(result.SuccessResult(orderViewList, total));
        }
Esempio n. 14
0
        /// <summary>
        /// 获取ota订单
        /// </summary>
        /// <param name="page"></param>
        /// <param name="pageSize"></param>
        /// <param name="scenicId"></param>
        /// <param name="keyword"></param>
        /// <returns></returns>
        public TPageResult <OtaOrderViewModel> GetOtaOrderList(int page, int pageSize, int scenicId, string keyword)
        {
            var result = new TPageResult <OtaOrderViewModel>();

            var total = 0;
            List <Tbl_Order> orderList = new List <Tbl_Order>();

            if (!string.IsNullOrEmpty(keyword))
            {
                var orderDetail = _orderDetailRepository.FirstOrDefault(a => a.CertificateNO == keyword);
                if (orderDetail == null)
                {
                    return(result.SuccessResult(null, 0));
                }
                orderList = _orderRepository.GetPageList(pageSize, page, out total,
                                                         a => a.TicketSource == (int)TicketSourceStatus.Ota && a.ScenicId == scenicId && a.OrderNo == orderDetail.OrderNo
                                                         , a => a.CreateTime, false);
            }
            else
            {
                orderList = _orderRepository.GetPageList(pageSize, page, out total,
                                                         a => a.TicketSource == (int)TicketSourceStatus.Ota && a.ScenicId == scenicId
                                                         , a => a.CreateTime, false);
            }

            if (orderList.Count <= 0)
            {
                return(result.SuccessResult(null, 0));
            }
            var orderNos     = orderList.Select(a => a.OrderNo).ToList();
            var orderDetails = _orderDetailRepository.GetAllList(a => orderNos.Contains(a.OrderNo));

            var orderViewList = new List <OtaOrderViewModel>();

            foreach (var row in orderList)
            {
                OtaOrderViewModel relist = new OtaOrderViewModel();
                relist.OrderNo         = row.OrderNo;
                relist.OtaOrderNo      = row.OTAOrderNo;
                relist.BookCount       = row.BookCount;
                relist.TotalAmount     = row.TotalAmount;
                relist.CreateTime      = row.CreateTime;
                relist.TravelDate      = row.ValidityDateStart;
                relist.LinkName        = row.Linkman;
                relist.ReceiverName    = row.ReceiverName;
                relist.Mobile          = row.Mobile;
                relist.IDCard          = row.IDCard;
                relist.OTABusinessId   = row.OTABusinessId;
                relist.OTABusinessName = row.OTABusinessName;
                relist.Details         = new List <OtaOrderDetailViewModel>();
                //今天
                var today   = DateTime.Now.Date;
                var details = orderDetails.Where(a => a.OrderNo == row.OrderNo).ToList();
                foreach (var p in details)
                {
                    OtaOrderDetailViewModel dtlEnt = new OtaOrderDetailViewModel
                    {
                        OrderDetailId  = p.OrderDetailId,
                        Price          = p.Price,
                        Qunatity       = p.Quantity,
                        TicketName     = p.TicketName,
                        CertificateNo  = p.CertificateNO,
                        OrderStatus    = p.OrderStatus == (int)OtaOrderStatus.Success && p.ValidityDateEnd < today ? (int)OtaOrderStatus.Expired : p.OrderStatus,
                        TicketCategory = p.TicketCategory,
                        sentTimes      = p.EticektSendQuantity,
                        PrintCount     = p.PrintCount
                    };
                    relist.Details.Add(dtlEnt);
                }
                orderViewList.Add(relist);
            }
            return(result.SuccessResult(orderViewList, total));
        }