Ejemplo n.º 1
0
        public ActionResult Management()
        {
            var settings = MarketApplication.GetServiceSetting(MarketType.LimitTimeBuy);

            if (settings == null)
            {
                return(View("Nosetting"));
            }

            var market = MarketApplication.GetMarketService(CurrentSellerManager.ShopId, MarketType.LimitTimeBuy);

            //未购买服务且列表刚进来则让进入购买服务页
            if ((market == null || market.Id <= 0) && Request.QueryString["first"] == "1")
            {
                return(RedirectToAction("BuyService"));
            }

            ViewBag.Available = false;
            if (market != null && MarketApplication.GetServiceEndTime(market.Id) > DateTime.Now)
            {
                ViewBag.Available = true;
            }

            return(View());
        }
Ejemplo n.º 2
0
        ///// <summary>
        ///// 重写验证,以过滤未购买服务或已过期情况
        ///// </summary>
        ///// <param name="filterContext"></param>
        //protected override void OnActionExecuting(ActionExecutingContext filterContext)
        //{
        //    //路由处理
        //    var route = filterContext.RouteData;
        //    //string controller = route.Values["controller"].ToString().ToLower();
        //    string action = route.Values["action"].ToString().ToLower();
        //    if (action.ToLower() != "nosetting")
        //    {
        //        bool iscanmarket = FightGroupApplication.IsCanUseMarketService(CurShopId);
        //        if (!iscanmarket && action.ToLower() != "buymarketservice")
        //        {
        //            if (FightGroupApplication.IsOpenMarketService())
        //            {
        //                filterContext.Result = RedirectToAction("BuyMarketService");
        //                return;
        //            }
        //            else
        //            {
        //                filterContext.Result = RedirectToAction("Nosetting");
        //                return;
        //            }
        //        }
        //    }
        //    base.OnActionExecuting(filterContext);

        //}

        #region 活动列表
        /// <summary>
        /// 拼团管理
        /// </summary>
        /// <returns></returns>
        public ActionResult Index()
        {
            var settings = MarketApplication.GetServiceSetting(MarketType.FightGroup);

            if (settings == null)
            {
                return(View("Nosetting"));
            }

            var market = MarketApplication.GetMarketService(CurShopId, MarketType.FightGroup);

            //未购买服务且列表刚进来则让进入购买服务页
            if ((market == null || market.Id <= 0) && Request.Query["first"].ToString() == "1")
            {
                return(RedirectToAction("BuyMarketService"));
            }

            ViewBag.Available = false;
            if (market != null && MarketApplication.GetServiceEndTime(market.Id) > DateTime.Now)
            {
                ViewBag.Available = true;
            }

            return(View());
        }
Ejemplo n.º 3
0
        public JsonResult GetBoughtJson(string shopName, int page, int rows)
        {
            var queryModel = new MarketBoughtQuery()
            {
                PageSize   = rows,
                PageNo     = page,
                ShopName   = shopName,
                MarketType = MarketType.LimitTimeBuy
            };

            QueryPageModel <Entities.MarketServiceRecordInfo> marketEntities = _iMarketService.GetBoughtShopList(queryModel);

            var market = marketEntities.Models.OrderByDescending(m => m.MarketServiceId).ThenByDescending(m => m.EndTime)
                         .Select(item => {
                var obj = MarketApplication.GetMarketService(item.MarketServiceId);
                return(new
                {
                    Id = item.Id,
                    StartDate = item.StartTime.ToString("yyyy-MM-dd"),
                    EndDate = item.EndTime.ToString("yyyy-MM-dd"),
                    ShopName = obj.ShopName
                });
            });

            return(Json(new { rows = market, total = marketEntities.Total }));
        }
Ejemplo n.º 4
0
        public JsonResult EditActive(FightGroupActiveModel model)
        {
            var result = new Result {
                success = false, msg = "未知错误", status = -1
            };
            FightGroupActiveModel data = FightGroupApplication.GetActive(model.Id);

            if (data == null)
            {
                throw new MallException("错误的活动编号");
            }
            if (model.EndTime < DateTime.Now)
            {
                throw new MallException("错误的结束时间");
            }
            if (model.EndTime < model.StartTime)
            {
                throw new MallException("错误的结束时间");
            }
            var market = MarketApplication.GetMarketService(CurrentSellerManager.ShopId, MarketType.FightGroup);

            if (market != null)
            {
                var endtime = MarketApplication.GetServiceEndTime(market.Id);
                var newEnd  = DateTime.Parse(endtime.ToString("yyyy-MM-dd") + " 23:59:59");
                if (newEnd < model.EndTime.Date)
                {
                    throw new MallException(string.Format("活动结束时间不得超过服务到期时间,<br/>您的服务到期时间为{0}", newEnd.ToString("yyyy-MM-dd HH:mm:ss")));
                }
            }
            else
            {
                throw new MallException("您没有订购此服务");
            }
            if (ModelState.IsValid)
            {
                TryUpdateModelAsync(data);

                model = data;
                //数据有效性验证
                model.CheckValidation();

                data.IconUrl = SaveActiveIcon(data.IconUrl);


                FightGroupApplication.UpdateActive(data);
                ProductManagerApplication.SaveCaculateMinPrice(model.ProductId, CurrentShop.Id);
                result = new Result {
                    success = true, msg = "操作成功", status = 1
                };
            }
            else
            {
                result = new Result {
                    success = false, msg = "数据异常,请检查数据有效性", status = -1
                };
            }
            return(Json(result));
        }
Ejemplo n.º 5
0
        public ActionResult List(MarketBoughtQuery query)
        {
            query.MarketType = MarketType.RandomlyBonus;
            var marketEntities = _iMarketService.GetBoughtShopList(query);
            var market         = marketEntities.Models.Select(item => {
                var obj = MarketApplication.GetMarketService(item.MarketServiceId);
                return(new
                {
                    Id = item.Id,
                    StartDate = item.StartTime.ToString("yyyy-MM-dd"),
                    EndDate = item.EndTime.ToString("yyyy-MM-dd"),
                    ShopName = obj.ShopName
                });
            }).ToList();

            return(Json(new { rows = market, total = marketEntities.Total }));
        }
Ejemplo n.º 6
0
        public JsonResult List(MarketBoughtQuery query)
        {
            query.MarketType = MarketType.Collocation;
            var data = _iMarketService.GetBoughtShopList(query);

            var list = data.Models.Select(item => {
                var market = MarketApplication.GetMarketService(item.MarketServiceId);
                return(new
                {
                    Id = item.Id,
                    StartDate = item.StartTime.ToString("yyyy-MM-dd"),
                    EndDate = item.EndTime.ToString("yyyy-MM-dd"),
                    ShopName = market.ShopName
                });
            }).ToList();

            return(Json(new { rows = list, total = data.Total }));
        }
Ejemplo n.º 7
0
        public JsonResult GetBoughtList(MarketBoughtQuery query)
        {
            query.MarketType = MarketType.FightGroup;
            var data = MarketApplication.GetBoughtShopList(query);
            var list = data.Models.Select(d => {
                var market = MarketApplication.GetMarketService(d.MarketServiceId);
                return(new MarketServiceBuyRecordModel
                {
                    Id = d.Id,
                    EndTime = d.EndTime,
                    MarketServiceId = d.MarketServiceId,
                    StartTime = d.StartTime,
                    SettlementFlag = d.SettlementFlag,
                    ShopName = market.ShopName
                });
            }).ToList();
            var result = new QueryPageModel <MarketServiceBuyRecordModel>
            {
                Models = list,
                Total  = data.Total
            };

            return(Json(result, true));
        }
Ejemplo n.º 8
0
        public JsonResult AddActive(FightGroupActiveModel model)
        {
            var result = new Result {
                success = false, msg = "未知错误", status = -1
            };
            FightGroupActiveModel data = new FightGroupActiveModel();

            if (model.EndTime.Date < DateTime.Now.Date)
            {
                throw new MallException("错误的结束时间");
            }
            if (model.EndTime.Date < model.StartTime.Date)
            {
                throw new MallException("错误的结束时间");
            }
            var market = MarketApplication.GetMarketService(CurrentSellerManager.ShopId, MarketType.FightGroup);

            if (market != null)
            {
                var endtime = MarketApplication.GetServiceEndTime(market.Id);
                var newEnd  = DateTime.Parse(endtime.ToString("yyyy-MM-dd") + " 23:59:59");
                if (newEnd < model.EndTime.Date)
                {
                    throw new MallException(string.Format("活动结束时间不得超过服务到期时间,<br/>您的服务到期时间为{0}", newEnd.ToString("yyyy-MM-dd HH:mm:ss")));
                }
            }
            else
            {
                throw new MallException("您没有订购此服务");
            }
            //数据有效性验证
            model.CheckValidation();
            if (!FightGroupApplication.ProductCanJoinActive(model.ProductId))
            {
                throw new MallException("该商品已参与拼团或其他营销活动,请重新选择");
            }

            var skudata = FightGroupApplication.GetNewActiveItems(model.ProductId).skulist;

            foreach (var item in model.ActiveItems)
            {
                var cursku = skudata.FirstOrDefault(d => d.SkuId == item.SkuId);
                if (cursku != null)
                {
                    if (item.ActiveStock > cursku.ProductStock)
                    {
                        throw new MallException(item.SkuName + "错误的活动库存");
                    }
                }
                else
                {
                    model.ActiveItems.Remove(item);
                }
            }
            if (ModelState.IsValid)
            {
                TryUpdateModelAsync(data);
                data.ShopId  = CurShopId;
                data.IconUrl = SaveActiveIcon(data.IconUrl);
                model        = data;
                FightGroupApplication.AddActive(data);

                ProductManagerApplication.SaveCaculateMinPrice(model.ProductId, CurrentShop.Id);
                result = new Result {
                    success = true, msg = "操作成功", status = 1
                };
            }
            else
            {
                result = new Result {
                    success = false, msg = "数据异常,请检查数据有效性", status = -1
                };
            }
            return(Json(result));
        }