first commit

This commit is contained in:
2026-09-02 16:31:50 +08:00
commit a461727193
911 changed files with 692450 additions and 0 deletions
@@ -0,0 +1,86 @@
using JSMachine.WMS.Job.Enum;
namespace JSMachine.WMS.Job.JobAttributes
{
/// <summary>
/// Quartz 作业注册特性,描述作业名称、分组、触发方式和执行周期。
/// </summary>
[AttributeUsage(AttributeTargets.Class, Inherited = false, AllowMultiple = true)]
public sealed class JobAttribute : Attribute
{
// 默认配置
/// <summary>创建使用默认调度参数的作业特性。</summary>
public JobAttribute()
{
ScheduleType = ScheduleType.Simple;
Name = "MyJob";
Group = "MyGroup";
Description = "NoJobAttributeAndDefault";
StartTimeStr = null;
RepeatCount = 0;
IntervalMilliSeconds = 5000;
}
/// <summary>
/// Job的特性
/// </summary>
/// <param name="modeEnum">Job的Trigger的创建模式</param>
/// <param name="name">JobKeyName</param>
/// <param name="group">JobKeyGroup</param>
/// <param name="decription">JobDecription</param>
/// <param name="dateTimeOffset">Trigger开始时间</param>
/// <param name="repeatCount">重复次数(null为Forever)</param>
/// <param name="intervaMilliSeconds">间隔时间(毫秒)</param>
/// <summary>使用指定调度参数创建作业特性。</summary>
public JobAttribute(ScheduleType scheduleType
, string name
, string group
, string decription
, string dateTimeOffset
, int repeatCount
, int intervaMilliSeconds)
{
ScheduleType = scheduleType;
Name = name;
Description = decription;
Group = group;
StartTimeStr = dateTimeOffset;
RepeatCount = repeatCount;
IntervalMilliSeconds = intervaMilliSeconds;
}
/// <summary>
/// Job的Trigger的创建模式
/// Simple、Corn、Calendar、XMLConfig、JsonConfig
/// </summary>
public ScheduleType ScheduleType { get; set; }
/// <summary>
/// JobKeyName
/// </summary>
public string Name { get; set; }
/// <summary>
/// JobKeyGroup
/// </summary>
public string Group { get; set; }
/// <summary>
/// JobDescription
/// </summary>
public string Description { get; set; }
/// <summary>
/// 开始时间
/// 可转为时间的字符串,标准格式为"yyyy-MM-dd HH:mm:ss.fff"
/// null或string.Empty为立即开始
/// </summary>
public string StartTimeStr { get; set; }
/// <summary>
/// 重复次数,0为总是重复
/// </summary>
public int RepeatCount { get; set; }
/// <summary>
/// 任务执行间隔
/// </summary>
public int IntervalMilliSeconds { get; set; }
}
}