feat:完善job dto

This commit is contained in:
陈淳
2023-04-25 09:19:17 +08:00
parent 7d5a7e0fe8
commit 6a881e4613
6 changed files with 190 additions and 16 deletions

View File

@@ -36,10 +36,16 @@ namespace Yi.Furion.Application.Rbac.Services.Impl
/// </summary>
/// <returns></returns>
[HttpGet("")]
public PagedResultDto<SchedulerModel> GetList([FromQuery]TaskGetListInput input)
public PagedResultDto<TaskGetListOutput> GetList([FromQuery] TaskGetListInput input)
{
var data = _schedulerFactory.GetJobsOfModels().Skip(input.PageNum * input.PageSize).Take(input.PageSize).OrderByDescending(x => x.JobDetail.UpdatedTime).ToList();
return new PagedResultDto<SchedulerModel>(data.Count(), data);
var data = _schedulerFactory.GetJobsOfModels().Skip((input.PageNum - 1) * input.PageSize).Take(input.PageSize).OrderByDescending(x => x.JobDetail.UpdatedTime)
.ToList();
var output = data.Select(x => x.JobDetail).Adapt<List<TaskGetListOutput>>();
return new PagedResultDto<TaskGetListOutput>(data.Count(), output);
}
/// <summary>

View File

@@ -111,6 +111,25 @@ namespace Yi.Furion.Core.Rbac.DataSeeds
};
entities.Add(server);
//定时任务
MenuEntity task = new MenuEntity()
{
Id = SnowflakeHelper.NextId,
MenuName = "定时任务",
PermissionCode = "monitor:job:list",
MenuType = MenuTypeEnum.Menu,
Router = "job",
IsShow = true,
IsLink = false,
IsCache = true,
Component = "monitor/job/index",
MenuIcon = "server",
OrderNum = 97,
ParentId = monitoring.Id,
IsDeleted = false
};
entities.Add(task);
//系统工具
MenuEntity tool = new MenuEntity()

View File

@@ -2,11 +2,84 @@
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Text.Json.Serialization;
using System.Threading.Tasks;
namespace Yi.Furion.Core.Rbac.Dtos.Task
{
public class TaskGetListOutput
{
/// <summary>
/// 作业 Id
/// </summary>
public string JobId { get; internal set; }
/// <summary>
/// 作业组名称
/// </summary>
public string GroupName { get; internal set; }
/// <summary>
/// 作业处理程序类型
/// </summary>
/// <remarks>存储的是类型的 FullName</remarks>
public string JobType { get; internal set; }
/// <summary>
/// 作业处理程序类型所在程序集
/// </summary>
/// <remarks>存储的是程序集 Name</remarks>
public string AssemblyName { get; internal set; }
/// <summary>
/// 描述信息
/// </summary>
public string Description { get; internal set; }
/// <summary>
/// 是否采用并行执行
/// </summary>
/// <remarks>如果设置为 false那么使用串行执行</remarks>
public bool Concurrent { get; internal set; } = true;
/// <summary>
/// 是否扫描 IJob 实现类 [Trigger] 特性触发器
/// </summary>
public bool IncludeAnnotations { get; internal set; } = false;
/// <summary>
/// 作业信息额外数据
/// </summary>
public string Properties { get; internal set; } = "{}";
/// <summary>
/// 作业更新时间
/// </summary>
public DateTime? UpdatedTime { get; internal set; }
/// <summary>
/// 标记其他作业正在执行
/// </summary>
/// <remarks>当 <see cref="Concurrent"/> 为 false 时有效,也就是串行执行</remarks>
internal bool Blocked { get; set; } = false;
/// <summary>
/// 作业处理程序运行时类型
/// </summary>
internal string RuntimeJobType { get; set; }
/// <summary>
/// 作业信息额外数据运行时实例
/// </summary>
internal string RuntimeProperties { get; set; }
}
}

View File

@@ -366,6 +366,70 @@
Role输入创建对象
</summary>
</member>
<member name="P:Yi.Furion.Core.Rbac.Dtos.Task.TaskGetListOutput.JobId">
<summary>
作业 Id
</summary>
</member>
<member name="P:Yi.Furion.Core.Rbac.Dtos.Task.TaskGetListOutput.GroupName">
<summary>
作业组名称
</summary>
</member>
<member name="P:Yi.Furion.Core.Rbac.Dtos.Task.TaskGetListOutput.JobType">
<summary>
作业处理程序类型
</summary>
<remarks>存储的是类型的 FullName</remarks>
</member>
<member name="P:Yi.Furion.Core.Rbac.Dtos.Task.TaskGetListOutput.AssemblyName">
<summary>
作业处理程序类型所在程序集
</summary>
<remarks>存储的是程序集 Name</remarks>
</member>
<member name="P:Yi.Furion.Core.Rbac.Dtos.Task.TaskGetListOutput.Description">
<summary>
描述信息
</summary>
</member>
<member name="P:Yi.Furion.Core.Rbac.Dtos.Task.TaskGetListOutput.Concurrent">
<summary>
是否采用并行执行
</summary>
<remarks>如果设置为 false那么使用串行执行</remarks>
</member>
<member name="P:Yi.Furion.Core.Rbac.Dtos.Task.TaskGetListOutput.IncludeAnnotations">
<summary>
是否扫描 IJob 实现类 [Trigger] 特性触发器
</summary>
</member>
<member name="P:Yi.Furion.Core.Rbac.Dtos.Task.TaskGetListOutput.Properties">
<summary>
作业信息额外数据
</summary>
</member>
<member name="P:Yi.Furion.Core.Rbac.Dtos.Task.TaskGetListOutput.UpdatedTime">
<summary>
作业更新时间
</summary>
</member>
<member name="P:Yi.Furion.Core.Rbac.Dtos.Task.TaskGetListOutput.Blocked">
<summary>
标记其他作业正在执行
</summary>
<remarks><see cref="P:Yi.Furion.Core.Rbac.Dtos.Task.TaskGetListOutput.Concurrent"/> 为 false 时有效,也就是串行执行</remarks>
</member>
<member name="P:Yi.Furion.Core.Rbac.Dtos.Task.TaskGetListOutput.RuntimeJobType">
<summary>
作业处理程序运行时类型
</summary>
</member>
<member name="P:Yi.Furion.Core.Rbac.Dtos.Task.TaskGetListOutput.RuntimeProperties">
<summary>
作业信息额外数据运行时实例
</summary>
</member>
<member name="T:Yi.Furion.Core.Rbac.Dtos.User.UserCreateInputVo">
<summary>
User输入创建对象

View File

@@ -87,17 +87,29 @@
</el-row>
<el-table v-loading="loading" :data="jobList" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" align="center" />
<el-table-column label="任务编号" width="100" align="center" prop="jobId" />
<el-table-column label="任务名称" align="center" prop="jobName" :show-overflow-tooltip="true" />
<el-table-column label="任务组名" align="center" prop="jobGroup">
<template #default="scope">
<el-table-column label="任务Id" width="100" align="center" prop="jobId" />
<el-table-column label="任务组名" align="center" prop="groupName">
<!-- <template #default="scope">
<dict-tag :options="sys_job_group" :value="scope.row.jobGroup" />
</template>
</template> -->
</el-table-column>
<el-table-column label="调用目标字符串" align="center" prop="invokeTarget" :show-overflow-tooltip="true" />
<el-table-column label="程序集" align="center" prop="assemblyName" :show-overflow-tooltip="true" />
<el-table-column label="类型" align="center" prop="jobType" :show-overflow-tooltip="true" />
<el-table-column label="cron执行表达式" align="center" prop="cronExpression" :show-overflow-tooltip="true" />
<el-table-column label="状态" align="center">
<el-table-column label="毫秒间隔周期" align="center" prop="cronExpression" :show-overflow-tooltip="true" />
<el-table-column label="参数" align="center" prop="properties" :show-overflow-tooltip="true" />
<el-table-column label="是否并行" align="center" prop="concurrent" :show-overflow-tooltip="true" />
<el-table-column label="最后更新时间" align="center" prop="updatedTime" :show-overflow-tooltip="true" />
<el-table-column label="描述" align="center" prop="description" :show-overflow-tooltip="true" />
<!-- <el-table-column label="状态" align="center">
<template #default="scope">
<el-switch
v-model="scope.row.status"
@@ -106,7 +118,7 @@
@change="handleStatusChange(scope.row)"
></el-switch>
</template>
</el-table-column>
</el-table-column> -->
<el-table-column label="操作" align="center" width="200" class-name="small-padding fixed-width">
<template #default="scope">
<el-tooltip content="修改" placement="top">