Beispiel #1
0
        public bool UpdateBargainProductById(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.UpdateBargainProductById(request);

            if (dat)
            {
                using (var client = new ShareBargainClient())
                {
                    client.RefreshShareBargainCache();
                }
            }
            return(dat);
        }
Beispiel #2
0
        public ActionResult UpdateBargainProductById(ShareBargainProductModel request)
        {
            if (request.PKID == null ||
                request.CurrentStockCount > request.TotalStockCount ||
                request.EndDateTime < request.BeginDateTime ||
                request.ShowBeginTime > request.BeginDateTime)
            {
                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.UpdateBargainProductById(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, $"UpdateBargainProductById,刷新缓存失败,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 = "保存成功" }));
        }