コード例 #1
0
        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);
            }
        }
コード例 #2
0
        /// <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));
        }
コード例 #3
0
        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);
        }
コード例 #4
0
        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));
        }
コード例 #5
0
        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);
            }
        }
コード例 #6
0
ファイル: CouponService.cs プロジェクト: gaofengming/protoss
        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);
            }
        }
コード例 #7
0
        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 }));
        }
コード例 #8
0
ファイル: CouponService.cs プロジェクト: gaofengming/protoss
        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);
            }
        }