添加项目文件。

This commit is contained in:
2023-03-13 15:00:34 +08:00
parent 42bf06ca3e
commit 1d73df3235
1205 changed files with 185078 additions and 0 deletions

View File

@@ -0,0 +1,23 @@
using JNPF.Common.Filter;
using JNPF.DependencyInjection;
namespace JNPF.TaskScheduler.Entitys.Dto.TaskScheduler;
[SuppressSniffer]
public class TaskLogInput : PageInputBase
{
/// <summary>
/// 执行结果.
/// </summary>
public int? runResult { get; set; }
/// <summary>
/// 开始时间.
/// </summary>
public long? startTime { get; set; }
/// <summary>
/// 结束时间.
/// </summary>
public long? endTime { get; set; }
}

View File

@@ -0,0 +1,44 @@
using JNPF.DependencyInjection;
namespace JNPF.TaskScheduler.Entitys.Dto.TaskScheduler;
[SuppressSniffer]
public class TimeTaskCrInput
{
/// <summary>
/// 任务名称.
/// </summary>
public string fullName { get; set; }
/// <summary>
/// 执行类型.
/// </summary>
public string executeType { get; set; }
/// <summary>
/// 备注.
/// </summary>
public string description { get; set; }
/// <summary>
/// 执行内容.
/// </summary>
public string executeContent { get; set; }
/// <summary>
/// 排序.
/// </summary>
public long? sortCode { get; set; }
/// <summary>
/// 编码.
/// </summary>
public string enCode { get; set; }
/// <summary>
/// 启用标识.
/// </summary>
public int? enabledMark { get; set; }
}

View File

@@ -0,0 +1,47 @@
using JNPF.DependencyInjection;
namespace JNPF.TaskScheduler.Entitys.Dto.TaskScheduler;
[SuppressSniffer]
public class TimeTaskInfoOutput
{
/// <summary>
/// 任务名称.
/// </summary>
public string fullName { get; set; }
/// <summary>
/// 任务类型(1-请求接口2-存储过程).
/// </summary>
public string executeType { get; set; }
/// <summary>
/// 功能描述.
/// </summary>
public string description { get; set; }
/// <summary>
/// 执行内容.
/// </summary>
public string executeContent { get; set; }
/// <summary>
/// 排序.
/// </summary>
public long? sortCode { get; set; }
/// <summary>
/// 编码.
/// </summary>
public string enCode { get; set; }
/// <summary>
/// id.
/// </summary>
public string id { get; set; }
/// <summary>
/// 执行状态(1-正常,0-异常).
/// </summary>
public int? enabledMark { get; set; }
}

View File

@@ -0,0 +1,62 @@
using JNPF.DependencyInjection;
namespace JNPF.TaskScheduler.Entitys.Dto.TaskScheduler;
[SuppressSniffer]
public class TimeTaskListOutput
{
/// <summary>
/// 任务标题.
/// </summary>
public string fullName { get; set; }
/// <summary>
/// 任务编码.
/// </summary>
public string enCode { get; set; }
/// <summary>
/// 执行次数.
/// </summary>
public string runCount { get; set; } = "0";
/// <summary>
/// 执行说明.
/// </summary>
public string description { get; set; }
/// <summary>
/// 下次运行时间(时间戳).
/// </summary>
public DateTime? nextRunTime { get; set; }
/// <summary>
/// 最后执行时间(时间戳).
/// </summary>
public DateTime? lastRunTime { get; set; }
/// <summary>
/// id.
/// </summary>
public string id { get; set; }
/// <summary>
/// 执行状态(1-正常,0-异常).
/// </summary>
public int? enabledMark { get; set; }
/// <summary>
/// 排序.
/// </summary>
public long? sortCode { get; set; }
/// <summary>
/// 开始时间.
/// </summary>
public DateTime? startTime { get; set; }
/// <summary>
/// 结束时间.
/// </summary>
public DateTime? endTime { get; set; }
}

View File

@@ -0,0 +1,27 @@
using JNPF.DependencyInjection;
namespace JNPF.TaskScheduler.Entitys.Dto.TaskScheduler;
[SuppressSniffer]
public class TimeTaskTaskLogListOutput
{
/// <summary>
/// 执行说明.
/// </summary>
public string description { get; set; }
/// <summary>
/// id.
/// </summary>
public string id { get; set; }
/// <summary>
/// 执行结果.
/// </summary>
public int runResult { get; set; }
/// <summary>
/// 执行时间.
/// </summary>
public DateTime? runTime { get; set; }
}

View File

@@ -0,0 +1,13 @@
using JNPF.DependencyInjection;
namespace JNPF.TaskScheduler.Entitys.Dto.TaskScheduler;
[SuppressSniffer]
public class TimeTaskUpInput:TimeTaskCrInput
{
/// <summary>
/// id.
/// </summary>
public string id { get; set; }
}

View File

@@ -0,0 +1,76 @@
using JNPF.Common.Const;
using JNPF.Common.Contracts;
using SqlSugar;
namespace JNPF.TaskScheduler.Entitys.Entity;
/// <summary>
/// 定时任务
/// 版 本V3.2
/// 版 权拓通智联科技有限公司http://www.tuotong-tech.com
/// 日 期2021-06-01 .
/// </summary>
[SugarTable("BASE_TIMETASK")]
[Tenant(ClaimConst.TENANTID)]
public class TimeTaskEntity : CLDEntityBase
{
/// <summary>
/// 任务编码.
/// </summary>
[SugarColumn(ColumnName = "F_ENCODE")]
public string EnCode { get; set; }
/// <summary>
/// 任务名称.
/// </summary>
[SugarColumn(ColumnName = "F_FULLNAME")]
public string FullName { get; set; }
/// <summary>
/// 执行类型【0:Api 1:Sql 2:本地方法】.
/// </summary>
[SugarColumn(ColumnName = "F_EXECUTETYPE")]
public string ExecuteType { get; set; }
/// <summary>
/// 执行内容.
/// </summary>
[SugarColumn(ColumnName = "F_EXECUTECONTENT")]
public string ExecuteContent { get; set; }
/// <summary>
/// 执行周期.
/// </summary>
[SugarColumn(ColumnName = "F_EXECUTECYCLEJSON")]
public string ExecuteCycleJson { get; set; }
/// <summary>
/// 最后运行时间.
/// </summary>
[SugarColumn(ColumnName = "F_LASTRUNTIME")]
public DateTime? LastRunTime { get; set; }
/// <summary>
/// 下次运行时间.
/// </summary>
[SugarColumn(ColumnName = "F_NEXTRUNTIME")]
public DateTime? NextRunTime { get; set; }
/// <summary>
/// 运行次数.
/// </summary>
[SugarColumn(ColumnName = "F_RUNCOUNT")]
public int? RunCount { get; set; } = 0;
/// <summary>
/// 描述.
/// </summary>
[SugarColumn(ColumnName = "F_DESCRIPTION")]
public string Description { get; set; }
/// <summary>
/// 排序码.
/// </summary>
[SugarColumn(ColumnName = "F_SORTCODE")]
public long? SortCode { get; set; }
}

View File

@@ -0,0 +1,40 @@
using JNPF.Common.Const;
using JNPF.Common.Contracts;
using SqlSugar;
namespace JNPF.TaskScheduler.Entitys.Entity;
/// <summary>
/// 定时任务日志
/// 版 本V3.2
/// 版 权拓通智联科技有限公司http://www.tuotong-tech.com
/// 日 期2021-06-01 .
/// </summary>
[SugarTable("BASE_TIMETASKLOG")]
[Tenant(ClaimConst.TENANTID)]
public class TimeTaskLogEntity : EntityBase<string>
{
/// <summary>
/// 定时任务主键.
/// </summary>
[SugarColumn(ColumnName = "F_TASKID")]
public string TaskId { get; set; }
/// <summary>
/// 执行时间.
/// </summary>
[SugarColumn(ColumnName = "F_RUNTIME")]
public DateTime? RunTime { get; set; }
/// <summary>
/// 执行结果.
/// </summary>
[SugarColumn(ColumnName = "F_RUNRESULT")]
public int? RunResult { get; set; }
/// <summary>
/// 执行说明.
/// </summary>
[SugarColumn(ColumnName = "F_DESCRIPTION")]
public string Description { get; set; }
}

View File

@@ -0,0 +1,23 @@
namespace JNPF.TaskScheduler.Entitys.Enum
{
/// <summary>
/// http请求类型.
/// </summary>
public enum RequestTypeEnum
{
/// <summary>
/// Api数据.
/// </summary>
Api = 1,
/// <summary>
/// SQL操作.
/// </summary>
Sql = 2,
/// <summary>
/// 执行本地任务.
/// </summary>
Run = 3,
}
}

View File

@@ -0,0 +1,18 @@
using JNPF.Common.Extension;
using JNPF.Common.Security;
using JNPF.TaskScheduler.Entitys.Dto.TaskScheduler;
using JNPF.TaskScheduler.Entitys.Entity;
using JNPF.TaskScheduler.Entitys.Model;
using Mapster;
namespace JNPF.TaskScheduler.Entitys.Mapper;
public class Mapper : IRegister
{
public void Register(TypeAdapterConfig config)
{
config.ForType<TimeTaskEntity, TimeTaskListOutput>()
.Map(dest => dest.startTime, src => src.ExecuteContent.ToObject<ContentModel>().startTime.ParseToLong().TimeStampToDateTime())
.Map(dest => dest.endTime, src => src.ExecuteContent.ToObject<ContentModel>().endTime.IsNotEmptyOrNull() ? src.ExecuteContent.ToObject<ContentModel>().endTime.ParseToLong().TimeStampToDateTime() : new DateTime());
}
}

View File

@@ -0,0 +1,82 @@
using JNPF.DependencyInjection;
using SqlSugar;
namespace JNPF.TaskScheduler.Entitys.Model;
[SuppressSniffer]
public class ContentModel
{
/// <summary>
/// 表达式.
/// </summary>
public string cron { get; set; }
/// <summary>
/// id.
/// </summary>
public string interfaceId { get; set; }
/// <summary>
/// 接口名.
/// </summary>
public string interfaceName { get; set; }
/// <summary>
/// 请求参数.
/// </summary>
public List<InterfaceParameter> parameter { get; set; }
/// <summary>
/// 当前用户TOKEN.
/// </summary>
public string Token { get; set; }
/// <summary>
/// 本地任务id.
/// </summary>
public string localHostTaskId { get; set; }
/// <summary>
/// 租户ID.
/// </summary>
public string TenantId { get; set; }
/// <summary>
/// 租户数据库名称.
/// </summary>
public string TenantDbName { get; set; }
/// <summary>
/// 开始时间.
/// </summary>
public long? startTime { get; set; }
/// <summary>
/// 结束时间.
/// </summary>
public string endTime { get; set; }
/// <summary>
/// 数据库连接.
/// </summary>
public ConnectionConfigOptions ConnectionConfig { get; set; }
}
[SuppressSniffer]
public class InterfaceParameter
{
/// <summary>
/// 字段.
/// </summary>
public string field { get; set; }
/// <summary>
/// 默认值.
/// </summary>
public string defaultValue { get; set; }
/// <summary>
/// 值.
/// </summary>
public string value { get; set; }
}

View File

@@ -0,0 +1,74 @@
using JNPF.DependencyInjection;
using JNPF.TaskScheduler.Entitys.Enum;
namespace JNPF.TaskScheduler.Entitys.Model;
[SuppressSniffer]
public class TaskMethodInfo
{
/// <summary>
/// id.
/// </summary>
public string id { get; set; }
/// <summary>
/// 方法名.
/// </summary>
public string MethodName { get; set; }
/// <summary>
/// 方法所属类的Type对象.
/// </summary>
public Type DeclaringType { get; set; }
/// <summary>
/// 任务名称.
/// </summary>
public string fullName { get; set; }
/// <summary>
/// 只执行一次.
/// </summary>
public bool DoOnce { get; set; } = false;
/// <summary>
/// 立即执行(默认等待启动).
/// </summary>
public bool StartNow { get; set; } = false;
/// <summary>
/// 执行类型(并行、列队).
/// </summary>
public SpareTimeExecuteTypes ExecuteType { get; set; }
/// <summary>
/// 执行间隔时间(单位秒).
/// </summary>
public int Interval { get; set; }
/// <summary>
/// Cron表达式.
/// </summary>
public string cron { get; set; }
/// <summary>
/// 定时器类型.
/// </summary>
public SpareTimeTypes TimerType { get; set; }
/// <summary>
/// 请求url.
/// </summary>
public string RequestUrl { get; set; }
/// <summary>
/// 请求类型.
/// </summary>
/// <example>2.</example>
public RequestTypeEnum RequestType { get; set; }
/// <summary>
/// 备注.
/// </summary>
public string Remark { get; set; }
}

View File

@@ -0,0 +1,15 @@
<Project Sdk="Microsoft.NET.Sdk">
<Import Project="$(SolutionDir)\common.props" />
<PropertyGroup>
<TargetFramework>net6.0</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
<GenerateDocumentationFile>False</GenerateDocumentationFile>
</PropertyGroup>
<ItemGroup>
<ProjectReference Include="..\..\common\Tnb.Common\Tnb.Common.csproj" />
</ItemGroup>
</Project>