Ejemplo n.º 1
0
        /// <summary>
        /// 领取优惠劵
        /// </summary>
        /// <param name="partUserInfo">用户信息</param>
        /// <param name="couponTypeInfo">优惠劵类型信息</param>
        /// <param name="pullTime">领取时间</param>
        /// <param name="pullIP">领取ip</param>
        /// <returns></returns>
        public static string PullCoupon(PartUserInfo partUserInfo, CouponTypeInfo couponTypeInfo, DateTime pullTime, string pullIP)
        {
            int sendCount = GetSendCouponCount(couponTypeInfo.CouponTypeId);

            BrnShop.Core.BSPCache.Insert(CacheKeys.SHOP_COUPONTYPE_SENDCOUNT + couponTypeInfo.CouponTypeId, sendCount + 1);

            string couponSN = GenerateCouponSN();

            CouponInfo couponInfo = new CouponInfo();

            couponInfo.CouponSN     = couponSN;
            couponInfo.Uid          = partUserInfo.Uid;
            couponInfo.CouponTypeId = couponTypeInfo.CouponTypeId;
            couponInfo.Oid          = 0;
            couponInfo.UseTime      = new DateTime(1900, 1, 1);
            couponInfo.UseIP        = "";
            couponInfo.Money        = couponTypeInfo.Money;
            couponInfo.ActivateTime = pullTime;
            couponInfo.ActivateIP   = pullIP;
            couponInfo.CreateUid    = partUserInfo.Uid;
            couponInfo.CreateOid    = 0;
            couponInfo.CreateTime   = pullTime;
            couponInfo.CreateIP     = pullIP;

            CreateCoupon(couponInfo);

            return(couponSN);
        }
Ejemplo n.º 2
0
        /// <summary>
        /// 优惠劵列表
        /// </summary>
        /// <param name="sn">编号</param>
        /// <param name="couponTypeId">优惠劵类型id</param>
        /// <param name="pageNumber">当前页数</param>
        /// <param name="pageSize">每页数</param>
        /// <returns></returns>
        public ActionResult CouponList(string sn, string accountName, int couponTypeId = -1, int pageNumber = 1, int pageSize = 15)
        {
            CouponTypeInfo couponTypeInfo = AdminCoupons.AdminGetCouponTypeById(couponTypeId);

            if (couponTypeInfo == null)
            {
                return(PromptView("优惠劵类型不存在"));
            }
            if (couponTypeInfo.StoreId != WorkContext.StoreId)
            {
                return(PromptView("不能操作其它店铺的优惠劵类型"));
            }

            int uid = AdminUsers.GetUidByAccountName(accountName);

            string condition = AdminCoupons.AdminGetCouponListCondition(sn, uid, couponTypeId);

            PageModel pageModel = new PageModel(pageSize, pageNumber, AdminCoupons.AdminGetCouponCount(condition));

            CouponListModel model = new CouponListModel()
            {
                PageModel    = pageModel,
                CouponList   = AdminCoupons.AdminGetCouponList(pageModel.PageSize, pageModel.PageNumber, condition),
                AccountName  = accountName,
                CouponTypeId = couponTypeId,
                SN           = sn
            };

            MallUtils.SetAdminRefererCookie(string.Format("{0}?pageNumber={1}&pageSize={2}&couponTypeId={3}&sn={4}&accountName={5}",
                                                          Url.Action("couponlist"),
                                                          pageModel.PageNumber, pageModel.PageSize,
                                                          couponTypeId, sn, accountName));
            return(View(model));
        }
Ejemplo n.º 3
0
        /// <summary>
        /// 优惠劵商品列表
        /// </summary>
        /// <param name="couponTypeId">优惠劵类型id</param>
        /// <returns></returns>
        public ActionResult CouponProductList(int couponTypeId = -1, int pid = -1, int pageSize = 15, int pageNumber = 1)
        {
            CouponTypeInfo couponTypeInfo = AdminCoupons.AdminGetCouponTypeById(couponTypeId);

            if (couponTypeInfo == null)
            {
                return(PromptView("优惠劵类型不存在"));
            }
            if (couponTypeInfo.LimitProduct == 0)
            {
                return(PromptView("此优惠劵类型没有限制商品"));
            }

            PageModel pageModel = new PageModel(pageSize, pageNumber, AdminCoupons.AdminGetCouponProductCount(couponTypeId));

            CouponProductListModel model = new CouponProductListModel()
            {
                PageModel         = pageModel,
                CouponProductList = AdminCoupons.AdminGetCouponProductList(pageSize, pageNumber, couponTypeId),
                CouponTypeId      = couponTypeId,
                StoreId           = couponTypeInfo.StoreId
            };

            MallUtils.SetAdminRefererCookie(string.Format("{0}?pageNumber={1}&pageSize={2}&couponTypeId={3}",
                                                          Url.Action("couponproductlist"),
                                                          pageModel.PageNumber,
                                                          pageModel.PageSize,
                                                          couponTypeId));
            return(View(model));
        }
Ejemplo n.º 4
0
        /// <summary>
        /// 添加优惠劵商品
        /// </summary>
        /// <returns></returns>
        public ActionResult AddCouponProduct(int couponTypeId = -1, int pid = 1)
        {
            CouponTypeInfo couponTypeInfo = AdminCoupons.AdminGetCouponTypeById(couponTypeId);

            if (couponTypeInfo == null)
            {
                return(PromptView("优惠劵类型不存在"));
            }
            if (couponTypeInfo.LimitProduct == 0)
            {
                return(PromptView("此优惠劵类型没有限制商品"));
            }

            PartProductInfo partProductInfo = AdminProducts.AdminGetPartProductById(pid);

            if (partProductInfo == null)
            {
                return(PromptView("此商品不存在"));
            }

            if (couponTypeInfo.StoreId != partProductInfo.StoreId)
            {
                return(PromptView(Url.Action("couponproductlist", new { couponTypeId = couponTypeId }), "只能关联同一店铺的商品"));
            }

            if (AdminCoupons.IsExistCouponProduct(couponTypeId, pid))
            {
                return(PromptView("此商品已经存在"));
            }

            AdminCoupons.AddCouponProduct(couponTypeId, pid);
            AddMallAdminLog("添加优惠劵商品", "添加优惠劵商品,商品为:" + partProductInfo.Name);
            return(PromptView("优惠劵商品添加成功"));
        }
Ejemplo n.º 5
0
        /// <summary>
        /// 领取优惠劵
        /// </summary>
        /// <param name="partUserInfo">用户信息</param>
        /// <param name="couponTypeInfo">优惠劵类型信息</param>
        /// <param name="pullTime">领取时间</param>
        /// <param name="pullIP">领取ip</param>
        /// <returns></returns>
        public static string PullCoupon(PartUserInfo partUserInfo, CouponTypeInfo couponTypeInfo, DateTime pullTime, string pullIP)
        {
            string couponSN = GenerateCouponSN();

            CouponInfo couponInfo = new CouponInfo();

            couponInfo.CouponSN     = couponSN;
            couponInfo.Uid          = partUserInfo.Uid;
            couponInfo.CouponTypeId = couponTypeInfo.CouponTypeId;
            couponInfo.StoreId      = couponTypeInfo.StoreId;
            couponInfo.Oid          = 0;
            couponInfo.UseTime      = new DateTime(1900, 1, 1);
            couponInfo.UseIP        = "";
            couponInfo.Money        = couponTypeInfo.Money;
            couponInfo.ActivateTime = pullTime;
            couponInfo.ActivateIP   = pullIP;
            couponInfo.CreateUid    = partUserInfo.Uid;
            couponInfo.CreateOid    = 0;
            couponInfo.CreateTime   = pullTime;
            couponInfo.CreateIP     = pullIP;

            CreateCoupon(couponInfo);

            return(couponSN);
        }
Ejemplo n.º 6
0
        /// <summary>
        /// 展示优惠劵类型
        /// </summary>
        /// <param name="couponTypeId">优惠劵类型id</param>
        public ActionResult ShowCouponType(int couponTypeId = -1)
        {
            CouponTypeInfo couponTypeInfo = AdminCoupons.AdminGetCouponTypeById(couponTypeId);

            if (couponTypeInfo == null)
            {
                return(PromptView("优惠劵类型不存在"));
            }

            CouponTypeModel model = new CouponTypeModel();

            model.CouponTypeName   = couponTypeInfo.Name;
            model.Money            = couponTypeInfo.Money;
            model.Count            = couponTypeInfo.Count;
            model.SendModel        = couponTypeInfo.SendMode;
            model.GetModel         = couponTypeInfo.GetMode;
            model.UseModel         = couponTypeInfo.UseMode;
            model.UserRankLower    = couponTypeInfo.UserRankLower;
            model.OrderAmountLower = couponTypeInfo.OrderAmountLower;
            model.LimitStoreCid    = couponTypeInfo.LimitStoreCid;
            model.LimitProduct     = couponTypeInfo.LimitProduct;
            model.SendStartTime    = couponTypeInfo.SendStartTime;
            model.SendEndTime      = couponTypeInfo.SendEndTime;
            model.UseTimeType      = couponTypeInfo.UseExpireTime > 0 ? 1 : 0;
            model.UseExpireTime    = couponTypeInfo.UseExpireTime;
            model.UseStartTime     = couponTypeInfo.UseStartTime;
            model.UseEndTime       = couponTypeInfo.UseEndTime;
            model.State            = couponTypeInfo.State;

            model.StoreId   = couponTypeInfo.StoreId;
            model.StoreName = AdminStores.GetStoreById(couponTypeInfo.StoreId).Name;

            LoadCouponType();
            return(View(model));
        }
Ejemplo n.º 7
0
        /// <summary>
        /// 添加优惠劵商品
        /// </summary>
        /// <returns></returns>
        public ActionResult AddCouponProduct(int couponTypeId = -1, int pid = 1)
        {
            CouponTypeInfo couponTypeInfo = AdminCoupons.AdminGetCouponTypeById(couponTypeId);

            if (couponTypeInfo == null)
            {
                return(PromptView("优惠劵类型不存在"));
            }
            if (couponTypeInfo.LimitProduct == 0)
            {
                return(PromptView("此优惠劵类型没有限制商品"));
            }

            PartProductInfo partProductInfo = AdminProducts.AdminGetPartProductById(pid);

            if (partProductInfo == null)
            {
                return(PromptView("此商品不存在"));
            }

            if (AdminCoupons.IsExistCouponProduct(couponTypeId, pid))
            {
                return(PromptView("此商品已经存在"));
            }

            AdminCoupons.AddCouponProduct(couponTypeId, pid);
            AddAdminOperateLog("添加优惠劵商品", "添加优惠劵商品,商品为:" + partProductInfo.Name);
            return(PromptView("优惠劵商品添加成功"));
        }
Ejemplo n.º 8
0
        /// <summary>
        /// 发放单品促销活动优惠劵
        /// </summary>
        /// <param name="partUserInfo">用户信息</param>
        /// <param name="couponTypeId">优惠劵类型id</param>
        /// <param name="orderInfo">订单信息</param>
        /// <param name="ip">ip</param>
        public static void SendSinglePromotionCoupon(PartUserInfo partUserInfo, int couponTypeId, OrderInfo orderInfo, string ip)
        {
            CouponTypeInfo couponTypeInfo = GetCouponTypeById(couponTypeId);

            if (couponTypeInfo == null || couponTypeInfo.State == 0 || couponTypeInfo.UserRankLower > partUserInfo.UserRid || couponTypeInfo.OrderAmountLower > orderInfo.OrderAmount)
            {
                return;
            }

            CouponInfo couponInfo = new CouponInfo();

            couponInfo.CouponSN     = Coupons.GenerateCouponSN();
            couponInfo.Uid          = partUserInfo.Uid;
            couponInfo.CouponTypeId = couponTypeId;
            couponInfo.Oid          = 0;
            couponInfo.UseTime      = new DateTime(1900, 1, 1);
            couponInfo.UseIP        = "";
            couponInfo.Money        = couponTypeInfo.Money;
            couponInfo.ActivateTime = couponInfo.CreateTime = DateTime.Now;
            couponInfo.ActivateIP   = couponInfo.CreateIP = ip;
            couponInfo.CreateUid    = 0;
            couponInfo.CreateOid    = orderInfo.Oid;

            CreateCoupon(couponInfo);
        }
Ejemplo n.º 9
0
        /// <summary>
        /// 通过IDataReader创建CouponTypeInfo信息
        /// </summary>
        public static CouponTypeInfo BuildCouponTypeFromReader(IDataReader reader)
        {
            CouponTypeInfo couponTypeInfo = new CouponTypeInfo();

            couponTypeInfo.CouponTypeId     = TypeHelper.ObjectToInt(reader["coupontypeid"]);
            couponTypeInfo.State            = TypeHelper.ObjectToInt(reader["state"]);
            couponTypeInfo.Name             = reader["name"].ToString();
            couponTypeInfo.Money            = TypeHelper.ObjectToInt(reader["money"]);
            couponTypeInfo.Count            = TypeHelper.ObjectToInt(reader["count"]);
            couponTypeInfo.SendMode         = TypeHelper.ObjectToInt(reader["sendmode"]);
            couponTypeInfo.GetMode          = TypeHelper.ObjectToInt(reader["getmode"]);
            couponTypeInfo.UseMode          = TypeHelper.ObjectToInt(reader["usemode"]);
            couponTypeInfo.UserRankLower    = TypeHelper.ObjectToInt(reader["userranklower"]);
            couponTypeInfo.OrderAmountLower = TypeHelper.ObjectToInt(reader["orderamountlower"]);
            couponTypeInfo.LimitCateId      = TypeHelper.ObjectToInt(reader["limitcateid"]);
            couponTypeInfo.LimitBrandId     = TypeHelper.ObjectToInt(reader["limitbrandid"]);
            couponTypeInfo.LimitProduct     = TypeHelper.ObjectToInt(reader["limitproduct"]);
            couponTypeInfo.SendStartTime    = TypeHelper.ObjectToDateTime(reader["sendstarttime"]);
            couponTypeInfo.SendEndTime      = TypeHelper.ObjectToDateTime(reader["sendendtime"]);
            couponTypeInfo.UseExpireTime    = TypeHelper.ObjectToInt(reader["useexpiretime"]);
            couponTypeInfo.UseStartTime     = TypeHelper.ObjectToDateTime(reader["usestarttime"]);
            couponTypeInfo.UseEndTime       = TypeHelper.ObjectToDateTime(reader["useendtime"]);

            return(couponTypeInfo);
        }
Ejemplo n.º 10
0
        public ActionResult SendCoupon(SendCouponModel model, int couponTypeId = -1)
        {
            CouponTypeInfo couponTypeInfo = AdminCoupons.AdminGetCouponTypeById(couponTypeId);

            if (couponTypeInfo == null)
            {
                return(PromptView("优惠劵类型不存在"));
            }
            if (couponTypeInfo.StoreId != WorkContext.StoreId)
            {
                return(PromptView("不能操作其它店铺的优惠劵类型"));
            }
            if (couponTypeInfo.SendMode != 1)
            {
                return(PromptView("此优惠劵类型不能手动发放"));
            }

            //发放数量
            int sendCount = Coupons.GetSendCouponCount(couponTypeId);
            //剩余数量
            int surplusCount = couponTypeInfo.Count - sendCount;

            //判断是否大于剩余数量
            if (model.Count > surplusCount)
            {
                ModelState.AddModelError("Count", "数量不能大于" + surplusCount + "!");
            }


            if (ModelState.IsValid)
            {
                if (model.UType == 0)
                {
                    int uid = TypeHelper.StringToInt(model.UValue);
                    AdminCoupons.AdminSendCouponToUser(uid, couponTypeId, WorkContext.StoreId, couponTypeInfo.Money, model.Count, WorkContext.Uid, DateTime.Now, WorkContext.IP);
                    AddStoreAdminLog("按用户id发放优惠劵", string.Format("用户id:{0},优惠劵类型id:{1},名称:{2},发放数量:{3}", model.UValue, couponTypeId, couponTypeInfo.Name, model.Count));
                }
                else if (model.UType == 1)
                {
                    int uid = Users.GetUidByAccountName(model.UValue);
                    AdminCoupons.AdminSendCouponToUser(uid, couponTypeId, WorkContext.StoreId, couponTypeInfo.Money, model.Count, WorkContext.Uid, DateTime.Now, WorkContext.IP);
                    AddStoreAdminLog("按账户名发放优惠劵", string.Format("账户名:{0},优惠劵类型id:{1},名称:{2},发放数量:{3}", model.UValue, couponTypeId, couponTypeInfo.Name, model.Count));
                }
                else
                {
                    AdminCoupons.AdminBatchGenerateCoupon(couponTypeId, WorkContext.StoreId, couponTypeInfo.Money, model.Count, WorkContext.Uid, DateTime.Now, WorkContext.IP);
                    AddStoreAdminLog("批量生成优惠劵", string.Format("优惠劵类型id:{0},名称:{1},生成数量:{2}", couponTypeId, couponTypeInfo.Name, model.Count));
                }

                return(PromptView("优惠劵发放成功"));
            }

            ViewData["surplusCount"] = couponTypeInfo.Count - Coupons.GetSendCouponCount(couponTypeId);
            ViewData["referer"]      = MallUtils.GetStoreAdminRefererCookie();

            return(View(model));
        }
Ejemplo n.º 11
0
        /// <summary>
        /// 展示优惠劵类型
        /// </summary>
        /// <param name="couponTypeId">优惠劵类型id</param>
        public ActionResult ShowCouponType(int couponTypeId = -1)
        {
            CouponTypeInfo couponTypeInfo = AdminCoupons.AdminGetCouponTypeById(couponTypeId);

            if (couponTypeInfo == null)
            {
                return(PromptView("优惠劵类型不存在"));
            }

            CouponTypeModel model = new CouponTypeModel();

            model.CouponTypeName   = couponTypeInfo.Name;
            model.Money            = couponTypeInfo.Money;
            model.Count            = couponTypeInfo.Count;
            model.SendModel        = couponTypeInfo.SendMode;
            model.GetModel         = couponTypeInfo.GetMode;
            model.UseModel         = couponTypeInfo.UseMode;
            model.UserRankLower    = couponTypeInfo.UserRankLower;
            model.OrderAmountLower = couponTypeInfo.OrderAmountLower;
            model.LimitCateId      = couponTypeInfo.LimitCateId;
            model.LimitBrandId     = couponTypeInfo.LimitBrandId;
            model.LimitProduct     = couponTypeInfo.LimitProduct;
            model.SendStartTime    = couponTypeInfo.SendStartTime;
            model.SendEndTime      = couponTypeInfo.SendEndTime;
            model.UseTimeType      = couponTypeInfo.UseExpireTime > 0 ? 1 : 0;
            model.UseExpireTime    = couponTypeInfo.UseExpireTime;
            model.UseStartTime     = couponTypeInfo.UseStartTime;
            model.UseEndTime       = couponTypeInfo.UseEndTime;
            model.State            = couponTypeInfo.State;

            CategoryInfo categoryInfo = AdminCategories.GetCategoryById(model.LimitCateId);

            if (categoryInfo != null)
            {
                model.LimitCateName = categoryInfo.Name;
            }
            else
            {
                model.LimitCateName = "未限制分类";
            }

            BrandInfo brandInfo = AdminBrands.GetBrandById(model.LimitBrandId);

            if (brandInfo != null)
            {
                model.LimitBrandName = brandInfo.Name;
            }
            else
            {
                model.LimitBrandName = "未限制品牌";
            }

            LoadCouponType();
            return(View(model));
        }
Ejemplo n.º 12
0
        /// <summary>
        /// 编辑优惠券类型
        /// </summary>
        /// <param name="info">优惠券类型信息</param>
        /// <returns></returns>
        public bool Update(CouponTypeInfo info)
        {
            string         postData = JsonHelper.GetJson(info);
            CommonRequest  request  = new CommonRequest();
            CommonResponse response = client.Execute(request, update, postData);

            if (response != null)
            {
                return(response.success);
            }
            return(false);
        }
Ejemplo n.º 13
0
        /// <summary>
        /// 获得优惠劵类型
        /// </summary>
        /// <param name="couponTypeId">优惠劵类型id</param>
        /// <returns></returns>
        public static CouponTypeInfo GetCouponTypeById(int couponTypeId)
        {
            CouponTypeInfo couponTypeInfo = BrnShop.Core.BSPCache.Get(CacheKeys.SHOP_COUPONTYPE_INFO + couponTypeId) as CouponTypeInfo;

            if (couponTypeInfo == null)
            {
                couponTypeInfo = BrnShop.Data.Coupons.GetCouponTypeById(couponTypeId);
                BrnShop.Core.BSPCache.Insert(CacheKeys.SHOP_COUPONTYPE_INFO + couponTypeId, couponTypeInfo);
            }

            return(couponTypeInfo);
        }
Ejemplo n.º 14
0
        /// <summary>
        /// 获得优惠劵类型
        /// </summary>
        /// <param name="couponTypeId">优惠劵类型id</param>
        /// <returns></returns>
        public static CouponTypeInfo GetCouponTypeById(int couponTypeId)
        {
            CouponTypeInfo couponTypeInfo = NStore.Core.BMACache.Get(CacheKeys.MALL_COUPONTYPE_INFO + couponTypeId) as CouponTypeInfo;

            if (couponTypeInfo == null)
            {
                couponTypeInfo = NStore.Data.Coupons.GetCouponTypeById(couponTypeId);
                NStore.Core.BMACache.Insert(CacheKeys.MALL_COUPONTYPE_INFO + couponTypeId, couponTypeInfo);
            }

            return(couponTypeInfo);
        }
Ejemplo n.º 15
0
        /// <summary>
        /// 后台获得优惠劵类型
        /// </summary>
        /// <param name="couponTypeId">优惠劵类型id</param>
        /// <returns></returns>
        public static CouponTypeInfo AdminGetCouponTypeById(int couponTypeId)
        {
            CouponTypeInfo couponTypeInfo = null;
            IDataReader    reader         = NStore.Core.BMAData.RDBS.AdminGetCouponTypeById(couponTypeId);

            if (reader.Read())
            {
                couponTypeInfo = BuildCouponTypeFromReader(reader);
            }

            reader.Close();
            return(couponTypeInfo);
        }
Ejemplo n.º 16
0
        /// <summary>
        /// 获得优惠劵类型
        /// </summary>
        /// <param name="couponTypeId">优惠劵类型id</param>
        /// <returns></returns>
        public static CouponTypeInfo GetCouponTypeById(int couponTypeId)
        {
            CouponTypeInfo couponTypeInfo = null;
            IDataReader    reader         = BrnShop.Core.BSPData.RDBS.GetCouponTypeById(couponTypeId);

            if (reader.Read())
            {
                couponTypeInfo = BuildCouponTypeFromReader(reader);
            }

            reader.Close();
            return(couponTypeInfo);
        }
Ejemplo n.º 17
0
        private static object _locker = new object();//锁对象

        /// <summary>
        /// 领取优惠劵
        /// </summary>
        public ActionResult GetCoupon()
        {
            lock (_locker)
            {
                //判断用户是否登录
                if (WorkContext.Uid < 1)
                {
                    return(AjaxResult("login", "请先登录"));
                }

                //优惠劵类型id
                int couponTypeId = GetRouteInt("couponTypeId");
                if (couponTypeId == 0)
                {
                    couponTypeId = WebHelper.GetQueryInt("couponTypeId");
                }

                CouponTypeInfo couponTypeInfo = Coupons.GetCouponTypeById(couponTypeId);
                //判断优惠劵类型是否存在
                if (couponTypeInfo == null || couponTypeInfo.SendMode != 0)
                {
                    return(AjaxResult("noexist", "优惠劵不存在"));
                }
                //判断优惠劵类型是否开始领取
                if (couponTypeInfo.SendStartTime > DateTime.Now)
                {
                    return(AjaxResult("unstart", "优惠劵还未开始"));
                }
                //判断优惠劵类型是否结束领取
                if (couponTypeInfo.SendEndTime <= DateTime.Now)
                {
                    return(AjaxResult("expired", "优惠劵已过期"));
                }
                //判断优惠劵类型是否已经领取
                if ((couponTypeInfo.GetMode == 1 && Coupons.GetSendUserCouponCount(WorkContext.Uid, couponTypeId) > 1) || (couponTypeInfo.GetMode == 2 && Coupons.GetTodaySendUserCouponCount(WorkContext.Uid, couponTypeId, DateTime.Now) > 1))
                {
                    return(AjaxResult("alreadyget", "优惠劵已经被领取"));
                }


                //判断优惠劵是否已经领尽
                int sendCount = Coupons.GetSendCouponCount(couponTypeId);
                if (sendCount >= couponTypeInfo.Count)
                {
                    return(AjaxResult("stockout", "优惠劵已领尽"));
                }

                string couponSN = Coupons.PullCoupon(WorkContext.PartUserInfo, couponTypeInfo, DateTime.Now, WorkContext.IP);
                return(AjaxResult("success", couponSN));
            }
        }
Ejemplo n.º 18
0
        public ActionResult AddCouponType(CouponTypeModel model)
        {
            if (ModelState.IsValid)
            {
                DateTime nullTime = new DateTime(1970, 1, 1);

                if (model.SendModel == 1 || model.SendModel == 2)
                {
                    model.GetModel      = 0;
                    model.SendStartTime = nullTime;
                    model.SendEndTime   = nullTime;
                }

                if (model.UseTimeType == 1)
                {
                    model.UseStartTime = nullTime;
                    model.UseEndTime   = nullTime;
                }
                else
                {
                    model.UseExpireTime = 0;
                }

                CouponTypeInfo couponTypeInfo = new CouponTypeInfo()
                {
                    StoreId          = model.StoreId,
                    Name             = model.CouponTypeName,
                    Money            = model.Money,
                    Count            = model.Count,
                    SendMode         = model.SendModel,
                    GetMode          = model.GetModel,
                    UseMode          = model.UseModel,
                    UserRankLower    = model.UserRankLower,
                    OrderAmountLower = model.OrderAmountLower,
                    LimitStoreCid    = model.LimitStoreCid,
                    LimitProduct     = model.LimitProduct,
                    SendStartTime    = model.SendStartTime.Value,
                    SendEndTime      = model.SendEndTime.Value,
                    UseExpireTime    = model.UseExpireTime,
                    UseStartTime     = model.UseStartTime.Value,
                    UseEndTime       = model.UseEndTime.Value,
                    State            = model.State
                };
                AdminCoupons.CreateCouponType(couponTypeInfo);
                AddMallAdminLog("添加优惠劵类型", "添加优惠劵类型,优惠劵类型为:" + model.CouponTypeName);
                return(PromptView("优惠劵类型添加成功"));
            }
            LoadCouponType();
            return(View(model));
        }
Ejemplo n.º 19
0
        /// <summary>
        /// 获得当前正在使用的优惠劵类型列表
        /// </summary>
        /// <param name="nowTime">当前时间</param>
        /// <returns></returns>
        public static List <CouponTypeInfo> GetUsingCouponTypeList(DateTime nowTime)
        {
            List <CouponTypeInfo> couponTypeList = new List <CouponTypeInfo>();
            IDataReader           reader         = BrnShop.Core.BSPData.RDBS.GetUsingCouponTypeList(nowTime);

            while (reader.Read())
            {
                CouponTypeInfo couponTypeInfo = BuildCouponTypeFromReader(reader);
                couponTypeList.Add(couponTypeInfo);
            }

            reader.Close();
            return(couponTypeList);
        }
Ejemplo n.º 20
0
        /// <summary>
        /// 获得当前正在发放的活动优惠劵类型列表
        /// </summary>
        /// <returns></returns>
        public static List <CouponTypeInfo> GetSendingPromotionCouponTypeList()
        {
            List <CouponTypeInfo> couponTypeList = new List <CouponTypeInfo>();
            IDataReader           reader         = BrnShop.Core.BSPData.RDBS.GetSendingPromotionCouponTypeList();

            while (reader.Read())
            {
                CouponTypeInfo couponTypeInfo = BuildCouponTypeFromReader(reader);
                couponTypeList.Add(couponTypeInfo);
            }

            reader.Close();
            return(couponTypeList);
        }
Ejemplo n.º 21
0
        /// <summary>
        /// 获得当前正在发放的优惠劵类型列表
        /// </summary>
        /// <param name="storeId">店铺id</param>
        /// <param name="nowTime">当前时间</param>
        /// <returns></returns>
        public static List <CouponTypeInfo> GetSendingCouponTypeList(int storeId, DateTime nowTime)
        {
            List <CouponTypeInfo> couponTypeList = new List <CouponTypeInfo>();
            IDataReader           reader         = BrnMall.Core.BMAData.RDBS.GetSendingCouponTypeList(storeId, nowTime);

            while (reader.Read())
            {
                CouponTypeInfo couponTypeInfo = BuildCouponTypeFromReader(reader);
                couponTypeList.Add(couponTypeInfo);
            }

            reader.Close();
            return(couponTypeList);
        }
Ejemplo n.º 22
0
        public ActionResult SendCoupon(int couponTypeId = -1)
        {
            CouponTypeInfo couponTypeInfo = AdminCoupons.AdminGetCouponTypeById(couponTypeId);

            if (couponTypeInfo == null)
            {
                return(PromptView("优惠劵类型不存在"));
            }
            if (couponTypeInfo.SendMode != 1)
            {
                return(PromptView("此优惠劵类型不能手动发放"));
            }

            SendCouponModel model = new SendCouponModel();

            ViewData["surplusCount"] = couponTypeInfo.Count - Coupons.GetSendCouponCount(couponTypeId);
            ViewData["referer"]      = MallUtils.GetMallAdminRefererCookie();

            return(View(model));
        }
Ejemplo n.º 23
0
        /// <summary>
        /// 改变优惠劵类型状态
        /// </summary>
        /// <param name="couponTypeId">优惠劵类型id</param>
        /// <param name="state">状态</param>
        public ActionResult ChangeCouponTypeState(int couponTypeId = -1, int state = 0)
        {
            CouponTypeInfo couponTypeInfo = AdminCoupons.AdminGetCouponTypeById(couponTypeId);

            if (couponTypeInfo == null)
            {
                return(PromptView("优惠劵类型不存在"));
            }
            if (couponTypeInfo.StoreId != WorkContext.StoreId)
            {
                return(PromptView("不能操作其它店铺的优惠劵类型"));
            }

            if (AdminCoupons.ChangeCouponTypeState(couponTypeId, state))
            {
                return(PromptView("更改优惠劵类型状态成功"));
            }
            else
            {
                return(PromptView("更改优惠劵类型状态失败"));
            }
        }
Ejemplo n.º 24
0
 /// <summary>
 /// 创建优惠劵类型
 /// </summary>
 /// <param name="couponTypeInfo">优惠劵类型信息</param>
 public static void CreateCouponType(CouponTypeInfo couponTypeInfo)
 {
     BrnShop.Core.BSPData.RDBS.CreateCouponType(couponTypeInfo);
 }
Ejemplo n.º 25
0
 /// <summary>
 /// 创建优惠劵类型
 /// </summary>
 /// <param name="couponTypeInfo">优惠劵类型信息</param>
 public static void CreateCouponType(CouponTypeInfo couponTypeInfo)
 {
     NStore.Data.Coupons.CreateCouponType(couponTypeInfo);
 }
Ejemplo n.º 26
0
        /// <summary>
        /// 生成商品的促销信息
        /// </summary>
        /// <param name="singlePromotionInfo">单品促销活动</param>
        /// <param name="buySendPromotionList">买送促销活动列表</param>
        /// <param name="fullSendPromotionInfo">满赠促销活动</param>
        /// <param name="fullCutPromotionInfo">满减促销活动</param>
        /// <returns></returns>
        public static string GeneratePromotionMsg(SinglePromotionInfo singlePromotionInfo, List <BuySendPromotionInfo> buySendPromotionList, FullSendPromotionInfo fullSendPromotionInfo, FullCutPromotionInfo fullCutPromotionInfo)
        {
            StringBuilder promotionMsg = new StringBuilder();

            //单品促销
            if (singlePromotionInfo != null)
            {
                //折扣类别
                switch (singlePromotionInfo.DiscountType)
                {
                case 0:    //折扣
                    promotionMsg.AppendFormat("折扣:{0}折<br/>", singlePromotionInfo.DiscountValue);
                    break;

                case 1:    //直降
                    promotionMsg.AppendFormat("直降:{0}元<br/>", singlePromotionInfo.DiscountValue);
                    break;

                case 2:    //折后价
                    promotionMsg.AppendFormat("折后价:{0}元<br/>", singlePromotionInfo.DiscountValue);
                    break;
                }

                //积分
                if (singlePromotionInfo.PayCredits > 0)
                {
                    promotionMsg.AppendFormat("赠送{0}:{1}<br/>", Credits.PayCreditName, singlePromotionInfo.PayCredits);
                }

                //优惠劵
                if (singlePromotionInfo.CouponTypeId > 0)
                {
                    CouponTypeInfo couponTypeInfo = Coupons.GetCouponTypeById(singlePromotionInfo.CouponTypeId);
                    if (couponTypeInfo != null)
                    {
                        promotionMsg.AppendFormat("赠送优惠劵:{0}<br/>", couponTypeInfo.Name);
                    }
                }
            }
            //买送促销
            if (buySendPromotionList != null && buySendPromotionList.Count > 0)
            {
                promotionMsg.Append("买送促销:");
                foreach (BuySendPromotionInfo buySendPromotionInfo in buySendPromotionList)
                {
                    promotionMsg.AppendFormat("买{0}送{1},", buySendPromotionInfo.BuyCount, buySendPromotionInfo.SendCount);
                }
                promotionMsg.Remove(promotionMsg.Length - 1, 1);
                promotionMsg.Append("<br/>");
            }
            //满赠促销
            if (fullSendPromotionInfo != null)
            {
                promotionMsg.Append("满赠促销:");
                promotionMsg.AppendFormat("满{0}元加{1}元<br/>", fullSendPromotionInfo.LimitMoney, fullSendPromotionInfo.AddMoney);
            }
            //满减促销
            if (fullCutPromotionInfo != null)
            {
                promotionMsg.Append("满减促销:");
                promotionMsg.AppendFormat("满{0}元减{1}元,", fullCutPromotionInfo.LimitMoney1, fullCutPromotionInfo.CutMoney1);
                if (fullCutPromotionInfo.LimitMoney2 > 0 && fullCutPromotionInfo.CutMoney2 > 0)
                {
                    promotionMsg.AppendFormat("满{0}元减{1}元,", fullCutPromotionInfo.LimitMoney2, fullCutPromotionInfo.CutMoney2);
                }
                if (fullCutPromotionInfo.LimitMoney3 > 0 && fullCutPromotionInfo.CutMoney3 > 0)
                {
                    promotionMsg.AppendFormat("满{0}元减{1}元,", fullCutPromotionInfo.LimitMoney3, fullCutPromotionInfo.CutMoney3);
                }
                promotionMsg.Remove(promotionMsg.Length - 1, 1);
                promotionMsg.Append("<br/>");
            }

            return(promotionMsg.Length > 0 ? promotionMsg.Remove(promotionMsg.Length - 5, 5).ToString() : "");
        }
Ejemplo n.º 27
0
 /// <summary>
 /// 创建优惠劵类型
 /// </summary>
 /// <param name="couponTypeInfo">优惠劵类型信息</param>
 public static void CreateCouponType(CouponTypeInfo couponTypeInfo)
 {
     BrnMall.Core.BMAData.RDBS.CreateCouponType(couponTypeInfo);
 }
Ejemplo n.º 28
0
 /// <summary>
 /// 创建优惠劵类型
 /// </summary>
 /// <param name="couponTypeInfo">优惠劵类型信息</param>
 public static void CreateCouponType(CouponTypeInfo couponTypeInfo)
 {
     BrnMall.Data.Coupons.CreateCouponType(couponTypeInfo);
 }