Exemplo n.º 1
0
        /// <summary>
        /// 分页获取优惠券
        /// </summary>
        /// <param name="filter">筛选条件</param>
        /// <returns>分页列表</returns>
        /// <remarks>
        /// 2013-08-21 黄志勇 创建
        /// 2014-01-09 朱家宏 增加使用平台查询
        /// </remarks>
        public Pager <CBSpCoupon> DoCouponQuery(ParaCoupon filter)
        {
            if (filter.UsePlatform != null)
            {
                switch (filter.UsePlatform)
                {
                case (int)PromotionStatus.促销使用平台.PC商城:
                    filter.WebPlatform = 1;
                    break;

                case (int)PromotionStatus.促销使用平台.门店:
                    filter.ShopPlatform = 1;
                    break;

                case (int)PromotionStatus.促销使用平台.手机商城:
                    filter.MallAppPlatform = 1;
                    break;

                case (int)PromotionStatus.促销使用平台.物流App:
                    filter.LogisticsAppPlatform = 1;
                    break;
                }
            }
            return(ISpCouponDao.Instance.GetCoupon(filter));
        }
Exemplo n.º 2
0
        /// <summary>
        /// 待绑定到用户的优惠卷
        /// </summary>
        /// <param name="filter">筛选条件</param>
        /// <returns>分页列表</returns>
        /// <remarks>2013-12-06 朱家宏 创建</remarks>
        public Pager <CBSpCoupon> GetCouponsToBeAssigned(ParaCoupon filter)
        {
            /*
             * 查询条件:所选优惠卷为系统、优惠卷状态为已审核、结束日期大于当前、允许使用数量>0、平台查询权限
             */
            if (filter == null)
            {
                filter = new ParaCoupon();
            }

            filter.Type         = (int)PromotionStatus.优惠券类型.系统;
            filter.Status       = (int)PromotionStatus.优惠券状态.已审核;
            filter.ExpiredTime  = DateTime.Now;
            filter.UseQuantity  = 1;
            filter.IsCouponCard = (int)PromotionStatus.是否优惠卡.否;

            if (filter.WebPlatform == null && filter.ShopPlatform == null &&
                filter.MallAppPlatform == null && filter.LogisticsAppPlatform == null)
            {
                filter.Permissions = GetQueryPermissions();
                if (!filter.Permissions.Contains(true))
                {
                    //无权限
                    return(new Pager <CBSpCoupon>());
                }
            }

            return(ISpCouponDao.Instance.GetCoupon(filter));
        }
Exemplo n.º 3
0
        /// <summary>
        /// 获取优惠券(必须是系统和优惠卡)
        /// </summary>
        /// <param name="filter">筛选条件</param>
        /// <returns>获取优惠券(必须是系统和优惠卡)</returns>
        /// <remarks>2014-01-08 朱成果 创建</remarks>
        public Pager <CBSpCoupon> GetCouponsToCard(ParaCoupon filter)
        {
            if (filter == null)
            {
                filter = new ParaCoupon();
            }

            filter.Type         = (int)PromotionStatus.优惠券类型.系统;
            filter.Status       = (int)PromotionStatus.优惠券状态.已审核;
            filter.ExpiredTime  = DateTime.Now;
            filter.IsCouponCard = PromotionStatus.是否优惠卡.是.GetHashCode();
            filter.UseQuantity  = 1;
            return(ISpCouponDao.Instance.GetCoupon(filter));
        }
Exemplo n.º 4
0
 /// <summary>
 /// 分页获取优惠券
 /// </summary>
 /// <param name="filter">筛选条件</param>
 /// <returns>分页列表</returns>
 /// <remarks>2013-08-21 黄志勇 创建</remarks>
 public abstract Pager <CBSpCoupon> GetCoupon(ParaCoupon filter);
Exemplo n.º 5
0
        /// <summary>
        /// 分页获取优惠券
        /// </summary>
        /// <param name="filter">筛选条件</param>
        /// <returns>分页列表</returns>
        /// <remarks>
        /// 2013-08-21 黄志勇 创建
        /// 2013-12-06 朱家宏 增加 过期时间、优惠卷代码、允许使用数量查询
        /// 2014-01-07 朱家宏 重构
        /// </remarks>
        public override Pager <CBSpCoupon> GetCoupon(ParaCoupon filter)
        {
            var sql =
                @"SpCoupon a 
                  left join CrCustomer b on a.CustomerSysNo = b.SysNo
                  left join SpPromotion c on a.PromotionSysNo = c.SysNo
                  where {0} ";

            #region 构造sql

            var paras = new ArrayList();
            var where = "1=1 ";
            int i = 0;
            if (!string.IsNullOrWhiteSpace(filter.CustomerName))
            {
                //客户名
                where += " and charindex(b.Name,@p0p" + i + ")>0";
                paras.Add(filter.CustomerName);
                i++;
            }
            if (filter.Type != null)
            {
                //优惠券类型
                where += " and a.Type= @p0p" + i + "";
                paras.Add(filter.Type);
                i++;
            }
            if (!string.IsNullOrWhiteSpace(filter.SourceDescription))
            {
                //来源描述
                where += " and charindex(a.SourceDescription,@p0p" + i + ">0";
                paras.Add(filter.SourceDescription);
                i++;
            }
            if (filter.Status != null)
            {
                //状态
                where += " and a.Status=@p0p" + i + "";
                paras.Add(filter.Status);
                i++;
            }
            if (filter.StartTime != null)
            {
                //有效时间(起)
                where += " and a.StartTime>=@p0p" + i + "";
                paras.Add(filter.StartTime);
                i++;
            }
            if (filter.EndTime != null)
            {
                //有效时间(止)
                where += " and a.EndTime<@p0p" + i + "";
                paras.Add(filter.EndTime);
                i++;
            }
            if (filter.ExpiredTime != null)
            {
                //过期时间
                where += " and a.EndTime>=@p0p" + i + "";
                paras.Add(filter.ExpiredTime);
                i++;
            }
            if (!string.IsNullOrWhiteSpace(filter.CouponCode))
            {
                //优惠卷代码
                where += " and a.CouponCode=@p0p" + i + "";
                paras.Add(filter.CouponCode);
                i++;
            }
            if (filter.UseQuantity != null)
            {
                //允许使用数量
                where += " and a.UseQuantity>=@p0p" + i + " and a.UsedQuantity < a.UseQuantity";
                paras.Add(filter.UseQuantity);
                i++;
            }
            if (!string.IsNullOrWhiteSpace(filter.Description))
            {
                //描述
                where += " and charindex(a.Description,@p0p" + i + ")>0";
                paras.Add(filter.Description);
                i++;
            }
            if (filter.IsCouponCard != null)
            {
                //优惠卡
                where += " and a.IsCouponCard=@p0p" + i + "";
                paras.Add(filter.IsCouponCard);
                i++;
            }

            if (filter.WebPlatform != null)
            {
                where += " and a.WebPlatform=@p0p" + i + "";
                paras.Add(filter.WebPlatform);
                i++;
            }
            if (filter.ShopPlatform != null)
            {
                where += " and a.ShopPlatform=@p0p" + i + "";
                paras.Add(filter.ShopPlatform);
                i++;
            }
            if (filter.MallAppPlatform != null)
            {
                where += " and a.MallAppPlatform=@p0p" + i + "";
                paras.Add(filter.MallAppPlatform);
                i++;
            }
            if (filter.LogisticsAppPlatform != null)
            {
                where += " and a.LogisticsAppPlatform=@p0p" + i + "";
                paras.Add(filter.LogisticsAppPlatform);
                i++;
            }

            if (filter.Permissions != null && filter.Permissions.Contains(true))
            {
                var tmpWhere = "";
                if (filter.Permissions[0])
                {
                    tmpWhere += "a.WebPlatform=" + (int)PromotionStatus.商城使用.是 + " or";
                }
                if (filter.Permissions[1])
                {
                    tmpWhere += " a.ShopPlatform=" + (int)PromotionStatus.门店使用.是 + " or";
                }
                if (filter.Permissions[2])
                {
                    tmpWhere += " a.MallAppPlatform=" + (int)PromotionStatus.手机商城使用.是 + " or";
                }
                if (filter.Permissions[3])
                {
                    tmpWhere += " a.LogisticsAppPlatform=" + (int)PromotionStatus.物流App使用.是 + " or";
                }
                tmpWhere = tmpWhere.Substring(0, tmpWhere.Length - 2);
                where   += " and (" + tmpWhere + ")";
            }

            sql = string.Format(sql, where);

            #endregion

            var dataList =
                Context.Select <CBSpCoupon>(
                    @"a.sysno, a.promotionsysno, a.couponcode, a.couponamount, a.requirementamount, 
                                            a.starttime, a.endtime, a.type, a.sourcedescription, a.usequantity, a.usedquantity, 
                                            a.customersysno, a.status, a.description, a.auditorsysno, a.auditdate, a.createdby, 
                                            a.createddate, a.lastupdateby, a.lastupdatedate, a.parentsysno, a.iscouponcard, 
                                            a.webplatform, a.shopplatform, a.mallappplatform,a.LogisticsAppPlatform,
                                            b.Name CustomerName,c.Name PromotionName").From(sql);
            var dataCount = Context.Select <int>("count(0)").From(sql);

            dataList.Parameters(paras);
            dataCount.Parameters(paras);
            var pager = new Pager <CBSpCoupon>
            {
                CurrentPage = filter.Id.Value,
                PageSize    = filter.PageSize
            };
            var totalRows = dataCount.QuerySingle();
            var rows      = dataList.OrderBy("a.SysNo desc").Paging(pager.CurrentPage, pager.PageSize).QueryMany();

            pager.TotalRows = totalRows;
            pager.Rows      = rows;
            return(pager);
        }