/// <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)); }
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)); }
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)); }
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)); } }
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))); }
/// <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)); }
/// <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)); } }
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)); }
/// <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)); }
/// <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)); }