public static TaskConfigModel FetchTaskDetail(Guid taskId) { var result = DalTask.GetTaskInfo(taskId); var triggerData = DalTask.GetTriggerTaskList(taskId); if (result == null) { return(null); } result.ConditionList = DalTask.GetConditionList(taskId); foreach (var item in result.ConditionList) { if (item.ActionName.Equals("11FinishTask", StringComparison.CurrentCultureIgnoreCase) && Guid.TryParse(item.SpecialPara, out var value)) { item.ChildName = DalTask.GetTaskInfo(value)?.TaskName; } } result.CouponList = DalTask.GetCouponList(taskId); result.TriggerList = triggerData.Where(g => g.TriggerType == 1 && !g.IsTimeout).Select(g => new TaskSimpleModel { TaskId = g.TriggerTaskId, TaskName = g.TriggerTaskName }).ToList(); result.DisplayTriggerList = triggerData.Where(g => g.TriggerType == 0 && !g.IsTimeout).Select(g => new TaskSimpleModel { TaskId = g.TriggerTaskId, TaskName = g.TriggerTaskName }).ToList(); result.TimeoutTriggerList = triggerData.Where(g => g.TriggerType == 0 && g.IsTimeout).Select(g => new TaskSimpleModel { TaskId = g.TriggerTaskId, TaskName = g.TriggerTaskName }).ToList(); return(result); }
private static void DoJob() { const int step = 10000; var start = 0; var count = DalTask.GetWXBindUserCount(); while (start < count) { var sw = new Stopwatch(); sw.Start(); var info = DalTask.GetWXBindUserList(start, step); start += step; if (info.Any()) { foreach (var item in info) { TuhuNotification.SendNotification("notification.TaskActionQueue", new Dictionary <string, string> { ["UserId"] = item.ToString("D"), ["ActionName"] = "4BindWX" }); Thread.Sleep(100); } } sw.Stop(); Logger.Info($"会员任务-->绑定微信异常数据补偿Job-->第{start / step + 1}批,用时{sw.ElapsedMilliseconds}毫秒,共{count / step + 1}批"); } }
public void Create(TaskEntity test) { DalTask taskToCreate = MapperBusinessConfiguration.MapperInstance.Map <TaskEntity, DalTask>(test); taskRepository.Create(taskToCreate); uow.Commit(); }
public void Update(DalTask entity) { Task toDoForm = MapperDomainConfiguration.MapperInstance.Map <DalTask, Task>(entity); context.Set <Task>() .Where(form => form.Id == toDoForm.Id) .Update(updated => toDoForm); }
public void Update(DalTask e) { var task = _context.Set <Task>().FirstOrDefault(t => t.Id == e.Id); task.Title = e.Title; task.Description = e.Description; task.DeadlineDate = e.DeadlineDate; task.DeadlineTime = e.DeadlineTime; task.TotalPoints = e.TotalPoints; }
public static bool EditOrderRule(OrderRuleDetailModel request, string Operator) { if (request.RuleNo == 0) { return(DalTask.AddOrderRule(request, Operator)); } else { return(DalTask.UpdateOrderRuleInfo(request)); } }
private static void DoJob() { var taskId1 = new Guid("6cf07554-9b2e-4e18-9c73-5e15c16a801c"); //绑定微信 var taskId2 = new Guid("6128230d-8a6d-495a-91e2-08fd476d9355"); //关注公众号 //dev //var taskId1=new Guid("6A19450D-A1C1-455F-B49D-06EDEF6A1827"); //var taskId2=new Guid("5897E3CC-5B7C-49BB-AF5F-22780DDCE234"); var start = 0; const int step = 1000; var maxPkId = 731398; var watcher = new Stopwatch(); while (start <= maxPkId) { watcher.Start(); var data = DalTask.GetWXTaskInfo(start, step); var result = new Tuple <int, int>(0, 0); if (data.Any()) { var data1 = data.Where(g => g.BindType.ToLower().Equals("weixinappopen")).Select(g => g.UserId).Distinct() .ToList(); Logger.Info($"绑定微信{data1.Count}条有效数据"); if (data1.Any()) { var dat2 = DalTask.CheckWxTaskUserId(data1, taskId1, Logger); if (dat2.Any()) { result = DalTask.InitUserTaskInfo(dat2, taskId1, "4BindWX", Logger, 2); } Logger.Info($"4BindWX/{result.Item1}/{result.Item2}"); } var data2 = data.Where(g => g.BindType.ToLower().Equals("winxin_officialaccount")).Select(g => g.UserId).Distinct() .ToList(); Logger.Info($"关注公众号{data2.Count}条有效数据"); if (data2.Any()) { var dat2 = DalTask.CheckWxTaskUserId(data2, taskId2, Logger); if (dat2.Any()) { result = DalTask.InitUserTaskInfo(dat2, taskId2, "5Follow", Logger, 2); } Logger.Info($"5Follow/{result.Item1}/{result.Item2}"); } } start += step; watcher.Stop(); Logger.Info($"微信任务初始化,最大的PKID==>{start + step},第{start / step + 1}批数据,共{maxPkId / step + 1}批,,用时{watcher.ElapsedMilliseconds}毫秒"); watcher.Reset(); } watcher.Stop(); }
public void AssignTask(DalTask e) { foreach (var user in e.Users) { _context.Set <UserTask>().Add(new UserTask() { UserId = user.Id, TaskId = e.Id, PointsCompleted = 0, StatusId = _context.Set <Status>().FirstOrDefault(s => s.Name == "In progress").Id }); } }
public void Create(DalTask e) { var task = new Task() { Title = e.Title, Description = e.Description, CreationDateTime = e.CreationDateTime, DeadlineDate = e.DeadlineDate, DeadlineTime = e.DeadlineTime, TotalPoints = e.TotalPoints }; _context.Set <Task>().Add(task); }
private void DoJob() { var count = DalTask.GetCarUserCount(); if (count == 0) { Logger.Warn("查询添加车辆任务初始化用户数量为0"); return; } var step = 3000; var start = 0; Logger.Info($"查询添加车辆任务初始化数据为{count}条,每批{step}条,共{count / step + 1}批"); var watcher = new Stopwatch(); var taskId = new Guid("4c24109b-2d80-449b-b074-52c877dacfa0"); //var taskId = new Guid("951BE020-E3A5-40EC-A234-EA67E71E8E90"); var guidPara = Guid.Empty; var Coo = 0; var Coo1 = 0; var Coo2 = 0; while (start < count) { var result = new Tuple <int, int>(0, 0); watcher.Start(); var data = DalTask.GetCarUserList(guidPara, step); var dat = data.Where(g => g.u_user_id != null && g.u_user_id != Guid.Empty && !string.IsNullOrWhiteSpace(g.u_cartype_pid_vid)).Select(g => g.u_user_id.Value).ToList(); var dat2 = DalTask.CheckTaskUserId(dat, taskId, Logger); var count2 = dat2.Count; Coo += count2; Coo1 += data.Count; Coo2 += dat.Count; if (count2 > 0) { result = DalTask.InitUserTaskInfo(dat2, taskId, "6AddCar", Logger); } watcher.Stop(); start += step; Logger.Info($"添加车辆任务初始化,起始GUID==>{guidPara:D},第{start / step + 1}批数据,共{count / step + 1}批,有效数据{count2}条,插入用户任务信息表{result.Item1}条,插入用户任务详情表{result.Item2}条,用时{watcher.ElapsedMilliseconds}毫秒"); guidPara = data.Last().CarId; watcher.Reset(); } Logger.Info($"{Coo1}==>{Coo2}==>{Coo}"); watcher.Stop(); }
public void DoJob() { var watcher = new Stopwatch(); var taskId = new Guid("af1c225b-4601-481e-94a7-43682975511b"); //var taskId = new Guid("C185431C-6FCB-4F46-8824-98B6DEC5934B"); var userCount = 18778722; //var userCount = 10000000; Logger.Info($"共{userCount}条订单信息进行需要首单初始化"); if (userCount == 0) { return; } var step = 3000; var start = 0; while (start < userCount) { watcher.Start(); var userList = DalTask.GetFirstOrderUserList(start, step); var count = 0; var result = new Tuple <int, int>(0, 0); if (userList.Any()) { var data = userList.Where(g => g.UserId != null && g.UserId != Guid.Empty && (((g.InstallShopId == null || g.InstallShopId == 0) && g.DeliveryStatus == "3.5Signed") || (g.InstallShopId > 0 && g.InstallStatus == "2Installed"))).Select(g => g.UserId.Value).Distinct().ToList(); var dat = DalTask.CheckTaskUserId(data, taskId, Logger); count = dat.Count; if (count > 0) { result = DalTask.InitUserTaskInfo(dat, taskId, "1FirstOrder", Logger); } } watcher.Stop(); Logger.Info($"首单任务初始化,最大的PKID==>{start + step},第{start / step + 1}批数据,共{userCount / step + 1}批,有效数据{count}条,插入用户任务表共==>{result.Item1}条,插入用户任务详情==>{result.Item2}条数据,用时{watcher.ElapsedMilliseconds}毫秒"); //Thread.Sleep(3000); watcher.Reset(); start += step; } watcher.Stop(); }
private void DoJob() { var watcher = new Stopwatch(); var taskId = new Guid("6128230d-8a6d-495a-91e2-08fd476d9355");//关注公众号TaskId //var taskId = new Guid("5897E3CC-5B7C-49BB-AF5F-22780DDCE234");//dev const int userCount = 1484709; Logger.Info($"共{userCount}条用户信息进行需要首单初始化"); const int step = 3000; var start = 0; while (start < userCount) { watcher.Start(); var userList = DalTask.GetBindWxInfoList(start, step, false); var count = 0; var result = new Tuple <int, int>(0, 0); if (userList.Any()) { var data = userList.Where(g => g.AuthSource.ToLower().Equals("weixin") && g.BindingStatus.ToLower().Equals("bound") && g.UserId != null && !string.IsNullOrWhiteSpace(g.UnionId)) .Select(g => g.UserId.Value).Distinct().ToList(); var dat = DalTask.CheckTaskUserId(data, taskId, Logger); count = dat.Count; if (count > 0) { result = DalTask.InitUserTaskInfo(dat, taskId, "5Follow", Logger); } } watcher.Stop(); Logger.Info( $"关注公众号任务初始化,最大的PKID==>{start + step},第{start / step + 1}批数据,共{userCount / step + 1}批,有效数据{count}条,插入用户任务表共==>{result.Item1}条,插入用户任务详情==>{result.Item2}条数据,用时{watcher.ElapsedMilliseconds}毫秒"); watcher.Reset(); start += step; } watcher.Stop(); }
public static TaskEntity GetBllEntity(this DalTask dalEntity) { if (dalEntity == null) { return(null); } return(new TaskEntity() { Id = dalEntity.Id, IsChecked = dalEntity.IsChecked, FromUserId = dalEntity.FromUserId, ToUserId = dalEntity.ToUserId, DateCreation = dalEntity.DateCreation, Name = dalEntity.Name, Description = dalEntity.Description, //User = dalEntity.User.GetBllEntity(), //User1 = dalEntity.User1.GetBllEntity(), Missions = dalEntity.Missions != null ? dalEntity.Missions.Select(m => m.GetBllEntity()).ToList() : null }); }
private void DoJob() { var count = DalTask.GetAuthenticationUserCount(); if (count == 0) { Logger.Warn("查询车型认证任务初始化用户数量为0"); return; } var step = 10000; var start = 0; Logger.Info($"查询车型认证任务初始化数据为{count}条,每批{step}条,共{count / step + 1}批"); var watcher = new Stopwatch(); while (start < count) { watcher.Start(); var data = DalTask.GetAuthenticationUserList(start, step); if (data.Any()) { foreach (var item in data) { TuhuNotification.SendNotification("notification.TaskActionQueue", new Dictionary <string, string> { ["UserId"] = item.ToString("D"), ["ActionName"] = "7Authentication" }); Thread.Sleep(100); } } watcher.Stop(); Logger.Info($"车型认证任务初始化,第{start / step + 1}批数据,用时{watcher.ElapsedMilliseconds}毫秒"); watcher.Reset(); start += step; } watcher.Stop(); }
private static void DoJob() { var watcher = new Stopwatch(); var taskId = new Guid("6cf07554-9b2e-4e18-9c73-5e15c16a801c");//绑定微信TaskId //var taskId = new Guid("6A19450D-A1C1-455F-B49D-06EDEF6A1827");//dev const int userCount = 2552500; Logger.Info($"共{userCount}条用户信息进行绑定微信初始化"); const int step = 3000; var start = 0; while (start < userCount) { watcher.Start(); var userList = DalTask.GetBindWxInfoList(start, step); var count = 0; var result = new Tuple <int, int>(0, 0); if (userList.Any()) { var data = userList.Where(g => g.AuthSource.ToLower().Equals("weixin") && g.BindingStatus.ToLower().Equals("bound") && g.UserId != null) .Select(g => g.UserId.Value).Distinct().ToList(); var dat = DalTask.CheckTaskUserId(data, taskId, Logger); count = dat.Count; if (count > 0) { result = DalTask.InitUserTaskInfo(dat, taskId, "4BindWX", Logger); } } watcher.Stop(); Logger.Info($"绑定微信任务初始化,最大的PKID==>{start + step},第{start / step + 1}批数据,共{userCount / step + 1}批,有效数据{count}条,插入用户任务表共==>{result.Item1}条,插入用户任务详情==>{result.Item2}条数据,用时{watcher.ElapsedMilliseconds}毫秒"); watcher.Reset(); start += step; } watcher.Stop(); }
public static List <TaskModel> GetTaskListList() => DalTask.GetTaskListList();
public static int EditTaskConfig(TaskConfigModel request, string Operator) { var taskId = Guid.Empty; var result = true; var operate = default(string); var triggerData = request.TriggerList.Select( g => new TriggerTaskModel { TriggerTaskId = g.TaskId, TriggerTaskName = g.TaskName, TriggerType = 1, IsTimeout = false }) .Union(request.DisplayTriggerList.Select( g => new TriggerTaskModel { TriggerTaskId = g.TaskId, TriggerTaskName = g.TaskName, TriggerType = 0, IsTimeout = false })) .Union(request.TimeoutTriggerList.Select( g => new TriggerTaskModel { TriggerTaskId = g.TaskId, TriggerTaskName = g.TaskName, TriggerType = 0, IsTimeout = true })) .ToList(); foreach (var item in request.ConditionList) { if (item.ActionName.Equals("10BuyProduct")) { var specialpara = new List <string>(); var data = item.SpecialPara.Split(';').Where(g => !string.IsNullOrEmpty(g)).ToList(); foreach (var paraItem in data) { if (int.TryParse(paraItem, out var value)) { specialpara.Add($"OR{value.ToString("D8")}"); } else if (paraItem.StartsWith("OR")) { specialpara.Add(paraItem); } } if (!specialpara.Any()) { return(0); } item.SpecialPara = string.Join(";", specialpara); } } using (var dbHelper = Component.Common.DbHelper.CreateDefaultDbHelper()) { dbHelper.BeginTransaction(); if (request.TaskId == Guid.Empty) { request.TaskId = Guid.NewGuid(); taskId = request.TaskId; operate = "Create"; result = DalTask.AddTaskConfig(request, Operator, dbHelper); if (result) { result = DalTask.AddCondition(request.TaskId, request.ConditionList, dbHelper); } if (result && triggerData.Any()) { result = DalTask.AddTriggerTask(request.TaskId, triggerData, dbHelper); } if (result && request.CouponList.Any()) { result = DalTask.AddCoupon(request.TaskId, request.CouponList, dbHelper); } } else { taskId = request.TaskId; operate = "Update"; result = DalTask.UpdateTaskConfig(request, dbHelper); if (result) { result = DalTask.EditCoupon(request.TaskId, request.CouponList, dbHelper); } if (result) { result = DalTask.UpdateTriggerTask(request.TaskId, triggerData, dbHelper); } if (result) { result = DalTask.DeleteCondition(request.TaskId, dbHelper); if (result) { result = DalTask.AddCondition(request.TaskId, request.ConditionList, dbHelper); } } } if (result) { result = RefreshCache(); dbHelper.Commit(); } else { dbHelper.Rollback(); return(2); } if (result) { TaskOprLog(request.TaskId, Operator, operate, JsonConvert.SerializeObject(request)); } return(result ? 1 : 3); } }
public static OrderRuleProductModel FetchProductNameByPID(string PID) => DalTask.FetchProductNameByPID(PID);
public static OrderRuleDetailModel FetchOrderRuleInfo(int ruleId) => DalTask.FetchOrderRuleInfo(ruleId);
public int CreateTask(DalTask dalTask) { context.Set <Task>().Add(dalTask.GetORMEntity()); return(context.Set <Task>().Max(t => t.Id) + 1); }
public static List <OrdertaskRuleModel> GetRuleInfo() => DalTask.GetRuleInfo();
public static IEnumerable <DataAccess.Entity.Category> SelectProductCategory() => DataAccess.Entity.Category.Parse(DalTask.SelectProductCategory());
public static List <TaskOprLogModel> GetTaskOprLog(Guid taskId) => DalTask.GetTaskOprLog(taskId);
public static bool TaskOprLog(Guid taskId, string Operator, string operate, string remark) => DalTask.TaskOprLog(taskId, Operator, operate, remark);
/// <summary> /// 校验任务是否作为其他任务的子任务 /// </summary> /// <param name="taskId"></param> /// <returns></returns> public static bool CheckTaskConfigHasCondition(Guid taskId) => DalTask.CheckTaskConfigHasCondition(taskId);
public static int DeleteTaskConfig(Guid taskId) => DalTask.DeleteTaskConfig(taskId);
public static List <TaskSimpleModel> GetTaskList(Guid?TaskId) => DalTask.GetTaskList(TaskId);
public void Delete(DalTask dalTask) { context.Set <Task>().Attach(dalTask.GetORMEntity()); context.Set <Task>().Remove(dalTask.GetORMEntity()); }
public static List <TaskActionModel> GetActionList() => DalTask.GetActionList();
public void Update(DalTask dalTask) { context.Set <ORM.Task>().AddOrUpdate(dalTask.GetORMEntity()); context.SaveChanges(); }