public void Execute(IJobExecutionContext context) { try { _logger.Info("CollectNeedCombineInUserTable开始执行:" + DateTime.Now.ToString()); //获取手机号不为空 and 用户状态Isactive=true 的情况下手机号重复的用户 var stepOne_GetNeedCombineInUserTable = UACManager.GetNeedCombineInUserTable(); if (null == stepOne_GetNeedCombineInUserTable) { _logger.Info("CollectNeedCombineInUserTable已经没有需要合并UserId:" + DateTime.Now.ToString()); } else { _logger.Info("CollectNeedCombineInUserTable已经得到所有元数据,一共有" + stepOne_GetNeedCombineInUserTable.Count() + "条重复数据需要合并," + DateTime.Now.ToString()); //针对每个mobile,选出一个主UserId,其他全是需要更新的UserId var stepTwo_CombineResultList = UACManager.FilterPrimaryUserIdsViaPhone(stepOne_GetNeedCombineInUserTable); _logger.Info("CollectNeedCombineInUserTable已经完成筛选主UserId的逻辑" + DateTime.Now.ToString()); _logger.Info("CollectNeedCombineInUserTable开始执行需要合并账号插入数据库的操作." + DateTime.Now.ToString()); //把筛选出的结果集上传到数据库 var stepThree_InsertNeedCombineUserIdViaPhone = UACManager.InsertNeedCombineUserIdsViaPhone(stepTwo_CombineResultList); if (!stepThree_InsertNeedCombineUserIdViaPhone) { _logger.Info("CollectNeedCombineInUserTable插入结果集失败"); } } _logger.Info("CollectNeedCombineInUserTable执行结束"); } catch (Exception ex) { _logger.Info($"CollectNeedCombineInUserTable:运行异常=》{ex}"); } }
public void Execute(IJobExecutionContext context) { try { _logger.Info("BatchLogOffUserJob开始执行:" + DateTime.Now.ToString()); var result = UACManager.BatchLogOffUser(); _logger.Info("BatchLogOffUserJob执行结束"); } catch (Exception ex) { _logger.Info($"BatchLogOffUserJob:运行异常=》{ex}"); } }
public void Execute(IJobExecutionContext context) { try { _logger.Info("DupUserMonitorJob开始执行:" + DateTime.Now.ToString()); //获取手机号不为空 and 用户状态Isactive=true 的情况下手机号重复的用户 var stepOne_GetNeedCombineInUserTable = UACManager.GetNeedCombineInUserTable(); if (null == stepOne_GetNeedCombineInUserTable) { _logger.Info("DupUserMonitorJob今天没有需要合并UserId:" + DateTime.Now.ToString()); } else { var body = new StringBuilder(10000); body.Append(EmailStyle); body.Append(EmailTemplate); foreach (var item in stepOne_GetNeedCombineInUserTable) { if (item != null) { body.Append("<tr>"); body.Append($"<td>{item.UserId}</td>"); body.Append($"<td>{item.MobileNumber}</td>"); body.Append($"<td>{item.IsMobileVerify}</td>"); body.Append($"<td>{item.CreatedTime}</td>"); body.Append($"<td>{item.RegisteredDateTime}</td>"); body.Append($"<td>{item.LastLogonTime}</td>"); body.Append($"<td>{item.UpdatedTime}</td>"); body.Append($"<td>{item.TempChannel}</td>"); } } body.Append("</tbody></table>"); var message = body.ToString(); Tuhu.TuhuMessage.SendEmail("【Warning】出现" + stepOne_GetNeedCombineInUserTable.Count() + "个手机重复账号EOM", "[email protected];[email protected]", message); } } catch (Exception ex) { _logger.Info($"DupUserMonitor:运行异常=》{ex}"); } }
public void Execute(IJobExecutionContext context) { try { _logger.Info("UserAuthMultiBindMonitorJob开始执行:" + DateTime.Now.ToString()); var result_GetCount_UnionIdBindMultiUserIds = UACManager.GetCount_UnionIdBindMultiUserIds(); var result_GetCount_UserIdBindMultiUnionIds = UACManager.GetCount_UserIdBindMultiUnionIds(); if (result_GetCount_UnionIdBindMultiUserIds == 0 && result_GetCount_UserIdBindMultiUnionIds == 0) { _logger.Info("UserAuthMultiBindMonitorJob今天没有出现绑定异常:" + DateTime.Now.ToString()); } else { var body = new StringBuilder(10000); string issue = string.Empty; if (result_GetCount_UnionIdBindMultiUserIds > 0) { issue += string.Format(EmailTrBase, "UnionId绑定多UserId监控", result_GetCount_UnionIdBindMultiUserIds.ToString(), Sql_UnionIdBindMultiUserIds); } if (result_GetCount_UserIdBindMultiUnionIds > 0) { issue += string.Format(EmailTrBase, "UserId绑定多UnionId监控", result_GetCount_UserIdBindMultiUnionIds.ToString(), Sql_UserIdBindMultiUnionIds); } body.Append(string.Format(EmailBaseStyle, issue)); var message = body.ToString(); Tuhu.TuhuMessage.SendEmail("【Warning】出现用户授权绑定多账号问题EOM", "[email protected];[email protected];[email protected]", message); } _logger.Info("UserAuthMultiBindMonitorJob执行结束:" + DateTime.Now.ToString()); } catch (Exception ex) { _logger.Info($"UserAuthMultiBindMonitor:运行异常=》{ex}"); } }
private void OnLaunchPrivilegedExecutable(object sender, EventArgs e) { int exitCode; try { exitCode = UACManager.ExecutePrivilegedProcess(GetPrivilegedExePath()); } catch (Exception ex) { MessageBox.Show(ex.Message); return; } if (exitCode == 0) { MessageBox.Show("PrivilegedExe has been run successfully", "Write To Program Files", MessageBoxButtons.OK, MessageBoxIcon.Information); } else { MessageBox.Show(String.Format("PrivilegedExe has returned with error code: {0}", exitCode), "Write To Program Files", MessageBoxButtons.OK, MessageBoxIcon.Error); } }
public void Execute(IJobExecutionContext context) { _logger.Info("CleanDupYewuUser开始执行:" + DateTime.Now.ToString()); try { //获取YewuUser表里uid\3rdId\channel都一样的数据 var stepOne_GetDupYewuUsers = UACManager.GetDupYewuUsers(); if (null == stepOne_GetDupYewuUsers) { _logger.Info("CleanDupYewuUser没有需要合并的记录:" + DateTime.Now.ToString()); } else { //针对每组相同UserId+ThirdpartyId+Channel,选择pkid最小的,其余记录下来,然后删除 var stepTwo_CollectNeedDeleteList = UACManager.CollectNeedDeleteDupYewuUserList(stepOne_GetDupYewuUsers); if (UACManager.CheckSwitch(runtimeSwitch)) //如果开关开着,跑一条,如果开关关了跑全部 { stepTwo_CollectNeedDeleteList = stepTwo_CollectNeedDeleteList.Take(1).ToList(); } //删除stepTwo数据,并记录数据 var stepThree_DeleteAndRecord = UACManager.DeleteAndRecordDupYewuUsers(stepTwo_CollectNeedDeleteList); if (!stepThree_DeleteAndRecord) { _logger.Info("CleanDupYewuUser清理重复三方业务表数据失败"); } } _logger.Info("CleanDupYewuUser执行结束"); } catch (Exception ex) { _logger.Info($"CleanDupYewuUser:运行异常=》{ex}"); } _logger.Info("CleanDupYewuUser执行结束"); }
public void Execute(IJobExecutionContext context) { _logger.Info("CollectUserDailyIncJob开始执行:" + DateTime.Now.ToString()); if (UACManager.CheckSwitch(runtimeSwitch)) { DateTime startTime = DateTime.Now.Date.AddDays(-30); DateTime endTime = DateTime.Now.Date.AddDays(-1); List <string> dateList = new List <string>(); for (DateTime date = startTime; date <= endTime; date = date.AddDays(1)) { dateList.Add(date.ToString("yyyy-MM-dd")); } #region 多线程,处理批量日期 //try //{ // Dictionary<int, List<Task>> taskDic = new Dictionary<int, List<Task>>(); // for (int index = 0; index < dateList.Count; index++) // { // var task = new Task(() => // { // UACManager.CollectUserTableDailyInc(dateList[index]); // System.Threading.Thread.Sleep(1000); // }); // var num = index / 10; // if (taskDic.ContainsKey(num) && taskDic[num] != null) // { // taskDic[num].Add(task); // } // else // { // taskDic[num] = new List<Task>() { task }; // } // } // foreach (var tasks in taskDic.Values) // { // foreach (var item in tasks) // { // item.Start(); // } // Task.WaitAll(tasks.ToArray()); // } //} //catch (AggregateException ex) //{ // foreach (Exception inner in ex.InnerExceptions) // { // _logger.Info($"CollectUserDailyIncJob:运行异常=》{ex}"); // } //} #endregion #region 单线程,处理批量日期 try { foreach (var date in dateList) { UACManager.CollectUserTableDailyInc(date); } } catch (Exception ex) { _logger.Info($"CollectUserDailyIncJob:运行异常=》{ex}"); Tuhu.TuhuMessage.SendEmail("【用户日增长Warning】批量执行从" + startTime.ToString("yyyy-MM-dd") + "到" + endTime.ToString("yyyy-MM-dd") + "时,脚本异常EOM", "[email protected];[email protected]", "请检查数据和日志." + ex); } #endregion } else { //单线程,及时收集前一天数据 try { DateTime collectTime = DateTime.Now.Date.AddDays(-1); UACManager.CollectUserTableDailyInc(collectTime.ToString("yyyy-MM-dd")); } catch (Exception ex) { _logger.Info($"CollectUserDailyIncJob:运行异常=》{ex}"); Tuhu.TuhuMessage.SendEmail("【用户日增长Warning】日期" + DateTime.Now.Date.AddDays(-1).ToString("yyyy-MM-dd") + "脚本执行异常EOM", "[email protected];[email protected]", "请检查数据和日志." + ex); } } _logger.Info("CollectUserDailyIncJob执行结束"); }
void IJob.Execute(IJobExecutionContext context) { _logger.Info("UserCombineViaPhoneAndRecordLogJob开始执行:" + DateTime.Now.ToString()); if (UACManager.CheckSwitch(runtimeSwitch)) { //多线程执行模块 //try //{ // //获取UAC_NeedCombineUserId表里IsOperateSuccess=0(即操作失败,或者还没执行)的数据 // var stepOne_GetNeedCombineUserIdViaPhoneList = UACManager.GetNeedCombineUserIdViaPhoneList(); // if (null == stepOne_GetNeedCombineUserIdViaPhoneList) // { // _logger.Info("UserCombineViaPhoneAndRecordLogJob没有需要合并的记录:" + DateTime.Now.ToString()); // } // else // { // var task_0 = new Task(() => // { // UACManager.Task_CombineAndRecordActionForPhoneCombile(stepOne_GetNeedCombineUserIdViaPhoneList, // runtimeSwitch, "0"); // System.Threading.Thread.Sleep(1000); // }); // var task_1 = new Task(() => // { // UACManager.Task_CombineAndRecordActionForPhoneCombile(stepOne_GetNeedCombineUserIdViaPhoneList, // runtimeSwitch, "1"); // System.Threading.Thread.Sleep(1000); // }); // var task_2 = new Task(() => // { // UACManager.Task_CombineAndRecordActionForPhoneCombile(stepOne_GetNeedCombineUserIdViaPhoneList, // runtimeSwitch, "2"); // System.Threading.Thread.Sleep(1000); // }); // var task_3 = new Task(() => // { // UACManager.Task_CombineAndRecordActionForPhoneCombile(stepOne_GetNeedCombineUserIdViaPhoneList, // runtimeSwitch, "3"); // System.Threading.Thread.Sleep(1000); // }); // var task_4 = new Task(() => // { // UACManager.Task_CombineAndRecordActionForPhoneCombile(stepOne_GetNeedCombineUserIdViaPhoneList, // runtimeSwitch, "4"); // System.Threading.Thread.Sleep(1000); // }); // var task_5 = new Task(() => // { // UACManager.Task_CombineAndRecordActionForPhoneCombile(stepOne_GetNeedCombineUserIdViaPhoneList, // runtimeSwitch, "5"); // System.Threading.Thread.Sleep(1000); // }); // var task_6 = new Task(() => // { // UACManager.Task_CombineAndRecordActionForPhoneCombile(stepOne_GetNeedCombineUserIdViaPhoneList, // runtimeSwitch, "6"); // System.Threading.Thread.Sleep(1000); // }); // var task_7 = new Task(() => // { // UACManager.Task_CombineAndRecordActionForPhoneCombile(stepOne_GetNeedCombineUserIdViaPhoneList, // runtimeSwitch, "7"); // System.Threading.Thread.Sleep(1000); // }); // var task_8 = new Task(() => // { // UACManager.Task_CombineAndRecordActionForPhoneCombile(stepOne_GetNeedCombineUserIdViaPhoneList, // runtimeSwitch, "8"); // System.Threading.Thread.Sleep(1000); // }); // var task_9 = new Task(() => // { // UACManager.Task_CombineAndRecordActionForPhoneCombile(stepOne_GetNeedCombineUserIdViaPhoneList, // runtimeSwitch, "9"); // System.Threading.Thread.Sleep(1000); // }); // task_2.Start(); // task_3.Start(); // task_4.Start(); // task_5.Start(); // task_6.Start(); // task_7.Start(); // task_8.Start(); // task_9.Start(); // Task.WaitAll(task_2, task_3, task_4, task_5, task_6, task_7, task_8, task_9); // } //} //catch (AggregateException ex) //{ // foreach (Exception inner in ex.InnerExceptions) // { // _logger.Info($"UserCombineViaPhoneAndRecordLogJob:运行异常=》{inner.Message}"); // } //} //单线程模块 try { //获取UAC_NeedCombineUserId表里IsOperateSuccess=0(即操作失败,或者还没执行)的数据 var stepOne_GetNeedCombineUserIdViaPhoneList = UACManager.GetNeedCombineUserIdViaPhoneList(); if (null == stepOne_GetNeedCombineUserIdViaPhoneList) { _logger.Info("UserCombineViaPhoneAndRecordLogJob没有需要合并的记录:" + DateTime.Now.ToString()); } else { //循环遍历,对于每条记录, //如果所有表都更新成功,更新IsOperateSuccess = 1,记录所有表操作日志 //否者,记录报错,回滚操作,记录失败 //stepTwo_CombineAndRecordAction计数了需要完成\成功\失败的行数 if (null == stepOne_GetNeedCombineUserIdViaPhoneList || !stepOne_GetNeedCombineUserIdViaPhoneList.Any()) { _logger.Info("UserCombineViaPhoneAndRecordLogJob所有测试数据已经跑完" + DateTime.Now.ToString()); } else { var stepTwo_CombineAndRecordAction = UACManager.CombineAndRecordActionForPhoneCombile(stepOne_GetNeedCombineUserIdViaPhoneList, runtimeSwitch); _logger.Info("UserCombineViaPhoneAndRecordLogJob:" + stepTwo_CombineAndRecordAction); } } } catch (Exception ex) { _logger.Info($"UserCombineViaPhoneAndRecordLogJob:运行异常=》{ex}"); } } _logger.Info("UserCombineViaPhoneAndRecordLogJob执行结束"); }