public int GetCouponCount(CouponSearchCondition condition) { var query = _couponRepository.Table; try { if (condition.Ids.HasValue) { query = query.Where(q => condition.Ids == q.Id); } if (!string.IsNullOrEmpty(condition.Number)) { query = query.Where(q => q.Number == condition.Number); } if (condition.CouponCategoryId.HasValue) { query = query.Where(q => condition.CouponCategoryId == q.CouponCategoryId); } if (condition.IdArray != null && condition.IdArray.Any()) { query = query.Where(q => condition.IdArray.Contains(q.Id)); } if (condition.Status.HasValue) { query = query.Where(q => (EnumCouponStatus)condition.Status == q.Status); } return(query.Count()); } catch (Exception e) { _log.Error(e, "数据库操作出错"); return(-1); } }
/// <summary> /// 抢优惠券 /// </summary> /// <param name="id">优惠券种类Id</param> /// <returns></returns> public ActionResult couponOwn(int id) { if (_workContext.CurrentUser == null) { return(Redirect("http://www.iyookee.cn/#/user/login")); } var couponCategory = _couponCategoryService.GetCouponCategoryById(id); var condition = new CouponSearchCondition { CouponCategoryId = id, Status = 0 }; var coupon = _couponService.GetCouponByCondition(condition).FirstOrDefault(); _couponOwnerService.CreateRecord(_workContext.CurrentUser.Id, coupon.Id); coupon.Status = EnumCouponStatus.Owned; _couponService.Update(coupon); couponCategory.Count = couponCategory.Count - 1; _couponCategoryService.UpdateCouponCategory(couponCategory); var brand = _productBrandService.GetProductBrandById(couponCategory.BrandId); var CouponOwn = new CouponCategoryModel { Name = couponCategory.Name, Number = coupon.Number, BrandName = brand.Bname }; var phone = _brokerService.GetBrokerByUserId(_workContext.CurrentUser.Id).Phone; //短信发送 SMSHelper.Sending(phone, "优惠券为:" + brand.Bname + ",券号为:" + coupon.Number + " 【优客惠】"); return(View(CouponOwn)); }
public List <CouponModel> Get(CouponSearchCondition condition) { var model = _CouponService.GetCouponsByCondition(condition).Select(c => new CouponModel { Id = c.Id, Guid = c.Guid, Type = c.Type, DisCount = c.DisCount, // Product = c.Product, ExpireTime = c.ExpireTime, Status = c.Status, Adduser = c.Adduser, Addtime = c.Addtime, Upduser = c.Upduser, Updtime = c.Updtime, Owner = c.Owner, }).ToList(); return(model); }
public HttpResponseMessage couponOwn(int id) { if (_workContext.CurrentUser == null) { return(PageHelper.toJson(PageHelper.ReturnValue(false, "请先登录优客惠"))); } var couponCategory = _couponCategoryService.GetCouponCategoryById(id); //检测是否已经抢过 var sech = new CouponOwnerSearchCondition { userId = _workContext.CurrentUser.Id }; var list = _couponOwnerService.GetCouponOwnByCondition(sech).Select(p => p.CouponId).ToArray(); if (list.Any()) { var sech2 = new CouponSearchCondition { CouponCategoryId = id, IdArray = list }; var count = _couponService.GetCouponCount(sech2); if (count != 0) { return(PageHelper.toJson(PageHelper.ReturnValue(false, "您已经抢过这家的优惠券了"))); } } var condition = new CouponSearchCondition { CouponCategoryId = id, Status = 0 }; var coupon = _couponService.GetCouponByCondition(condition).FirstOrDefault(); _couponOwnerService.CreateRecord(_workContext.CurrentUser.Id, coupon.Id); coupon.Status = EnumCouponStatus.Owned; _couponService.Update(coupon); couponCategory.Count = couponCategory.Count - 1; _couponCategoryService.UpdateCouponCategory(couponCategory); var brand = _productBrandService.GetProductBrandById(couponCategory.BrandId); var CouponOwn = new CouponCategoryModel { Name = couponCategory.Name, Number = coupon.Number, BrandName = brand.Bname }; var model = _brokerService.GetBrokerByUserId(_workContext.CurrentUser.Id); //短信发送 SMSHelper.Sending(model.Phone, "优惠券为:" + brand.Bname + ",券号为:" + coupon.Number + " 【优客惠】"); return(PageHelper.toJson(CouponOwn)); }
public IQueryable <Entity.Entity.Coupon.Coupon> GetCouponByCondition(CouponSearchCondition condition) { var query = _couponRepository.Table; try { if (condition.Ids.HasValue) { query = query.Where(q => condition.Ids == q.Id); } if (!string.IsNullOrEmpty(condition.Number)) { query = query.Where(q => q.Number == condition.Number); } if (condition.CouponCategoryId.HasValue) { query = query.Where(q => condition.CouponCategoryId == q.CouponCategoryId); } if (condition.Status.HasValue) { query = query.Where(q => (EnumCouponStatus)condition.Status == q.Status); } if (condition.IdArray != null && condition.IdArray.Any()) { query = query.Where(q => condition.IdArray.Contains(q.Id)); } if (condition.OrderBy.HasValue) { switch (condition.OrderBy.Value) { case EnumCouponSearchOrderBy.OrderById: query = condition.IsDescending?query.OrderByDescending(q => q.Id):query.OrderBy(q => q.Id); break; } } else { query = query.OrderBy(q => q.Id); } if (condition.Page.HasValue && condition.PageCount.HasValue) { query = query.Skip((condition.Page.Value - 1) * condition.PageCount.Value).Take(condition.PageCount.Value); } return(query); } catch (Exception e) { _log.Error(e, "数据库操作出错"); return(null); } }
public int GetCouponCount(CouponSearchCondition condition) { var query = _couponRepository.Table; try { if (condition.DisCountBegin.HasValue) { query = query.Where(q => q.DisCount >= condition.DisCountBegin.Value); } if (condition.DisCountEnd.HasValue) { query = query.Where(q => q.DisCount < condition.DisCountEnd.Value); } if (condition.Guid != null) { query = query.Where(q => q.Guid == condition.Guid); } if (condition.Type.HasValue) { query = query.Where(q => q.Type == condition.Type.Value); } if (condition.Status.HasValue) { query = query.Where(q => q.Status == condition.Status.Value); } if (condition.Owner != null) { query = query.Where(q => q.Owner == condition.Owner); } if (condition.Ids != null && condition.Ids.Any()) { query = query.Where(q => condition.Ids.Contains(q.Id)); } return(query.Count()); } catch (Exception e) { _log.Error(e, "数据库操作出错"); return(-1); } }
public HttpResponseMessage Index(int page, int pageSize, string number, bool isDes = true, EnumCouponSearchOrderBy orderByAll = EnumCouponSearchOrderBy.OrderById) { var condition = new CouponSearchCondition { IsDescending = isDes, Number = number, Page = page, PageCount = pageSize, OrderBy = orderByAll }; var coupon = _couponService.GetCouponByCondition(condition).Select(p => new { p.Id, p.Number, p.Price, p.Status }).ToList(); var count = _couponService.GetCouponCount(condition); return(PageHelper.toJson(new { List = coupon, TotalCount = count, Condition = condition })); }
public IQueryable <CouponEntity> GetCouponsByCondition(CouponSearchCondition condition) { var query = _couponRepository.Table; try { if (condition.DisCountBegin.HasValue) { query = query.Where(q => q.DisCount >= condition.DisCountBegin.Value); } if (condition.DisCountEnd.HasValue) { query = query.Where(q => q.DisCount < condition.DisCountEnd.Value); } if (condition.Guid != null) { query = query.Where(q => q.Guid == condition.Guid); } if (condition.Type.HasValue) { query = query.Where(q => q.Type == condition.Type.Value); } if (condition.Status.HasValue) { query = query.Where(q => q.Status == condition.Status.Value); } if (condition.Owner != null) { query = query.Where(q => q.Owner == condition.Owner); } if (condition.Ids != null && condition.Ids.Any()) { query = query.Where(q => condition.Ids.Contains(q.Id)); } if (condition.OrderBy.HasValue) { switch (condition.OrderBy.Value) { case EnumCouponSearchOrderBy.OrderById: query = condition.IsDescending?query.OrderByDescending(q => q.Id):query.OrderBy(q => q.Id); break; case EnumCouponSearchOrderBy.OrderByGuid: query = condition.IsDescending?query.OrderByDescending(q => q.Guid):query.OrderBy(q => q.Guid); break; case EnumCouponSearchOrderBy.OrderByType: query = condition.IsDescending?query.OrderByDescending(q => q.Type):query.OrderBy(q => q.Type); break; case EnumCouponSearchOrderBy.OrderByStatus: query = condition.IsDescending?query.OrderByDescending(q => q.Status):query.OrderBy(q => q.Status); break; case EnumCouponSearchOrderBy.OrderByAddtime: query = condition.IsDescending?query.OrderByDescending(q => q.Addtime):query.OrderBy(q => q.Addtime); break; case EnumCouponSearchOrderBy.OrderByUpdtime: query = condition.IsDescending?query.OrderByDescending(q => q.Updtime):query.OrderBy(q => q.Updtime); break; } } else { query = query.OrderBy(q => q.Id); } if (condition.Page.HasValue && condition.PageCount.HasValue) { query = query.Skip((condition.Page.Value - 1) * condition.PageCount.Value).Take(condition.PageCount.Value); } return(query); } catch (Exception e) { _log.Error(e, "数据库操作出错"); return(null); } }