using CronExpressionDescriptor;
using NetAdmin.Domain.Dto.Sys.User;
using NetAdmin.Domain.Enums.Sys;
using HttpMethods = NetAdmin.Domain.Enums.HttpMethods;
using Options = CronExpressionDescriptor.Options;
namespace NetAdmin.Domain.Dto.Sys.Job;
///
/// 响应:查询计划作业
///
public record QueryJobRsp : Sys_Job
{
///
/// Cron 表达式描述
///
[JsonInclude]
public string CronDescription =>
ExpressionDescriptor.GetDescription(ExecutionCron, new Options { Locale = "zh-CN" });
///
[JsonInclude]
public new virtual string LastStatusCode =>
#pragma warning disable IDE0072
base.LastStatusCode switch {
#pragma warning restore IDE0072
null => null
, _ => (int)base.LastStatusCode.Value == Numbers.HTTP_STATUS_BIZ_FAIL
? nameof(ErrorCodes.Unhandled).ToLowerCamelCase()
: base.LastStatusCode.Value.ToString().ToLowerCamelCase()
};
///
[JsonIgnore(Condition = JsonIgnoreCondition.Never)]
public override DateTime CreatedTime { get; init; }
///
[JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)]
public override long? CreatedUserId { get; init; }
///
[JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)]
public override string CreatedUserName { get; init; }
///
[JsonIgnore(Condition = JsonIgnoreCondition.Never)]
public override bool Enabled { get; init; }
///
[JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)]
public override string ExecutionCron { get; init; }
///
[JsonIgnore(Condition = JsonIgnoreCondition.Never)]
public override HttpMethods HttpMethod { get; init; }
///
[JsonIgnore(Condition = JsonIgnoreCondition.Never)]
public override long Id { get; init; }
///
[JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)]
public override string JobName { get; init; }
///
[JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)]
public override long? LastDuration { get; init; }
///
[JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)]
public override DateTime? LastExecTime { get; init; }
///
[JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)]
public override DateTime? ModifiedTime { get; init; }
///
[JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)]
public override long? ModifiedUserId { get; init; }
///
[JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)]
public override string ModifiedUserName { get; init; }
///
[JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)]
public override DateTime? NextExecTime { get; init; }
///
[JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)]
public override long? NextTimeId { get; init; }
///
[JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)]
public override string RequestBody { get; init; }
///
[JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)]
public override string RequestHeader { get; init; }
///
[JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)]
public override string RequestUrl { get; init; }
///
[JsonIgnore(Condition = JsonIgnoreCondition.Never)]
public override JobStatues Status { get; init; }
///
[JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)]
public override string Summary { get; init; }
///
public new virtual QueryUserRsp User { get; init; }
///
[JsonIgnore(Condition = JsonIgnoreCondition.Never)]
public override long UserId { get; init; }
///
[JsonIgnore(Condition = JsonIgnoreCondition.Never)]
public override long Version { get; init; }
}