Esempio n. 1
0
 /// <summary>
 /// 获取日志列表
 /// </summary>
 /// <param name="DbFilePath">数据库相对URL</param>
 /// <param name="bTime">开始时间</param>
 /// <param name="eTime">结束时间</param>
 /// <param name="Level">等级</param>
 /// <param name="Type">类型</param>
 /// <param name="UserID">用户ID</param>
 /// <param name="UserName">用户名</param>
 /// <param name="UserIP">访问IP</param>
 /// <param name="Message">消息</param>
 /// <param name="Data">数据</param>
 /// <returns></returns>
 public static DataTable GetLogs(string DbFilePath
                                 , string bTime    = "", string eTime  = "", string Type    = "", string UserID = ""
                                 , string UserName = "", string UserIP = "", string Message = "", string Data   = ""
                                 )
 {
     return(LogDbHelper.GetLogs(DbFilePath, bTime, eTime, Type, UserID, UserName, UserIP, Message, Data));
 }
Esempio n. 2
0
        protected void Application_Start()
        {
            AutofacBootstrap.CoreAutoFacInit();
            AreaRegistration.RegisterAllAreas();
            GlobalConfiguration.Configure(WebApiConfig.Register);
            FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
            RouteConfig.RegisterRoutes(RouteTable.Routes);
            BundleConfig.RegisterBundles(BundleTable.Bundles);
            //            JobConfig.JobRegister();


            int minWorker, minIOC;

            ThreadPool.GetMinThreads(out minWorker, out minIOC);
            LogDbHelper.LogInfo($"线程池最大工作线程数-{minWorker}/IO线程数-${minIOC}", "Global => Application_Start", OperationType.Other);
            if (ThreadPool.SetMinThreads(LsConstant.ThreadPoolCount, LsConstant.ThreadPoolCount))
            {
                LogDbHelper.LogInfo("设置线程池最大工作线程数/IO线程数成功", "Global => Application_Start", OperationType.Other);
            }
            else
            {
                LogDbHelper.LogError("设置线程池最大工作线程数/IO线程数成功", "Global => Application_Start", OperationType.Other);
            }

            JobScheduler.Start();
            AutoMapperConfig.RegisterMappings();

            log4net.Config.XmlConfigurator.ConfigureAndWatch(new FileInfo(Server.MapPath("log4net.config")));
        }
Esempio n. 3
0
        public IList <LotteryData> RequestNewDatas()
        {
            if (_iscrawlingData)
            {
                return(null);
            }
            _iscrawlingData = true;

            try
            {
                LogDbHelper.LogDebug("正在从" + _dataSite.Name + "爬取数据", GetType().FullName + "=>RequestNewDatas", OperationType.Job);
                var dataList = CrawNewDatas();
                if (dataList.Count <= 0)
                {
                    LogDbHelper.LogDebug("从" + _dataSite.Name + "爬取数据失败,没有获取到最新的数据", GetType().FullName + "=>RequestNewDatas", OperationType.Job);
                }
                else
                {
                    LogDbHelper.LogDebug("从" + _dataSite.Name + "爬取数据成功,共爬取到" + dataList.Count + "条数据", GetType().FullName + "=>RequestNewDatas", OperationType.Job);
                }

                return(dataList);
            }
            catch (Exception e)
            {
                LogDbHelper.LogError("从" + _dataSite.Name + "爬取数据失败,原因" + e.Message, GetType().FullName + "=>RequestNewDatas", OperationType.Job);
                return(null);
            }
            finally
            {
                _iscrawlingData = false;
            }
        }
Esempio n. 4
0
        public void Execute(IJobExecutionContext context)
        {
            lock (_lock)
            {
                if (_shuttingDown)
                {
                    return;
                }

                try
                {
                    if (isFirstStartService)
                    {
                        LotteryEngine.Init();
                        isFirstStartService = false;
                        LogDbHelper.LogInfo(string.Format("{0}彩种定时执行任务Job开始(First Start)", _LotteryType),
                                            GetType().FullName + "=>Start", OperationType.Job);
                        _dataUpdateContainer.Execute();
                    }
                    else
                    {
                        if (DateTime.Now > NextLotteryTime ||
                            NextLotteryTime - DateTime.Now < TimeSpan.FromSeconds(_lotteryUpdateConfig.Interval * 3))
                        {
                            _dataUpdateContainer.Execute();
                        }
                    }
                }
                catch (Exception ex)
                {
                    LogDbHelper.LogFatal(ex, GetType() + "Execute", OperationType.Job);
                }
            }
        }
Esempio n. 5
0
        public void InsertUserPlans(string userId, LotteryType lotteryType, UserBasicNorm userBasicNorm, IList <int> planIds)
        {
            string sqlStr1 = "INSERT INTO [dbo].[LotteryAnalyseNorms]([Id],[PlanId],[PlanCycle],[LastStartPeriod],[ForecastCount],[BasicHistoryCount] ,[UnitHistoryCount],[HotWeight],[SizeWeight]" +
                             " ,[ThreeRegionWeight],[MissingValueWeight],[OddEvenWeight],[Modulus],[LotteryType],[Enable],[IsDefault],[CreatTime],[CreateUserId])" +
                             " VALUES(@Id, @PlanId, @PlanCycle, @LastStartPeriod, @ForecastCount, @BasicHistoryCount, @UnitHistoryCount, @HotWeight, @SizeWeight, @ThreeRegionWeight, @MissingValueWeight" +
                             ", @OddEvenWeight, @Modulus, @LotteryType, @ENABLE, @IsDefault, GETDATE(), @CreateUserId)";
            string sqlStr2 = "INSERT INTO [dbo].[UserAnylseNorms]([Id],[UserId],[PlanId],[LotteryAnalyseNormId],[LotteryType],[CreatTime])" +
                             " VALUES(@Id, @UserId,@PlanId, @LotteryAnalyseNormId, @LotteryType, GETDATE())";

            using (var cn = LotteryDbConnection)
            {
                cn.Open();
                using (var trans = cn.BeginTransaction())
                {
                    try
                    {
                        foreach (var planId in planIds)
                        {
                            var lotteryAnalyseNorm = new LotteryAnalyseNorm()
                            {
                                PlanId             = planId,
                                BasicHistoryCount  = userBasicNorm.BasicHistoryCount,
                                CreateUserId       = userId,
                                ForecastCount      = userBasicNorm.ForecastCount,
                                HotWeight          = userBasicNorm.HotWeight,
                                LastStartPeriod    = 0, // Todo: set LastStartPeriod
                                LotteryType        = lotteryType.ToString(),
                                UnitHistoryCount   = userBasicNorm.UnitHistoryCount,
                                Modulus            = userBasicNorm.Modulus,
                                OddEvenWeight      = userBasicNorm.OddEvenWeight,
                                MissingValueWeight = userBasicNorm.MissingValueWeight,
                                ThreeRegionWeight  = userBasicNorm.ThreeRegionWeight,
                                SizeWeight         = userBasicNorm.SizeWeight,
                                PlanCycle          = userBasicNorm.PlanCycle,
                            };
                            var userAnalyseNorm = new UserAnylseNorm()
                            {
                                LotteryAnalyseNormId = lotteryAnalyseNorm.Id,
                                LotteryType          = lotteryType.ToString(),
                                UserId = userId,
                                PlanId = planId,
                            };

                            cn.Execute(sqlStr1, lotteryAnalyseNorm, trans);
                            cn.Execute(sqlStr2, userAnalyseNorm, trans);
                        }
                        trans.Commit();
                    }
                    catch (Exception ex)
                    {
                        trans.Rollback();
                        LogDbHelper.LogError(ex, GetType() + "=>InsertUserPlans");
                        throw ex;
                    }
                }
            }
        }
Esempio n. 6
0
 public void Stop(bool immediate)
 {
     // Locking here will wait for the lock in Execute to be released until this code can continue.
     lock (_lock)
     {
         _shuttingDown = true;
     }
     LogDbHelper.LogInfo(string.Format("{0}彩种定时执行任务Job结束", _LotteryType),
                         GetType().FullName + "=>Stop", OperationType.Job);
     HostingEnvironment.UnregisterObject(this);
 }
Esempio n. 7
0
 /// <summary>
 /// 调试记录
 /// </summary>
 /// <param name="Message"></param>
 /// <param name="Data"></param>
 /// <param name="LogType"></param>
 /// <param name="IsUnUserAuthentication">是否不经过用户验证</param>
 public static void Debug(string Message, object Data = null, string LogType = "系统", bool IsUnUserAuthentication = false)
 {
     try
     {
         if (LogLevel.CanLog("debug"))
         {
             LogContent content = CreateLogContent("debug", Message, Data, LogType, IsUnUserAuthentication);
             LogDbHelper.Write(content.Time.ToString("yyyyMMdd") + "_debug", content);
         }
     }
     catch { }
 }
Esempio n. 8
0
 internal void PutThisRegionData(KeyValuePair <int, PeriodNumberInfo> keyValuePair)
 {
     if (keyValuePair.Value.ThreeRegionShape == _regionShape)
     {
         if (!_keyNumbers.ContainsKey(keyValuePair.Key))
         {
             _keyNumbers.Add(keyValuePair);
         }
         else
         {
             LogDbHelper.LogDebug("已经存在了当前期" + keyValuePair.Key + "的数据分析", GetType() + "PutThisRegionData");
         }
     }
     ;
 }
        public override void OnException(HttpActionExecutedContext actionExecutedContext)
        {
            var exception = actionExecutedContext.Exception;

            //全局异常捕获,记录未被捕获的异常
            LogDbHelper.LogFatal(exception,
                                 actionExecutedContext.Request.RequestUri.OriginalString + "=>" + actionExecutedContext.Request.Method,
                                 OperationType.Exception
                                 );

            actionExecutedContext.Response =
                actionExecutedContext.Request.CreateResponse(HttpStatusCode.InternalServerError, ResponseUtils.ErrorResult <object>(exception));

            base.OnException(actionExecutedContext);
        }
Esempio n. 10
0
        protected void Application_End()
        {
            LogDbHelper.LogWarn("应用停止,IIS将应用回收", "Global => Application_End", OperationType.Other);

            Thread.Sleep(1000);

            try
            {
                //这里设置你的web地址,可以随便指向你的任意一个aspx页面甚至不存在的页面,目的是要激发Application_Start
                string          url = Utils.GetConfigValuesByKey("EndAppTriggerRestartUrl");
                HttpWebRequest  myHttpWebRequest  = (HttpWebRequest)WebRequest.Create(url);
                HttpWebResponse myHttpWebResponse = (HttpWebResponse)myHttpWebRequest.GetResponse();
                Stream          receiveStream     = myHttpWebResponse.GetResponseStream();//得到回写的字节流
                LogDbHelper.LogWarn("App Restart Success", "Global => Application_End", OperationType.Other);
            }
            catch (Exception ex)
            {
                LogDbHelper.LogError("App Restart Failure" + ex.Message, "Global => Application_End", OperationType.Other);
            }
        }
Esempio n. 11
0
 protected virtual void WriteData <TEntity>(Func <TEntity, ValidationResult> func, TEntity entity)
     where TEntity : BaseEntity
 {
     BeginTransaction();
     ValidationResult.Add(func(entity));
     if (ValidationResult.IsValid)
     {
         if (!Commit())
         {
             throw new LSException("数据保存失败,Data:" + entity.ToJsonString() + ",Action:" + GetType().FullName + "=>" + func.Method.Name);
         }
         if (!ValidationResult.IsSet(LsConstant.AuditLogKey) || !ValidationResult.GetData <bool>(LsConstant.AuditLogKey))
         {
             LogDbHelper.LogInfo("数据保存成功.Data:" + entity.ToJsonString(), GetType().FullName + "=>" + func.Method.Name);
         }
     }
     else
     {
         LogDbHelper.LogFatal("数据保存失败,原因:" + ValidationResult.Errors.ToJsonString(), GetType().FullName + "=>" + func.Method.Name);
     }
 }
Esempio n. 12
0
    /// <summary>
    /// 获取日志列表
    /// </summary>
    /// <param name="DbFilePath">数据库相对URL</param>
    /// <param name="bTime">开始时间</param>
    /// <param name="eTime">结束时间</param>
    /// <param name="Level">等级</param>
    /// <param name="Type">类型</param>
    /// <param name="UserID">用户ID</param>
    /// <param name="UserName">用户名</param>
    /// <param name="UserIP">访问IP</param>
    /// <param name="Message">消息</param>
    /// <param name="Data">数据</param>
    /// <returns></returns>
    public static List <Dictionary <string, object> > GetLogs2(string DbFilePath
                                                               , string bTime    = "", string eTime  = "", string Type    = "", string UserID = ""
                                                               , string UserName = "", string UserIP = "", string Message = "", string Data   = ""
                                                               )
    {
        using (DataTable dt = LogDbHelper.GetLogs(DbFilePath, bTime, eTime, Type, UserID, UserName, UserIP, Message, Data)) {
            List <Dictionary <string, object> > table = new List <Dictionary <string, object> >();

            foreach (DataRow row in dt.Rows)
            {
                Dictionary <string, object> _row = new Dictionary <string, object>();
                _row["fileName"] = Path.GetFileName(DbFilePath);
                _row["filePath"] = DbFilePath;
                foreach (DataColumn dc in dt.Columns)
                {
                    _row[dc.ColumnName] = row[dc.ColumnName];
                }
                table.Add(_row);
            }
            return(table);
        }
    }
Esempio n. 13
0
        private void RequestData(DataSite dataSite)
        {
            var dataUpdateItem = ObtainDataUpdateItemByReflect(dataSite);

            if (dataUpdateItem == null)
            {
                throw new LSException("获取彩票开始数据数据爬取器失败.=>" + dataSite.Name + dataSite.Id);
            }

            var newDataList = dataUpdateItem.RequestNewDatas();

            lock (_lockObject)
            {
                if (newDataList != null && newDataList.Count > 0)
                {
                    //必须排序
                    newDataList = newDataList.OrderBy(p => p.Period).ToList();
                    foreach (var newData in newDataList)
                    {
                        if (!_lotteryDataAppService.ExsitData(_lotteryDataJob.LotteryType.ToString(), newData.Period))
                        {
                            var lastLotteryData = _lotteryDataAppService.Insert(newData);
                            _lastPeriod = lastLotteryData.Period;
                            string key = AppUtils.GetLotteryRedisKey(lastLotteryData.LotteryType, LsConstant.LastLotteryDataCacheKey);
                            CacheHelper.SetCache(key, lastLotteryData);
                            // todo:更新彩票分析数据
                            var lotteryEngine =
                                LotteryEngine.GetLotteryEngine(
                                    Utils.StringConvertEnum <LotteryType>(lastLotteryData.LotteryType));
                            lotteryEngine.CalculateNextLotteryData();
                        }
                    }
                    LogDbHelper.LogDebug(string.Format("更新彩票{0}开奖数据数据成功,共{1}条数据", _lotteryDataJob.LotteryType, newDataList.Count),
                                         GetType().FullName + "=>RequestData", OperationType.Job);
                    _lotteryDataJob.NextLotteryTime = _lotteryUpdateConfig.NextLotteryTime;
                }
            }
        }
        public LotteryData Insert(LotteryData newData)
        {
            var redisKey = AppUtils.GetLotteryRedisKey(newData.LotteryType, LsConstant.LotteryDataCacheKey);

            try
            {
                CacheHelper.AddCacheListItem(redisKey, newData);
                if (CacheHelper.GetCache <IList <LotteryData> >(redisKey).Count >= LsConstant.LOAD_HISTORY_LOTTERYDATA)
                {
                    //var mostOldLottery = RedisHelper.GetAll<LotteryData>(redisKey).Last();
                    //RedisHelper.RemoveList(redisKey, mostOldLottery);
                }
            }
            catch (Exception ex)
            {
                LogDbHelper.LogError(ex, GetType() + "UpdateLotteryDataCache");
                throw ex;
            }

            var lotteryDataId = _lotteryDapperService.Add(newData);

            return(CacheHelper.GetCache <IList <LotteryData> >(redisKey).First(p => p.Id == newData.Id));
        }
Esempio n. 15
0
 /// <summary>
 /// 获取日志数据
 /// </summary>
 /// <param name="DbFilePath">数据库相对URL</param>
 /// <param name="ID">日志ID</param>
 /// <returns></returns>
 public static DataTable GetLogData(string DbFilePath, string ID)
 {
     return(LogDbHelper.GetLogData(DbFilePath, ID));
 }
Esempio n. 16
0
        public LoginResult Login(string accountName, string password)
        {
            var userInfo = ((IUserDapperRepository)_dapperRepository).GetUserByAccountName(accountName);

            LoginResult     loginResult = null;
            LoginResultType loginResultType;

            // 1. 判断是否存在用户
            if (userInfo == null)
            {
                loginResultType = LoginResultType.InvalidUserNameAccount;
                loginResult     = new LoginResult(loginResultType);
                LogDbHelper.LogWarn("登录失败,不存在用户{0}", GetType().FullName + "Login", OperationType.Account);
                return(loginResult);
            }

            // 2. 判断密码是否正确
            else if (!AppUtils.VerifyPassword(accountName, password, userInfo.Password, userInfo.UserRegistType))
            {
                loginResultType = LoginResultType.InvalidPassword;
                loginResult     = new LoginResult(loginResultType);
            }
            // 3. 判断用户状态是否被激活
            else if (!userInfo.IsActive)
            {
                loginResultType = LoginResultType.UserIsNotActive;
                loginResult     = new LoginResult(loginResultType);
            }
            // 4.判断用户是否已经登录,如果登录了,提示用户不要重复登录
            //else if (!string.IsNullOrWhiteSpace(userInfo.TokenId))
            //{
            //    loginResultType = LoginResultType.UserAlreadyLogged;
            //    loginResult = new LoginResult(loginResultType);
            //}
            else
            {
                loginResult = new LoginResult(userInfo, accountName, userInfo.UserRegistType);
            }
            try
            {
                if (loginResult.ResultType != LoginResultType.Success)
                {
                    ((IUserDapperRepository)_dapperRepository).LoginFail(userInfo.Id, accountName, loginResult.ResultType);
                    LogDbHelper.LogWarn("登录失败, 原因:" + loginResult.LoginResultMsg, GetType().FullName + "Login", OperationType.Account);
                }
                else
                {
                    ((IUserDapperRepository)_dapperRepository).LoginSuccess(userInfo.Id, accountName, loginResult.ResultType,
                                                                            loginResult.TokenId, loginResult.LoginTime);
                    // :todo 缓存TokenId
                    LogDbHelper.LogInfo(loginResult.LoginResultMsg, GetType().FullName + "Login", OperationType.Account);
                }
            }
            catch (Exception ex)
            {
                ((IUserDapperRepository)_dapperRepository).LoginFail(userInfo.Id, accountName, loginResult.ResultType);
                LogDbHelper.LogError("登录失败, 原因:" + ex.ToString(), GetType().FullName + "Login", OperationType.Account);
                loginResult = new LoginResult(ex);
            }

            return(loginResult);
        }
Esempio n. 17
0
        public void UpdateUserPlans(string userId, LotteryType lotteryType, UserBasicNorm userBasicNorm, IList <int> planIds,
                                    IList <int> userOldLotteryPlanIds)
        {
            string sqlStr1 = "SELECT * FROM [dbo].[UserAnylseNorms] WHERE UserId=@UserId AND LotteryType=@LotteryType AND PlanId=@PlanId";
            string sqlStr2 = "INSERT INTO [dbo].[UserAnylseNorms]([Id],[UserId],[PlanId],[LotteryAnalyseNormId],[LotteryType],[CreatTime])" +
                             " VALUES(@Id, @UserId,@PlanId, @LotteryAnalyseNormId, @LotteryType, GETDATE())";

            string sqlStr2_1 = "INSERT INTO [dbo].[LotteryAnalyseNorms]([Id],[PlanId],[PlanCycle],[LastStartPeriod],[ForecastCount],[BasicHistoryCount] ,[UnitHistoryCount],[HotWeight],[SizeWeight]" +
                               " ,[ThreeRegionWeight],[MissingValueWeight],[OddEvenWeight],[Modulus],[LotteryType],[Enable],[IsDefault],[CreatTime],[CreateUserId])" +
                               " VALUES(@Id, @PlanId, @PlanCycle, @LastStartPeriod, @ForecastCount, @BasicHistoryCount, @UnitHistoryCount, @HotWeight, @SizeWeight, @ThreeRegionWeight, @MissingValueWeight" +
                               ", @OddEvenWeight, @Modulus, @LotteryType, @ENABLE, @IsDefault, GETDATE(), @CreateUserId)";

            string sqlStr3 = "SELECT * FROM [dbo].[LotteryAnalyseNorms] WHERE Id=@Id";

            string sqlStr4 = "DELETE [dbo].[UserAnylseNorms] WHERE Id = @Id";

            string sqlStr5 = "UPDATE [dbo].[LotteryAnalyseNorms]" +
                             "SET [LastStartPeriod] = @LastStartPeriod" +
                             ",[Enable] = @Enable" +
                             ",[ModifyTime] = GETDATE()" +
                             " WHERE [Id] = @Id";

            string lotteryAnalyseNormHashKey = string.Format(LsConstant.LotteryAnalyseNormRedisKey, lotteryType);

            using (var cn = LotteryDbConnection)
            {
                cn.Open();
                using (var trans = cn.BeginTransaction())
                {
                    try
                    {
                        // 1. 遍历更改的planIds
                        foreach (var planId in planIds)
                        {
                            var userAnylseNorm = cn.QuerySingleOrDefault <UserAnylseNorm>(sqlStr1, new
                            {
                                UserId      = userId,
                                LotteryType = lotteryType.ToString(),
                                PlanId      = planId,
                            }, trans);
                            // 如果用户还没有添加过该计划
                            if (userAnylseNorm == null)
                            {
                                #region 用户没有添加过该计划

                                var lotteryAnalyseNorm = new LotteryAnalyseNorm()
                                {
                                    PlanId             = planId,
                                    BasicHistoryCount  = userBasicNorm.BasicHistoryCount,
                                    CreateUserId       = userId,
                                    ForecastCount      = userBasicNorm.ForecastCount,
                                    HotWeight          = userBasicNorm.HotWeight,
                                    LastStartPeriod    = 0, // Todo: set LastStartPeriod
                                    LotteryType        = lotteryType.ToString(),
                                    UnitHistoryCount   = userBasicNorm.UnitHistoryCount,
                                    Modulus            = userBasicNorm.Modulus,
                                    OddEvenWeight      = userBasicNorm.OddEvenWeight,
                                    MissingValueWeight = userBasicNorm.MissingValueWeight,
                                    ThreeRegionWeight  = userBasicNorm.ThreeRegionWeight,
                                    SizeWeight         = userBasicNorm.SizeWeight,
                                    PlanCycle          = userBasicNorm.PlanCycle,
                                };

                                userAnylseNorm = new UserAnylseNorm()
                                {
                                    LotteryAnalyseNormId = lotteryAnalyseNorm.Id,
                                    LotteryType          = lotteryType.ToString(),
                                    UserId = userId,
                                    PlanId = planId,
                                };
                                cn.Execute(sqlStr2_1, lotteryAnalyseNorm, trans);
                                cn.Execute(sqlStr2, userAnylseNorm, trans);

                                RedisHelper.SetHash(lotteryAnalyseNormHashKey, lotteryAnalyseNorm.Id,
                                                    lotteryAnalyseNorm);
                                #endregion
                            }
                            else
                            {
                                #region 用户添加过该计划

                                var lotteryAnalyseNorm = cn.QuerySingle <LotteryAnalyseNorm>(sqlStr3, new
                                {
                                    Id = userAnylseNorm.LotteryAnalyseNormId
                                }, trans);
                                if (!lotteryAnalyseNorm.Enable)
                                {
                                    lotteryAnalyseNorm.Enable          = true;
                                    lotteryAnalyseNorm.ModifyTime      = DateTime.Now;
                                    lotteryAnalyseNorm.LastStartPeriod = 0;  // Todo: set LastStartPeriod

                                    cn.Execute(sqlStr5, new
                                    {
                                        lotteryAnalyseNorm.Id,
                                        lotteryAnalyseNorm.Enable,
                                        LatestStartPeriod = lotteryAnalyseNorm.LastStartPeriod
                                    }, trans);

                                    RedisHelper.SetHash(lotteryAnalyseNormHashKey, lotteryAnalyseNorm.Id,
                                                        lotteryAnalyseNorm);
                                }

                                #endregion
                            }
                        }
                        // 2. 将旧计划且当前没有选的计划移除

                        #region 将旧计划且当前没有选的计划移除

                        foreach (var oldPlanId in userOldLotteryPlanIds)
                        {
                            if (planIds.Contains(oldPlanId))
                            {
                                continue;
                            }
                            var userAnylseNorm = cn.QuerySingleOrDefault <UserAnylseNorm>(sqlStr1, new
                            {
                                UserId      = userId,
                                LotteryType = lotteryType.ToString(),
                                PlanId      = oldPlanId,
                            }, trans);

                            if (userAnylseNorm != null)
                            {
                                cn.Execute(sqlStr4, new
                                {
                                    Id = userAnylseNorm.Id
                                }, trans);

                                #region 修改LotteryAnalyseNorm 指标

                                var lotteryAnalyseNorm = cn.QuerySingle <LotteryAnalyseNorm>(sqlStr3, new
                                {
                                    Id = userAnylseNorm.LotteryAnalyseNormId
                                }, trans);
                                if (lotteryAnalyseNorm.Enable)
                                {
                                    lotteryAnalyseNorm.Enable          = false;
                                    lotteryAnalyseNorm.LastStartPeriod = 0;  // Todo: set LastStartPeriod

                                    cn.Execute(sqlStr5, new
                                    {
                                        lotteryAnalyseNorm.Id,
                                        lotteryAnalyseNorm.Enable,
                                        LatestStartPeriod = lotteryAnalyseNorm.LastStartPeriod
                                    }, trans);

                                    RedisHelper.Remove(lotteryAnalyseNormHashKey, lotteryAnalyseNorm.Id);
                                }

                                #endregion
                            }
                        }

                        #endregion

                        trans.Commit();
                    }
                    catch (Exception ex)
                    {
                        LogDbHelper.LogError(ex, GetType().FullName + "UpdateUserPlans");
                        trans.Rollback();
                        throw ex;
                    }
                }
            }
        }
Esempio n. 18
0
 /// <summary>
 /// 获取日志数据库列表
 /// </summary>
 /// <param name="yearStr">4位年份字符串</param>
 /// <param name="monthStr">2位月份字符串</param>
 /// <param name="level">日志等级</param>
 /// <returns></returns>
 public static List <LogDbFile> GetLogDbFileList(string yearStr = "", string monthStr = "", string level = "")
 {
     return(LogDbHelper.GetLogDbFileList(yearStr, monthStr, level));
 }