服务端的TigerApi 框架,基于.NET6 2024 版本
Ben Lin
2024-10-28 20a0c7b19c248617fb1852a63834bb668831f86e
Tiger.Business/Services/Base/InterfaceServiceNew.cs
@@ -6,6 +6,7 @@
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using System.Reflection;
using System.Security.Cryptography;
using System.Text;
using System.Threading;
@@ -324,14 +325,22 @@
                {
                    JobManager.AddJob<TJob>((s) => GenerateSchedule(jobParam.Args, s.WithName(jobParam.JobName)));
                    string guid = Guid.NewGuid().ToString("N");
                    TSK_JOB job = Biz.Db.Queryable<TSK_JOB>().Where(x => x.JobName == jobParam.JobName).First() ?? new()
                    if (Biz.Db.Queryable<TSK_JOB>().Any(x =>
                    (x.JobName != jobParam.JobName && x.JobType == jobParam.DataType) ||
                    (x.JobName == jobParam.JobName && x.JobType != jobParam.DataType)))
                    {
                        apiAction.IsSuccessed = false;
                        apiAction.LocaleMsg = new($"相同的类名不能有不同的任务名或者相同的任务名不能有不同的类名");
                        return apiAction;
                    }
                    TSK_JOB job = Biz.Db.Queryable<TSK_JOB>().Where(x => x.JobName == jobParam.JobName && x.JobType == jobParam.DataType).First() ?? new()
                    {
                        ID = guid,
                        Remark = jobParam.Remark,
                        JobType = jobParam.JobName,
                        AssemblyName = jobParam.AssemblyName,
                        JobName = jobParam.JobName,
                    };
                    job.Remark = jobParam.Remark;
                    job.JobType = jobParam.DataType;
                    job.AssemblyName = jobParam.AssemblyName;
                    job.JobName = jobParam.JobName;
                    var trigger = Biz.Db.Queryable<TSK_TRIG>().Where(x => x.JobId == job.ID).First() ?? new TSK_TRIG()
                    {
                        JobId = guid,
@@ -345,7 +354,7 @@
                    var dbTran = db.UseTran(() =>
                    {
                        var y = db.Storageable(job)
                           .WhereColumns(t => new { t.JobName, t.GHOST_ROW })
                           .WhereColumns(t => new { t.JobName,t.JobType, t.GHOST_ROW })
                           .ToStorage();
                        y.AsInsertable.ExecuteCommand();
                        y.AsUpdateable.IgnoreColumns(x => x.ID).ExecuteCommand();
@@ -409,7 +418,7 @@
                var jobs = Biz.Db.Queryable<TSK_JOB>().IncludesAllFirstLayer().ToList();
                foreach (var job in jobs)
                {
                    if (job.JobName == "fU9C_MES_GetWo" || job.JobName == "fTest")
                    //if (job.JobName == "fU9C_MES_GetWo" || job.JobName == "fTest")
                    {
                        Type type = Type.GetType($"{job.AssemblyName}.{job.JobType},{job.AssemblyName}", throwOnError: true);
                        dynamic _type = Activator.CreateInstance(type);
@@ -437,7 +446,7 @@
        /// <returns></returns>
        private Schedule Schedule<TJob>(TJob entity, string JobName, Registry registry) where TJob : class, ITJob
        {
            return registry.Schedule<TJob>().WithName(typeof(TJob).Name);
            return registry.Schedule<TJob>().WithName(JobName);
        }
        /// <summary>