Beispiel #1
0
        public JsonResult FetchBargainProductById(int apId)
        {
            if (apId == 0)
            {
                return(Json(new
                {
                    Code = 0,
                    Message = "参数不符合要求"
                }, JsonRequestBehavior.AllowGet));
            }

            var dat = ShareBargainManager.FetchBargainProductById(apId);

            if (dat == null)
            {
                return(Json(new
                {
                    Code = 2,
                    Message = "未找到详细信息"
                }, JsonRequestBehavior.AllowGet));
            }
            return(Json(new
            {
                Code = 1,
                Result = dat
            }, JsonRequestBehavior.AllowGet));
        }
Beispiel #2
0
        public JsonResult AddSharBargainCoupon(ShareBargainProductModel request)
        {
            if (request.EndDateTime < request.BeginDateTime)
            {
                return(Json(new { Code = 0, Info = "下架时间必须大于上架时间" }));
            }

            if (request.ShowBeginTime >= request.BeginDateTime)
            {
                return(Json(new { Code = 0, Info = "开始显示时间必须小于上架时间" }));
            }

            var data = ShareBargainManager.CheckCouponPid(request.PID, request.BeginDateTime, request.EndDateTime);

            if (data.Code == 2)
            {
                return(Json(new { Code = 0, Info = "该时间段不能配置该商品" }));
            }
            var dat = ShareBargainManager.AddSharBargainCoupon(request, ThreadIdentity.Operator.Name);

            if (dat)
            {
                using (var client = new ShareBargainClient())
                {
                    client.RefreshShareBargainCache();
                }
                return(Json(new { Code = 1, Info = "添加成功" }));
            }
            return(Json(new { Code = 0, Info = "添加失败,请稍后重试" }));
        }
Beispiel #3
0
        public bool UpdateGlobalConfig(BargainGlobalConfigModel request)
        {
            var oldGlobal = new BargainGlobalConfigModel();

            try
            {
                oldGlobal = ShareBargainManager.FetchBargainProductGlobalConfig();
            }
            catch (Exception ex)
            {
                Logger.Log(Level.Error, $"全局配置修改前获取数据失败ex:{ex}");
            }

            request.QAData = JsonConvert.SerializeObject(request.BargainRule);
            var result = ShareBargainManager.UpdateGlobalConfig(request);

            if (result)
            {
                using (var client = new ShareBargainClient())
                {
                    var refreshResult = client.RefreshShareBargainCache();
                    if (!refreshResult.Success)
                    {
                        Logger.Log(Level.Warning, $"UpdateGlobalConfig,刷新缓存失败,ErrorMessage:{refreshResult.ErrorMessage}");
                    }
                }

                //操作日志
                UpdateGlobalConfiguctLog(oldGlobal, request);
            }
            return(result);
        }
Beispiel #4
0
        /// <summary>
        /// 获取砍价列表
        /// </summary>
        /// <param name="request"></param>
        /// <returns></returns>
        public PartialViewResult ShareBargainList(BargainProductRequest request)
        {
            var pager = new Component.Common.Models.PagerModel(request.PageIndex, request.PageSize);

            ViewBag.request = request;
            var data = ShareBargainManager.SelectBargainProductList(request, pager);

            return(PartialView(new ListModel <ShareBargainItemModel>()
            {
                Pager = pager, Source = data
            }));
        }
Beispiel #5
0
 public JsonResult CheckCouponPid(string PID, DateTime BeginTime, DateTime EndTime)
 {
     if (string.IsNullOrWhiteSpace(PID))
     {
         return(Json(new CheckPidResult()
         {
             Code = 0,
             Info = "PID不能为空"
         }, JsonRequestBehavior.AllowGet));
     }
     return(Json(ShareBargainManager.CheckCouponPid(PID, BeginTime, EndTime), JsonRequestBehavior.AllowGet));
 }
Beispiel #6
0
        public int DeleteBargainProductById(int PKID)
        {
            if (PKID < 1)
            {
                return(0);
            }
            var dat = ShareBargainManager.DeleteBargainProductById(PKID);

            if (dat)
            {
                using (var client = new ShareBargainClient())
                {
                    client.RefreshShareBargainCache();
                }
            }
            return(dat ? 1 : 0);
        }
Beispiel #7
0
 /// <summary>
 /// 删除砍价商品
 /// </summary>
 /// <param name="PKID"></param>
 /// <returns></returns>
 public ActionResult DeleteBargainProductById(int PKID)
 {
     if (PKID < 1)
     {
         return(Json(new { Status = false, Msg = "删除失败" }));
     }
     try
     {
         var delResult = ShareBargainManager.DeleteBargainProductById(PKID);
         if (delResult)
         {
             DeleteLog(PKID);
             using (var client = new ShareBargainClient())
             {
                 var refreshResult = client.RefreshShareBargainCache();
                 if (!refreshResult.Success)
                 {
                     //缓存刷新失败补偿一次
                     var repeatRefreshResult = client.RefreshShareBargainCache();
                     if (!repeatRefreshResult.Success)
                     {
                         Logger.Log(Level.Warning, $"DeleteBargainProductById,刷新缓存失败,ErrorMessage:{repeatRefreshResult.ErrorMessage}");
                         return(Json(new { Status = false, Msg = "数据保存成功,但刷新缓存失败,请手动刷新缓存" }));
                     }
                 }
             }
         }
         else
         {
             return(Json(new { Status = false, Msg = "删除失败" }));
         }
     }
     catch (Exception ex)
     {
         Logger.Log(Level.Error, $"DeleteBargainProductById异常,ex{ex}");
     }
     return(Json(new { Status = true, Msg = "删除成功" }));
 }
Beispiel #8
0
        public bool UpdateBargainCouponById(ShareBargainProductModel request)
        {
            if (request.PKID == null)
            {
                return(false);
            }
            if (request.CurrentStockCount > request.TotalStockCount ||
                request.EndDateTime < request.BeginDateTime ||
                request.ShowBeginTime >= request.BeginDateTime)
            {
                return(false);
            }
            var dat = ShareBargainManager.UpdateBargainCouponById(request);

            if (dat)
            {
                using (var client = new ShareBargainClient())
                {
                    client.RefreshShareBargainCache();
                }
            }
            return(dat);
        }
Beispiel #9
0
        /// <summary>
        /// 修改砍价优惠券配置
        /// </summary>
        /// <param name="request"></param>
        /// <returns></returns>
        public ActionResult UpdateBargainCouponById(ShareBargainProductModel request)
        {
            if (request.PKID == null)
            {
                return(Json(new { Status = false, Msg = "保存失败" }));
            }

            if (request.CurrentStockCount > request.TotalStockCount ||
                request.EndDateTime < request.BeginDateTime ||
                request.ShowBeginTime > request.BeginDateTime)
            {
                return(Json(new { Status = false, Msg = "上下架时间或显示时间不正确" }));
            }

            //验证商品详情页图片:至少有一张
            if (string.IsNullOrWhiteSpace(request.ProductDetailImg1) && string.IsNullOrWhiteSpace(request.ProductDetailImg2) &&
                string.IsNullOrWhiteSpace(request.ProductDetailImg3) && string.IsNullOrWhiteSpace(request.ProductDetailImg4) &&
                string.IsNullOrWhiteSpace(request.ProductDetailImg5))
            {
                return(Json(new { Status = false, Msg = "优惠券类型商品至少添加一张商品详情图" }));
            }

            try
            {
                //保存前获取旧数据
                var oldInfo = ShareBargainManager.FetchBargainProductById((int)request.PKID);

                //检查是否能重新上架 || 未上架
                //if ((oldInfo.EndDateTime < DateTime.Now && request.EndDateTime >= DateTime.Now)
                //    || request.BeginDateTime > DateTime.Now)
                //{
                //    var checkBackOn = ShareBargainManager.CheckProductBackOn((int)request.PKID);
                //    if (!checkBackOn.Item1)
                //    {
                //        var backOnTime = checkBackOn.Item2 == default(DateTime) ?
                //            oldInfo.EndDateTime.AddHours(48) : (DateTime)checkBackOn.Item2;

                //        string msg = $"存在用户砍价未完成且发起砍价未满48小时,可重新上架时间:{backOnTime}";
                //        if (request.BeginDateTime > DateTime.Now)
                //        {
                //            msg = $"存在用户砍价未完成且发起砍价未满48小时,无法改为未上架(可提前下架),可修改时间:{backOnTime}";
                //        }

                //        return Json(new { Status = false, Msg = msg });
                //    }
                //}

                //保存
                var saveResult = ShareBargainManager.UpdateBargainCouponById(request);
                if (saveResult)
                {
                    //记录操作日志
                    UpdateBargainProductLog(oldInfo, request);
                    using (var client = new ShareBargainClient())
                    {
                        var refreshResult = client.RefreshShareBargainCache();
                        if (!refreshResult.Success)
                        {
                            //缓存刷新失败补偿一次
                            var repeatRefreshResult = client.RefreshShareBargainCache();
                            if (!repeatRefreshResult.Success)
                            {
                                Logger.Log(Level.Warning, $"UpdateBargainCouponById,刷新缓存失败,ErrorMessage:{repeatRefreshResult.ErrorMessage}");
                                return(Json(new { Status = true, Msg = "数据保存成功,但刷新缓存失败,请手动刷新缓存" }));
                            }
                        }
                    }
                }
                else
                {
                    return(Json(new { Status = false, Msg = "保存失败" }));
                }
            }
            catch (Exception ex)
            {
                Logger.Log(Level.Error, $"UpdateBargainProductById异常,ex{ex}");
                return(Json(new { Status = false, Msg = $"程序异常:{ex.Message},{ex.StackTrace}" }));
            }
            return(Json(new { Status = true, Msg = "保存成功" }));
        }
Beispiel #10
0
 // GET: ShareBargain
 public ActionResult ShareBargain()
 {
     return(View(ShareBargainManager.GetBackgroundTheme()));
 }
Beispiel #11
0
 public JsonResult FetchBargainProductGlobalConfig()
 {
     return(Json(ShareBargainManager.FetchBargainProductGlobalConfig(), JsonRequestBehavior.AllowGet));
 }
Beispiel #12
0
        public JsonResult AddSharBargainCoupon(ShareBargainProductModel request)
        {
            request.ProductType = 2;
            if (request.EndDateTime < request.BeginDateTime)
            {
                return(Json(new { Code = 0, Info = "下架时间必须大于上架时间" }));
            }
            if (request.ShowBeginTime > request.BeginDateTime)
            {
                return(Json(new { Code = 0, Info = "开始显示时间必须小于等于上架时间" }));
            }
            if (request.BigCutBeforeCount != null && request.BigCutPriceRate != null)
            {
                if ((request.BigCutBeforeCount == null && request.BigCutPriceRate != null) || (request.BigCutBeforeCount != null && request.BigCutPriceRate == null))
                {
                    return(Json(new { Code = 0, Info = "请填写完整的金额分布人数和百分比" }));
                }
                if (request.BigCutBeforeCount <= 0 || request.BigCutPriceRate <= 0 || request.BigCutPriceRate >= 100)
                {
                    return(Json(new { Code = 0, Info = "请填写正确的金额分布人数和百分比" }));
                }
                if (request.Times <= request.BigCutBeforeCount)
                {
                    return(Json(new { Code = 0, Info = "金额分布人数应小于砍价次数" }));
                }
            }

            //验证商品详情页图片:至少有一张
            if (string.IsNullOrWhiteSpace(request.ProductDetailImg1) && string.IsNullOrWhiteSpace(request.ProductDetailImg2) &&
                string.IsNullOrWhiteSpace(request.ProductDetailImg3) && string.IsNullOrWhiteSpace(request.ProductDetailImg4) &&
                string.IsNullOrWhiteSpace(request.ProductDetailImg5))
            {
                return(Json(new { Code = 0, Info = "优惠券类型商品至少添加一张商品详情图" }));
            }

            try
            {
                var data = ShareBargainManager.CheckCouponPid(request.PID, request.BeginDateTime, request.EndDateTime);
                if (data.Code == 2)
                {
                    return(Json(new { Code = 0, Info = "该时间段不能配置该优惠券" }));
                }
                var addResultPKID = ShareBargainManager.AddSharBargainCoupon(request, ThreadIdentity.Operator.Name);
                if (addResultPKID > 0)
                {
                    AddSharBargainLog(addResultPKID);
                    using (var client = new ShareBargainClient())
                    {
                        var refreshResult = client.RefreshShareBargainCache();
                        if (!refreshResult.Success)
                        {
                            //缓存刷新失败补偿一次
                            var repeatRefreshResult = client.RefreshShareBargainCache();
                            if (!repeatRefreshResult.Success)
                            {
                                Logger.Log(Level.Warning, $"AddSharBargainCoupon,刷新缓存失败,ErrorMessage:{repeatRefreshResult.ErrorMessage}");
                                return(Json(new { Code = 1, Info = "添加成功,但刷新缓存失败,请手动刷新缓存" }));
                            }
                        }
                    }
                    return(Json(new { Code = 1, Info = "添加成功" }));
                }
            }
            catch (Exception ex)
            {
                Logger.Log(Level.Error, $"AddSharBargainCoupon异常,ex{ex}");
            }
            return(Json(new { Code = 0, Info = "添加失败,请稍后重试" }));
        }
Beispiel #13
0
 public bool UpdateGlobalConfig(BargainGlobalConfigModel request)
 {
     request.QAData = JsonConvert.SerializeObject(request.BargainRule);
     return(ShareBargainManager.UpdateGlobalConfig(request));
 }