public async Task <IActionResult> Edit(Guid id, [Bind("Id,ApplicationUserId,ScoreValueId,PostId,Date")] ScoreLog scoreLog) { if (id != scoreLog.Id) { return(NotFound()); } if (ModelState.IsValid) { try { _context.Update(scoreLog); await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!ScoreLogExists(scoreLog.Id)) { return(NotFound()); } else { throw; } } return(RedirectToAction(nameof(Index))); } ViewData["ApplicationUserId"] = new SelectList(_context.ApplicationUsers, "Id", "Id", scoreLog.ApplicationUserId); ViewData["PostId"] = new SelectList(_context.Posts, "Id", "Body", scoreLog.PostId); ViewData["ScoreValueId"] = new SelectList(_context.ScoreValues, "Id", "Id", scoreLog.ScoreValueId); return(View(scoreLog)); }
// ================================ /// <summary>Call this function to reset the game</summary> /// <param name="ResetLogs">Whether the logs should be reset</param> /// <param name="ResetRenderer">Whether the renderer should be reset</param> internal static void Reset(bool ResetLogs, bool ResetRenderer) { // track manager for (int i = 0; i < Program.CurrentRoute.Tracks.Count; i++) { int key = Program.CurrentRoute.Tracks.ElementAt(i).Key; Program.CurrentRoute.Tracks[key] = new Track(); } // train manager TrainManager.Trains = new TrainManager.Train[] { }; // game Interface.ClearMessages(); CurrentInterface = InterfaceType.Normal; Program.CurrentRoute.Comment = ""; Program.CurrentRoute.Image = ""; Program.CurrentRoute.Atmosphere.AccelerationDueToGravity = 9.80665; Program.CurrentRoute.Atmosphere.InitialAirPressure = 101325.0; Program.CurrentRoute.Atmosphere.InitialAirTemperature = 293.15; Program.CurrentRoute.Atmosphere.InitialElevation = 0.0; Program.CurrentRoute.Atmosphere.SeaLevelAirPressure = 101325.0; Program.CurrentRoute.Atmosphere.SeaLevelAirTemperature = 293.15; Program.CurrentRoute.BufferTrackPositions = new double[] { }; //Messages = new Message[] { }; Program.Renderer.Marker.MarkerTextures = new Texture[] { }; Program.CurrentRoute.PointsOfInterest = new PointOfInterest[] { }; PrecedingTrainTimeDeltas = new double[] { }; PrecedingTrainSpeedLimit = double.PositiveInfinity; Program.CurrentRoute.BogusPreTrainInstructions = new BogusPreTrainInstruction[] { }; TrainName = ""; TrainStart = TrainStartMode.EmergencyBrakesNoAts; Program.CurrentRoute.NoFogStart = (float)Math.Max(1.33333333333333 * Interface.CurrentOptions.ViewingDistance, 800.0); Program.CurrentRoute.NoFogEnd = (float)Math.Max(2.66666666666667 * Interface.CurrentOptions.ViewingDistance, 1600.0); Program.CurrentRoute.PreviousFog = new Fog(Program.CurrentRoute.NoFogStart, Program.CurrentRoute.NoFogEnd, Color24.Grey, 0.0); Program.CurrentRoute.CurrentFog = new Fog(Program.CurrentRoute.NoFogStart, Program.CurrentRoute.NoFogEnd, Color24.Grey, 0.5); Program.CurrentRoute.NextFog = new Fog(Program.CurrentRoute.NoFogStart, Program.CurrentRoute.NoFogEnd, Color24.Grey, 1.0); if (ResetLogs) { LogRouteName = ""; LogTrainName = ""; LogDateTime = DateTime.Now; CurrentScore = new Score(); ScoreMessages = new ScoreMessage[] { }; ScoreLogs = new ScoreLog[64]; ScoreLogCount = 0; BlackBoxEntries = new BlackBoxEntry[256]; BlackBoxEntryCount = 0; BlackBoxNextUpdate = 0.0; } // renderer if (ResetRenderer) { Program.Renderer.InfoTotalTriangles = 0; Program.Renderer.InfoTotalTriangleStrip = 0; Program.Renderer.InfoTotalQuads = 0; Program.Renderer.InfoTotalQuadStrip = 0; Program.Renderer.InfoTotalPolygon = 0; Program.Renderer.Reset(); } }
// ================================ /// <summary>Call this function to reset the game</summary> /// <param name="ResetLogs">Whether the logs should be reset</param> internal static void Reset(bool ResetLogs) { // track manager for (int i = 0; i < TrackManager.Tracks.Length; i++) { TrackManager.Tracks[i] = new TrackManager.Track(); } // train manager TrainManager.Trains = new TrainManager.Train[] { }; // game Interface.ClearMessages(); CurrentInterface = InterfaceType.Normal; RouteComment = ""; RouteImage = ""; RouteAccelerationDueToGravity = 9.80665; RouteRailGauge = 1.435; RouteInitialAirPressure = 101325.0; RouteInitialAirTemperature = 293.15; RouteInitialElevation = 0.0; RouteSeaLevelAirPressure = 101325.0; RouteSeaLevelAirTemperature = 293.15; Stations = new RouteStation[] { }; CurrentRoute.Sections = new Section[] { }; BufferTrackPositions = new double[] { }; //Messages = new Message[] { }; MarkerTextures = new Texture[] { }; PointsOfInterest = new PointOfInterest[] { }; PrecedingTrainTimeDeltas = new double[] { }; PrecedingTrainSpeedLimit = double.PositiveInfinity; CurrentRoute.BogusPretrainInstructions = new BogusPretrainInstruction[] { }; TrainName = ""; TrainStart = TrainStartMode.EmergencyBrakesNoAts; CurrentRoute.NoFogStart = (float)Math.Max(1.33333333333333 * Interface.CurrentOptions.ViewingDistance, 800.0); CurrentRoute.NoFogEnd = (float)Math.Max(2.66666666666667 * Interface.CurrentOptions.ViewingDistance, 1600.0); CurrentRoute.PreviousFog = new Fog(CurrentRoute.NoFogStart, CurrentRoute.NoFogEnd, Color24.Grey, 0.0); CurrentRoute.CurrentFog = new Fog(CurrentRoute.NoFogStart, CurrentRoute.NoFogEnd, Color24.Grey, 0.5); CurrentRoute.NextFog = new Fog(CurrentRoute.NoFogStart, CurrentRoute.NoFogEnd, Color24.Grey, 1.0); InfoTotalTriangles = 0; InfoTotalTriangleStrip = 0; InfoTotalQuads = 0; InfoTotalQuadStrip = 0; InfoTotalPolygon = 0; InfoStaticOpaqueFaceCount = 0; if (ResetLogs) { LogRouteName = ""; LogTrainName = ""; LogDateTime = DateTime.Now; CurrentScore = new Score(); ScoreMessages = new ScoreMessage[] { }; ScoreLogs = new ScoreLog[64]; ScoreLogCount = 0; BlackBoxEntries = new BlackBoxEntry[256]; BlackBoxEntryCount = 0; BlackBoxNextUpdate = 0.0; } // renderer Renderer.Reset(); }
/// <summary>Call this function to reset the game</summary> /// <param name="ResetLogs">Whether the logs should be reset</param> internal static void Reset(bool ResetLogs) { // track manager for (int i = 0; i < Program.CurrentRoute.Tracks.Count; i++) { int key = Program.CurrentRoute.Tracks.ElementAt(i).Key; Program.CurrentRoute.Tracks[key] = new Track(); } // train manager Program.TrainManager.Trains = new TrainBase[] { }; // game Interface.LogMessages.Clear(); Program.CurrentHost.MissingFiles.Clear(); if (Program.Renderer.CurrentInterface != InterfaceType.Menu) { Program.Renderer.CurrentInterface = InterfaceType.Normal; } Program.CurrentRoute.Comment = ""; Program.CurrentRoute.Image = ""; Program.CurrentRoute.Atmosphere = new Atmosphere(); Program.CurrentRoute.LightDefinitions = new LightDefinition[] { }; Program.CurrentRoute.BufferTrackPositions = new double[] { }; //Messages = new Message[] { }; Program.Renderer.Marker.MarkerTextures = new Texture[] { }; Program.CurrentRoute.PointsOfInterest = new PointOfInterest[] { }; Program.CurrentRoute.PrecedingTrainTimeDeltas = new double[] { }; Interface.CurrentOptions.PrecedingTrainSpeedLimit = double.PositiveInfinity; Program.CurrentRoute.BogusPreTrainInstructions = new BogusPreTrainInstruction[] { }; Interface.CurrentOptions.TrainName = ""; Interface.CurrentOptions.TrainStart = TrainStartMode.EmergencyBrakesNoAts; Program.CurrentRoute.NoFogStart = (float)Math.Max(1.33333333333333 * Interface.CurrentOptions.ViewingDistance, 800.0); Program.CurrentRoute.NoFogEnd = (float)Math.Max(2.66666666666667 * Interface.CurrentOptions.ViewingDistance, 1600.0); Program.CurrentRoute.PreviousFog = new Fog(Program.CurrentRoute.NoFogStart, Program.CurrentRoute.NoFogEnd, Color24.Grey, 0.0); Program.CurrentRoute.CurrentFog = new Fog(Program.CurrentRoute.NoFogStart, Program.CurrentRoute.NoFogEnd, Color24.Grey, 0.5); Program.CurrentRoute.NextFog = new Fog(Program.CurrentRoute.NoFogStart, Program.CurrentRoute.NoFogEnd, Color24.Grey, 1.0); if (ResetLogs) { LogRouteName = ""; LogTrainName = ""; LogDateTime = DateTime.Now; CurrentScore = new Score(); ScoreMessages = new ScoreMessage[] { }; ScoreLogs = new ScoreLog[64]; ScoreLogCount = 0; BlackBoxEntries = new BlackBoxEntry[256]; BlackBoxEntryCount = 0; BlackBoxNextUpdate = 0.0; } }
/*********************************************** * LogEvent() * Logs all events that affect user's score ***********************************************/ private static void LogEvent(string targetId, string eventOwner, int points, string eventName) { ScoreLog newEvent = new ScoreLog { TargetId = targetId, EventOwnerName = eventOwner, Event = eventName, Points = points, Timestamp = DateTime.Now }; db.ScoreLogs.Add(newEvent); db.SaveChanges(); }
public async Task <IActionResult> Create([Bind("Id,ApplicationUserId,ScoreValueId,PostId,Date")] ScoreLog scoreLog) { if (ModelState.IsValid) { scoreLog.Id = Guid.NewGuid(); _context.Add(scoreLog); await _context.SaveChangesAsync(); return(RedirectToAction(nameof(Index))); } ViewData["ApplicationUserId"] = new SelectList(_context.ApplicationUsers, "Id", "Id", scoreLog.ApplicationUserId); ViewData["PostId"] = new SelectList(_context.Posts, "Id", "Body", scoreLog.PostId); ViewData["ScoreValueId"] = new SelectList(_context.ScoreValues, "Id", "Id", scoreLog.ScoreValueId); return(View(scoreLog)); }
public bool Insert(ScoreLog scoreLog) { bool isTrue = false; try { using (var db = BaseDal.WriteSanNongDunDbBase()) { isTrue = db.Insert <ScoreLog>(scoreLog); if (!isTrue) { LogHelper.WriteInfo(typeof(ScoreLogDal), "Insert--添加记录失败", Engineer.ccc, scoreLog); } } } catch (Exception ex) { LogHelper.WriteLog(typeof(ScoreLogDal), "Insert", Engineer.ccc, scoreLog, ex); } return(isTrue); }
// Lưu lại log điểm của bài kiểm tra private async Task SaveScoreLog(Guid examLogId, Guid?destId, float scores, float maxScores) { if (destId == null || destId == Guid.Empty) { return; } var scoreLog = new ScoreLog { ExamLogId = examLogId, DestId = destId.Value, Scores = scores, MaxScores = maxScores, RateInParent = scores / maxScores }; // Xóa các bản đã tổn tại có examLogId và desId trùng đã tồn tại trước đó await ScoreLogRepository.DeleteAsync(x => x.ExamLogId == examLogId && x.DestId == destId.Value); // Lưu mới vào CSDL await ScoreLogRepository.InsertAsync(scoreLog); }
// ================================ internal static void Reset(bool ResetLogs) { // track manager TrackManager.CurrentTrack = new TrackManager.Track(); // train manager TrainManager.Trains = new TrainManager.Train[] { }; // game Debug.ClearMessages(); CurrentInterface = InterfaceType.Normal; RouteComment = ""; RouteImage = ""; RouteAccelerationDueToGravity = 9.80665; RouteRailGauge = 1.435; RouteInitialAirPressure = 101325.0; RouteInitialAirTemperature = 293.15; RouteInitialElevation = 0.0; RouteSeaLevelAirPressure = 101325.0; RouteSeaLevelAirTemperature = 293.15; Stations = new Station[] { }; Sections = new Section[] { }; BufferTrackPositions = new double[] { }; Messages = new Message[] { }; MarkerTextures = new Textures.Texture[] { }; PointsOfInterest = new PointOfInterest[] { }; PrecedingTrainTimeDeltas = new double[] { }; PrecedingTrainSpeedLimit = double.PositiveInfinity; BogusPretrainInstructions = new BogusPretrainInstruction[] { }; TrainName = ""; TrainStart = TrainStartMode.EmergencyBrakesNoAts; NoFogStart = (float)Math.Max(1.33333333333333 * Options.Current.ViewingDistance, 800.0); NoFogEnd = (float)Math.Max(2.66666666666667 * Options.Current.ViewingDistance, 1600.0); PreviousFog = new Fog(NoFogStart, NoFogEnd, new Color24(128, 128, 128), 0.0); CurrentFog = new Fog(NoFogStart, NoFogEnd, new Color24(128, 128, 128), 0.5); NextFog = new Fog(NoFogStart, NoFogEnd, new Color24(128, 128, 128), 1.0); InfoTotalTriangles = 0; InfoTotalTriangleStrip = 0; InfoTotalQuads = 0; InfoTotalQuadStrip = 0; InfoTotalPolygon = 0; InfoStaticOpaqueFaceCount = 0; if (ResetLogs) { LogRouteName = ""; LogTrainName = ""; LogDateTime = DateTime.Now; CurrentScore = new Score(); ScoreMessages = new ScoreMessage[] { }; ScoreLogs = new ScoreLog[64]; ScoreLogCount = 0; BlackBoxEntries = new BlackBoxEntry[256]; BlackBoxEntryCount = 0; BlackBoxNextUpdate = 0.0; } // renderer Renderer.Reset(); }
public ReturnModel UpdateUserScore(string userName, decimal score, int plusType = 1) { ReturnModel model = new ReturnModel(); UserInfo userInfo = _userDal.GetUserByLoginName(userName); if (userInfo == null) { model.IsTrue = false; model.Msg = "用户不存在!"; return(model); } AccountInfo acc = _accDal.GetAccByUserId(userInfo.UserId); if (acc == null) { model.IsTrue = false; model.Msg = "用户个人账户不存在!"; return(model); } if (plusType == 1) { acc.Score += score; model.Msg = "商城添加score"; } else if (plusType == 2) { if (acc.Score - score < 0 && score <= 0) { model.IsTrue = false; model.Msg = "该score数量不足!"; return(model); } acc.Score -= score; model.Msg = "商城减掉score"; } else { model.IsTrue = false; model.Msg = "plusType参数错误!"; return(model); } model.IsTrue = _accDal.UpdateAccInfo(acc); LogHelper.WriteInfo(typeof(UserInfo), " UpdateUserScore ===== 修改账户ep记录", Engineer.ccc, new { userName = userName, ep = score, plusType = plusType }); if (model.IsTrue) { ScoreLog scoreLog = new ScoreLog(); scoreLog.UserId = acc.UserId; scoreLog.Remark = "商城积分兑换"; scoreLog.LogCount = Convert.ToDecimal(score); scoreLog.CreateTime = DateTime.Now; _scoreLogDal.Insert(scoreLog); LogHelper.WriteInfo(typeof(UserInfo), " UpdateUserScore ===== 添加电商api===score加减记录", Engineer.ccc, scoreLog); model.Msg = "更新成功!"; } else { model.Msg = "更新失败!"; } return(model); }
public ReturnModel OrderOverApi(string userName, int count) { ReturnModel returnModel = new ReturnModel(); returnModel.IsTrue = false; UserInfo user = _userDal.GetUserByLoginName(userName); if (user != null) { user.Level += count; user.OutNum += count; if (user.Level >= 2) { user.OutNum = 2; user.Level = 2; } user.IsActivation = 1; returnModel.IsTrue = _userDal.UpdateUserInfo(user); if (returnModel.IsTrue) { //查看直推人是否激活 UserInfo parentUser = _userDal.GetParentIdByUserId(user.ParentId); #region //查看直推人是否激活 直推返利 if (parentUser.IsActivation == 1) { decimal zhitui = 0; switch (parentUser.Level) { case 1: zhitui = Convert.ToDecimal(330 * 0.15); break; case 2: zhitui = Convert.ToDecimal(660 * 0.25); break; } //添加直推人账户 AccountInfo parentAcc = _accDal.GetAccByUserId(parentUser.UserId); parentAcc.Score += zhitui * Convert.ToDecimal(0.1); parentAcc.GreenCount += zhitui * Convert.ToDecimal(0.9); parentAcc.GreenTotal += zhitui; returnModel.IsTrue = _accDal.UpdateAccInfo(parentAcc); if (!returnModel.IsTrue) { returnModel.Msg = "直推返利,账户更新失败!"; } //添加积分记录 ScoreLog scoreLog = new ScoreLog(); scoreLog.UserId = parentUser.UserId; scoreLog.Remark = "推荐积分" + user.UserName; scoreLog.LogCount = zhitui * Convert.ToDecimal(0.1); scoreLog.CreateTime = DateTime.Now; returnModel.IsTrue = _scoreLogDal.Insert(scoreLog); if (!returnModel.IsTrue) { returnModel.Msg = "直推积分添加记录失败!"; LogHelper.WriteInfo(typeof(UserInfo), " OrderOverApi =====直推积分添加记录失败 ", Engineer.ccc, scoreLog); } //添加绿氧记录 StatusLog statusLog = new StatusLog(); statusLog.LogCount = zhitui * Convert.ToDecimal(0.9); statusLog.CreateTime = DateTime.Now; statusLog.LogType = 2;//1,静态 2,直推 statusLog.UserId = parentUser.UserId; statusLog.ReUserId = user.UserId; returnModel.IsTrue = _statusLogDal.Insert(statusLog); if (!returnModel.IsTrue) { returnModel.Msg = "直推绿氧添加记录失败!"; LogHelper.WriteInfo(typeof(UserInfo), " OrderOverApi =====直推绿氧添加记录失败 ", Engineer.ccc, scoreLog); } } #endregion //向上递归添加业绩 GetUpTeamList(user, count); //添加每日新增业绩 GlobalConfig gc = _GlobalConfigDal.GetGlobalConfig("EveryDate"); gc.ConfigValue = (Convert.ToDecimal(gc.ConfigValue) + (count * 330)).ToString(); _GlobalConfigDal.UpdateGlobalConfig(gc); } else { returnModel.Msg = "修改级别,激活失败"; } } return(returnModel); }
public void Execute(JobExecutionContext context) { List <UserInfo> list = new List <UserInfo>(); GlobalConfig gc = _GlobalConfigDal.GetGlobalConfig("EveryDate"); list = _UserDal.GetAllUser(); int sumUserCount = 0; foreach (var item in list) { sumUserCount += item.Level; } double everyDate = Convert.ToDouble(gc.ConfigValue); double everyAge = everyDate / Convert.ToDouble(sumUserCount) * 0.2; foreach (var item in list) { double userSum = Convert.ToDouble(item.Level) * everyAge; double userGreen = userSum * 0.9; double userScore = userSum * 0.1; AccountInfo acc = new AccountInfo(); acc = _UserAccountDal.GetAccByUserId(item.UserId); if (acc != null) { acc.Score += Convert.ToDecimal(userScore); acc.GreenCount += Convert.ToDecimal(userGreen); acc.StaticsRelease += Convert.ToDecimal(userGreen); acc.GreenTotal += Convert.ToDecimal(userSum); bool isTrue = _UserAccountDal.UpdateAccInfo(acc); if (!isTrue) { LogHelper.WriteInfo(typeof(StatusJob), "静态修改用户待释放资产失败!", Engineer.ccc, new{ userid = item.UserId, userSum = userSum, userGreen = userGreen, userScore = userScore, sumUserCount = sumUserCount, everyDate = everyDate, everyAge = everyAge }); } //添加静态绿养记录 StatusLog statusLog = new StatusLog(); statusLog.LogCount = Convert.ToDecimal(userGreen); statusLog.CreateTime = DateTime.Now; statusLog.LogType = 1;//1,静态 2,直推 statusLog.UserId = item.UserId; bool isTrueStatus = _statusLogDal.Insert(statusLog); if (!isTrueStatus) { LogHelper.WriteInfo(typeof(StatusJob), "静态绿养日志失败!", Engineer.ccc, statusLog); } //添加静态积分记录 ScoreLog scoreLog = new ScoreLog(); scoreLog.UserId = item.UserId; scoreLog.Remark = "静态积分"; scoreLog.LogCount = Convert.ToDecimal(userScore); scoreLog.CreateTime = DateTime.Now; bool isTrueScore = _scoreLogDal.Insert(scoreLog); if (!isTrueScore) { LogHelper.WriteInfo(typeof(StatusJob), "静态积分日志失败!", Engineer.ccc, scoreLog); } } ////清除今日新增 //gc.ConfigValue = "0"; //bool isTrueGc= _GlobalConfigDal.UpdateGlobalConfig(gc); //if (!isTrueGc) //{ // LogHelper.WriteInfo(typeof(StatusJob), "清除今日新增失败!", Engineer.ccc, gc); //} } }
public void Execute(JobExecutionContext context) { List <AccountInfo> accAllList = new List <AccountInfo>(); //List<UserInfo> list = new List<UserInfo>(); GlobalConfig gc = _GlobalConfigDal.GetGlobalConfig("EveryDate"); //list = _UserDal.GetAllUser(); accAllList = _UserAccountDal.GetAllAcc(); int hongBaoSum = 0; //获取红包总数 foreach (var item in accAllList) { AccountInfo acc = new AccountInfo(); acc = _UserAccountDal.GetAccByUserId(item.UserId); if (acc.LeftCount <= acc.RightCount) { hongBaoSum += acc.LeftCount; } else { hongBaoSum += acc.RightCount; } } //获取每个红包平均值 double everyDate = Convert.ToDouble(gc.ConfigValue); double everyAge = everyDate / Convert.ToDouble(hongBaoSum) * 0.15; foreach (var item in accAllList) { UserInfo user = _UserDal.GetUserById(item.UserId); double userSum = 0; int hongbaoCount = 0; if (item.LeftAchievement <= item.RightAchievement) { userSum += Convert.ToDouble(item.LeftCount) * everyAge; hongbaoCount = item.LeftCount; } else { userSum += Convert.ToDouble(item.RightCount) * everyAge; hongbaoCount = item.RightCount; } //获取每人 积分 和绿养 double userGreen = userSum * 0.9; double userScore = userSum * 0.1; //直推返利四层 #region 直推返利四层 GetUpFourUserAccount(user, userGreen, userScore, hongbaoCount); #endregion AccountInfo acc = new AccountInfo(); acc = _UserAccountDal.GetAccByUserId(item.UserId); if (acc != null) { acc.Score += Convert.ToDecimal(userScore); acc.GreenCount += Convert.ToDecimal(userGreen); acc.StaticsRelease += Convert.ToDecimal(userGreen); acc.GreenTotal += Convert.ToDecimal(userSum); bool isTrue = _UserAccountDal.UpdateAccInfo(acc); if (!isTrue) { LogHelper.WriteInfo(typeof(StatusJob), "红包用户待释放资产失败!", Engineer.ccc, new { userid = item.UserId, userSum = userSum, userGreen = userGreen, userScore = userScore, sumUserCount = hongBaoSum, everyDate = everyDate, everyAge = everyAge }); } //添加红包记录 HongBaoLog hongBaoLog = new HongBaoLog(); hongBaoLog.LogCount = Convert.ToDecimal(userGreen); hongBaoLog.CreateTime = DateTime.Now; hongBaoLog.HongBaoCount = hongbaoCount; hongBaoLog.UserId = item.UserId; hongBaoLog.LogType = 1;//1,自己业绩红包 2,返利4层 hongBaoLog.ReUserId = item.UserId; bool isTrueStatus = _hongBaoLogDal.Insert(hongBaoLog); if (!isTrueStatus) { LogHelper.WriteInfo(typeof(StatusJob), "红包日志失败!", Engineer.ccc, hongBaoLog); } //添加红包积分记录 ScoreLog scoreLog = new ScoreLog(); scoreLog.UserId = item.UserId; scoreLog.Remark = "红包积分"; scoreLog.LogCount = Convert.ToDecimal(userScore); scoreLog.CreateTime = DateTime.Now; bool isTrueScore = _scoreLogDal.Insert(scoreLog); if (!isTrueScore) { LogHelper.WriteInfo(typeof(StatusJob), "红包积分日志失败!", Engineer.ccc, scoreLog); } } } }
/// <summary> /// 获取直推四层账户 返利 /// </summary> /// <param name="parentId"></param> /// <returns></returns> public void GetUpFourUserAccount(UserInfo user, double userGreen, double userScore, int hongbaoCount) { List <AccountInfo> list = new List <AccountInfo>(); #region 第一层 UserInfo user1 = _UserDal.GetParentIdByUserId(user.ParentId); if (user1 == null) { return; } AccountInfo acc1 = _UserAccountDal.GetAccByUserId(user1.UserId); decimal rebateScore1 = Convert.ToDecimal(userScore * 0.3); decimal rebateGreen1 = Convert.ToDecimal(userGreen * 0.3); acc1.Score += rebateScore1; acc1.GreenCount += rebateGreen1; acc1.GreenTotal += Convert.ToDecimal(rebateScore1 + rebateGreen1); bool isTrue = _UserAccountDal.UpdateAccInfo(acc1); if (!isTrue) { LogHelper.WriteInfo(typeof(StatusJob), "红包返利第一层失败!", Engineer.ccc, acc1); } //添加返利红包记录 #region 添加返利红包记录 HongBaoLog hongBaoLog = new HongBaoLog(); hongBaoLog.LogCount = rebateGreen1; hongBaoLog.CreateTime = DateTime.Now; hongBaoLog.HongBaoCount = hongbaoCount; hongBaoLog.UserId = acc1.UserId; hongBaoLog.LogType = 2;//1,自己业绩红包 2,返利4层 hongBaoLog.ReUserId = user.UserId; bool isTrueStatus = _hongBaoLogDal.Insert(hongBaoLog); if (!isTrueStatus) { LogHelper.WriteInfo(typeof(StatusJob), "红包日志失败!", Engineer.ccc, hongBaoLog); } #endregion //添加红包积分记录 #region 返利红包记录 ScoreLog scoreLog1 = new ScoreLog(); scoreLog1.UserId = acc1.UserId; scoreLog1.Remark = "业绩推荐积分"; scoreLog1.LogCount = rebateScore1; scoreLog1.CreateTime = DateTime.Now; bool isTrueScore = _scoreLogDal.Insert(scoreLog1); if (!isTrueScore) { LogHelper.WriteInfo(typeof(StatusJob), "红包积分日志失败!", Engineer.ccc, scoreLog1); } #endregion #endregion #region 第二层 UserInfo user2 = _UserDal.GetParentIdByUserId(user1.ParentId); if (user2 == null) { return; } AccountInfo acc2 = _UserAccountDal.GetAccByUserId(user2.UserId); decimal rebateScore2 = rebateScore1 * Convert.ToDecimal(0.3); decimal rebateGreen2 = rebateGreen1 * Convert.ToDecimal(0.3); acc2.Score += rebateScore2; acc2.GreenCount += rebateGreen2; acc2.GreenTotal += Convert.ToDecimal(rebateScore2 + rebateGreen2); bool isTrue2 = _UserAccountDal.UpdateAccInfo(acc2); if (!isTrue2) { LogHelper.WriteInfo(typeof(StatusJob), "红包返利第二层失败!", Engineer.ccc, acc2); } //添加返利红包记录 #region 添加返利红包记录 HongBaoLog hongBaoLog2 = new HongBaoLog(); hongBaoLog2.LogCount = Convert.ToDecimal(rebateGreen2); hongBaoLog2.CreateTime = DateTime.Now; hongBaoLog2.HongBaoCount = hongbaoCount; hongBaoLog2.UserId = user2.UserId; hongBaoLog2.LogType = 2;//1,自己业绩红包 2,返利4层 hongBaoLog2.ReUserId = user.UserId; bool isTrueStatus2 = _hongBaoLogDal.Insert(hongBaoLog2); if (!isTrueStatus2) { LogHelper.WriteInfo(typeof(StatusJob), "业绩推荐日志失败!", Engineer.ccc, hongBaoLog2); } #endregion //添加红包积分记录 #region 返利红包记录 ScoreLog scoreLog2 = new ScoreLog(); scoreLog2.UserId = acc2.UserId; scoreLog2.Remark = "业绩推荐积分"; scoreLog2.LogCount = rebateScore2; scoreLog2.CreateTime = DateTime.Now; bool isTrueScore2 = _scoreLogDal.Insert(scoreLog2); if (!isTrueScore2) { LogHelper.WriteInfo(typeof(StatusJob), "推荐积分日志失败!", Engineer.ccc, scoreLog2); } #endregion #endregion #region 第三层 UserInfo user3 = _UserDal.GetParentIdByUserId(user2.ParentId); if (user3 == null) { return; } AccountInfo acc3 = _UserAccountDal.GetAccByUserId(user3.UserId); decimal rebateScore3 = rebateScore2 * Convert.ToDecimal(0.3); decimal rebateGreen3 = rebateGreen2 * Convert.ToDecimal(0.3); acc3.Score += rebateScore3; acc3.GreenCount += rebateGreen3; acc3.GreenTotal += Convert.ToDecimal(rebateScore3 + rebateGreen3); bool isTrue3 = _UserAccountDal.UpdateAccInfo(acc3); if (!isTrue3) { LogHelper.WriteInfo(typeof(StatusJob), "业绩返利第三层失败!", Engineer.ccc, acc3); } //添加返利红包记录 #region 添加返利红包记录 HongBaoLog hongBaoLog3 = new HongBaoLog(); hongBaoLog3.LogCount = Convert.ToDecimal(userGreen); hongBaoLog3.CreateTime = DateTime.Now; hongBaoLog3.HongBaoCount = hongbaoCount; hongBaoLog3.UserId = user3.UserId; hongBaoLog3.LogType = 2;//1,自己业绩红包 2,返利4层 hongBaoLog3.ReUserId = user.UserId; bool isTrueStatus3 = _hongBaoLogDal.Insert(hongBaoLog3); if (!isTrueStatus3) { LogHelper.WriteInfo(typeof(StatusJob), "业绩返利第三层红包日志失败!", Engineer.ccc, hongBaoLog3); } #endregion //添加红包积分记录 #region 返利红包记录 ScoreLog scoreLog3 = new ScoreLog(); scoreLog3.UserId = acc3.UserId; scoreLog3.Remark = "业绩推荐积分"; scoreLog3.LogCount = Convert.ToDecimal(userScore); scoreLog3.CreateTime = DateTime.Now; bool isTrueScore3 = _scoreLogDal.Insert(scoreLog3); if (!isTrueScore3) { LogHelper.WriteInfo(typeof(StatusJob), "业绩积分日志失败!", Engineer.ccc, scoreLog3); } #endregion #endregion #region 第四层 UserInfo user4 = _UserDal.GetParentIdByUserId(user3.ParentId); if (user4 == null) { return; } AccountInfo acc4 = _UserAccountDal.GetAccByUserId(user4.UserId); decimal rebateScore4 = rebateScore3 * Convert.ToDecimal(0.3); decimal rebateGreen4 = rebateGreen3 * Convert.ToDecimal(0.3); acc4.Score += rebateScore4; acc4.GreenCount += rebateGreen4; acc4.GreenTotal += Convert.ToDecimal(rebateScore4 + rebateGreen4); bool isTrue4 = _UserAccountDal.UpdateAccInfo(acc3); if (!isTrue4) { LogHelper.WriteInfo(typeof(StatusJob), "红包返利第一层失败!", Engineer.ccc, acc4); } //添加返利红包记录 #region 添加返利红包记录 HongBaoLog hongBaoLog4 = new HongBaoLog(); hongBaoLog4.LogCount = Convert.ToDecimal(userGreen); hongBaoLog4.CreateTime = DateTime.Now; hongBaoLog4.HongBaoCount = hongbaoCount; hongBaoLog4.UserId = acc4.UserId; hongBaoLog4.LogType = 2;//1,自己业绩红包 2,返利4层 hongBaoLog4.ReUserId = user.UserId; bool isTrueStatus4 = _hongBaoLogDal.Insert(hongBaoLog4); if (!isTrueStatus4) { LogHelper.WriteInfo(typeof(StatusJob), "第4层返利推荐失败!", Engineer.ccc, hongBaoLog4); } #endregion //添加红包积分记录 #region 返利红包记录 ScoreLog scoreLog4 = new ScoreLog(); scoreLog4.UserId = acc4.UserId; scoreLog4.Remark = "业绩推荐积分"; scoreLog4.LogCount = Convert.ToDecimal(userScore); scoreLog4.CreateTime = DateTime.Now; bool isTrueScore4 = _scoreLogDal.Insert(scoreLog4); if (!isTrueScore4) { LogHelper.WriteInfo(typeof(StatusJob), "业绩推荐积分日志失败!", Engineer.ccc, scoreLog4); } #endregion #endregion }
public bool Insert(ScoreLog scoreLog) { return(_ScoreLogDal.Insert(scoreLog)); }