123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151 |
- using System;
- using System.Collections.Generic;
- using System.Threading;
- using System.Threading.Tasks;
- using System.Linq;
- using Microsoft.Extensions.Hosting;
- using MySystem;
- using MySystem.JobModels;
- using Library;
- using LitJson;
- public class TaskService
- {
- public readonly static TaskService Instance = new TaskService();
- private TaskService()
- { }
- //要执行的方法
- public void DoQueue(int taskid, string date, int kind)
- {
- TimedTasks task = RedisDbconn.Instance.Get<TimedTasks>("TimedTasks:" + taskid) ?? new TimedTasks();
- WebCMSEntities db = new WebCMSEntities();
- TaskFinish finish = db.TaskFinish.Add(new TaskFinish()
- {
- CreateDate = DateTime.Now,
- TaskId = task.Id,
- }).Entity;
- db.SaveChanges();
- JobMqMsg job = new JobMqMsg();
- job.OrderString = task.OrderJson;
- job.Id = task.Id;
- job.Note = task.Note;
- job.FinishId = finish.Id;
- string jobJson = PublicFunction.ObjectToJsonString(job);
- finish.TargetData = jobJson;
- db.SaveChanges();
- db.Dispose();
- if (task.OrderJson.StartsWith("Ap:") && task.OrderJson.EndsWith(":Sycn"))
- {
- }
- else if (task.OrderJson.StartsWith("Sp:"))
- {
- Brand brand = new Brand();
- brand.Id = task.BrandId;
- TaskSpGetData data = RedisDbconn.Instance.Get<TaskSpGetData>("TaskSpGet:" + task.Id);
- List<FieldRelationTable> fields = RedisDbconn.Instance.GetList<FieldRelationTable>("TaskSpGet:Fields:" + task.Id, 1, 1000);
- brand.FieldRelation = fields;
- brand.TargetTableName = data.TargetTableName;
- brand.ReqType = data.ReqType;
- brand.Url = data.ReqUrl;
- brand.ReqParam = data.ReqParam;
- brand.FtpUserName = data.FtpUserName;
- brand.FtpPassword = data.FtpPassword;
- brand.CheckKey = data.CheckKey;
- brand.IsCheck = data.IsCheck == 1 ? true : false;
- job.BrandInfo = brand;
- job.FinishId = finish.Id;
- if (task.OrderJson.EndsWith(":Sycn"))
- {
- PublicImportDataService.Instance.Test(job, date, kind);
- }
- else if (task.OrderJson.EndsWith(":SpServer"))
- {
- }
- }
- else
- {
- if (task.OrderJson == "PosTradeStat" || task.OrderJson == "TimerStat" || task.OrderJson == "AlipayPayBack2")
- {
-
- }
- else
- {
- }
- }
- }
- public string SycnRedis()
- {
- WebCMSEntities db = new WebCMSEntities();
- List<TimedTasks> tasks = db.TimedTasks.Where(m => m.Status == 1).ToList();
- RedisDbconn.Instance.Clear("TimedTasks*");
- foreach (TimedTasks task in tasks)
- {
- RedisDbconn.Instance.AddList("TimedTasks", task.Id);
- task.Status = 0;
- RedisDbconn.Instance.Set("TimedTasks:" + task.Id, task);
- }
- List<TimedTasks> sptasks = db.TimedTasks.Where(m => m.SeoTitle == "customize" && m.ServerName == "SpServer" && m.Status == 1).ToList();
- RedisDbconn.Instance.Clear("TaskSpGet");
- foreach (TimedTasks task in sptasks)
- {
- task.Status = 0;
- RedisDbconn.Instance.Set("TimedTasks:" + task.Id, task);
- RedisDbconn.Instance.AddList("TaskSpGet", task.Id);
- TaskSpGetData spget = db.TaskSpGetData.FirstOrDefault(m => m.TaskId == task.Id) ?? new TaskSpGetData();
- RedisDbconn.Instance.Set("TaskSpGet:" + task.Id, spget);
- List<TaskSpFieldRelation> fields = db.TaskSpFieldRelation.Where(m => m.TaskId == task.Id).ToList();
- RedisDbconn.Instance.Clear("TaskSpGet:Fields:" + task.Id);
- foreach (TaskSpFieldRelation field in fields)
- {
- RedisDbconn.Instance.AddList("TaskSpGet:Fields:" + task.Id, new FieldRelationTable()
- {
- SourceFieldName = field.SourceFieldName,
- TargetFieldName = field.TargetFieldName,
- TargetFieldType = field.TargetFieldType,
- });
- }
- }
- db.Dispose();
- return "success";
- }
- public JobMqMsg GetJob(int taskid)
- {
- TimedTasks task = RedisDbconn.Instance.Get<TimedTasks>("TimedTasks:" + taskid) ?? new TimedTasks();
- WebCMSEntities db = new WebCMSEntities();
-
- JobMqMsg job = new JobMqMsg();
- job.OrderString = task.OrderJson;
- job.Id = task.Id;
- job.Note = task.Note;
- string jobJson = PublicFunction.ObjectToJsonString(job);
- db.SaveChanges();
- db.Dispose();
- Brand brand = new Brand();
- brand.Id = task.BrandId;
- TaskSpGetData data = RedisDbconn.Instance.Get<TaskSpGetData>("TaskSpGet:" + task.Id);
- List<FieldRelationTable> fields = RedisDbconn.Instance.GetList<FieldRelationTable>("TaskSpGet:Fields:" + task.Id, 1, 1000);
- brand.FieldRelation = fields;
- brand.TargetTableName = data.TargetTableName;
- brand.ReqType = data.ReqType;
- brand.Url = data.ReqUrl;
- brand.ReqParam = data.ReqParam;
- brand.FtpUserName = data.FtpUserName;
- brand.FtpPassword = data.FtpPassword;
- brand.CheckKey = data.CheckKey;
- brand.IsCheck = data.IsCheck == 1 ? true : false;
- job.BrandInfo = brand;
- return job;
- }
- }
|