From a9fa46095f6b79a43c2a0b73ee177c8342b68591 Mon Sep 17 00:00:00 2001 From: bairubing Date: Wed, 15 Jan 2025 14:42:41 +0800 Subject: [PATCH] =?UTF-8?q?=F0=9F=98=8E=E6=96=B0=E5=A2=9E=E5=AE=9A?= =?UTF-8?q?=E6=97=B6=E4=BB=BB=E5=8A=A1=E6=97=A5=E5=BF=97=E6=9C=8D=E5=8A=A1?= =?UTF-8?q?=EF=BC=8C=E5=89=8D=E7=AB=AF=E9=A1=B5=E9=9D=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Entity/ScheduledTaskLog.cs | 46 +++++ .../Service/Log/Dto/PageTaskLogInput.cs | 28 +++ .../Service/Log/ScheduledTaskLogService.cs | 63 ++++++ .../Web/src/api/log/scheduledTaskLog.ts | 18 ++ .../src/views/log/scheduledTaskLog/index.vue | 185 ++++++++++++++++++ 5 files changed, 340 insertions(+) create mode 100644 admin.net.pro/Admin.NET/Vistar.Application/Entity/ScheduledTaskLog.cs create mode 100644 admin.net.pro/Admin.NET/Vistar.Application/Service/Log/Dto/PageTaskLogInput.cs create mode 100644 admin.net.pro/Admin.NET/Vistar.Application/Service/Log/ScheduledTaskLogService.cs create mode 100644 admin.net.pro/Web/src/api/log/scheduledTaskLog.ts create mode 100644 admin.net.pro/Web/src/views/log/scheduledTaskLog/index.vue diff --git a/admin.net.pro/Admin.NET/Vistar.Application/Entity/ScheduledTaskLog.cs b/admin.net.pro/Admin.NET/Vistar.Application/Entity/ScheduledTaskLog.cs new file mode 100644 index 0000000..f8d7973 --- /dev/null +++ b/admin.net.pro/Admin.NET/Vistar.Application/Entity/ScheduledTaskLog.cs @@ -0,0 +1,46 @@ +// Admin.NET 项目的版权、商标、专利和其他相关权利均受相应法律法规的保护。使用本项目应遵守相关法律法规和许可证的要求。 +// +// 本项目主要遵循 MIT 许可证和 Apache 许可证(版本 2.0)进行分发和使用。许可证位于源代码树根目录中的 LICENSE-MIT 和 LICENSE-APACHE 文件。 +// +// 不得利用本项目从事危害国家安全、扰乱社会秩序、侵犯他人合法权益等法律法规禁止的活动!任何基于本项目二次开发而产生的一切法律纠纷和责任,我们不承担任何责任! + +using Admin.NET.Core; +using SqlSugar; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Vistar.Application.Entity; + +/// +/// 定时任务日志表 +/// +[SugarTable(null, "定时任务日志表")] +[SysTable] +[LogTable] +public class ScheduledTaskLog +{ + public long Id { get; set; } + + /// + /// 日志时间 + /// + public DateTime LogDateTime { get; set; } + + /// + /// 任务名称 + /// + public string? TaskName { get; set; } + + /// + /// 返回结果 + /// + public string? ReturnResult { get; set; } + + /// + /// 操作用时(毫秒) + /// + public long Elapsed { get; set; } +} diff --git a/admin.net.pro/Admin.NET/Vistar.Application/Service/Log/Dto/PageTaskLogInput.cs b/admin.net.pro/Admin.NET/Vistar.Application/Service/Log/Dto/PageTaskLogInput.cs new file mode 100644 index 0000000..1e10b6c --- /dev/null +++ b/admin.net.pro/Admin.NET/Vistar.Application/Service/Log/Dto/PageTaskLogInput.cs @@ -0,0 +1,28 @@ +// Admin.NET 项目的版权、商标、专利和其他相关权利均受相应法律法规的保护。使用本项目应遵守相关法律法规和许可证的要求。 +// +// 本项目主要遵循 MIT 许可证和 Apache 许可证(版本 2.0)进行分发和使用。许可证位于源代码树根目录中的 LICENSE-MIT 和 LICENSE-APACHE 文件。 +// +// 不得利用本项目从事危害国家安全、扰乱社会秩序、侵犯他人合法权益等法律法规禁止的活动!任何基于本项目二次开发而产生的一切法律纠纷和责任,我们不承担任何责任! + +using Admin.NET.Core; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Vistar.Application.Service.Log.Dto; +public class PageTaskLogInput : BasePageInput +{ + /// + /// 开始时间 + /// + public DateTime? StartTime { get; set; } + + /// + /// 结束时间 + /// + public DateTime? EndTime { get; set; } + + public string TaskName { get; set; } +} diff --git a/admin.net.pro/Admin.NET/Vistar.Application/Service/Log/ScheduledTaskLogService.cs b/admin.net.pro/Admin.NET/Vistar.Application/Service/Log/ScheduledTaskLogService.cs new file mode 100644 index 0000000..f0af710 --- /dev/null +++ b/admin.net.pro/Admin.NET/Vistar.Application/Service/Log/ScheduledTaskLogService.cs @@ -0,0 +1,63 @@ +// Admin.NET 项目的版权、商标、专利和其他相关权利均受相应法律法规的保护。使用本项目应遵守相关法律法规和许可证的要求。 +// +// 本项目主要遵循 MIT 许可证和 Apache 许可证(版本 2.0)进行分发和使用。许可证位于源代码树根目录中的 LICENSE-MIT 和 LICENSE-APACHE 文件。 +// +// 不得利用本项目从事危害国家安全、扰乱社会秩序、侵犯他人合法权益等法律法规禁止的活动!任何基于本项目二次开发而产生的一切法律纠纷和责任,我们不承担任何责任! + +using Admin.NET.Core; +using Furion.DependencyInjection; +using Furion.DynamicApiController; +using Microsoft.AspNetCore.Mvc; +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using Vistar.Application.Entity; +using Vistar.Application.Service.Log.Dto; + +namespace Vistar.Application.Service.Log; + +/// +/// 定时任务日志服务 🧩 +/// +[ApiDescriptionSettings(Order = 360, Description = "定时任务日志服务")] +public class ScheduledTaskLogService : IDynamicApiController, ITransient +{ + private readonly SqlSugarRepository _scheduledTaskLogRep; + + public ScheduledTaskLogService(SqlSugarRepository scheduledTaskLogRep) + { + _scheduledTaskLogRep = scheduledTaskLogRep; + } + + /// + /// 获取操作日志分页列表 🔖 + /// + /// + [SuppressMonitor] + [DisplayName("获取操作日志分页列表")] + public async Task> Page(PageTaskLogInput input) + { + return await _scheduledTaskLogRep.AsQueryable() + .WhereIF(!string.IsNullOrWhiteSpace(input.StartTime.ToString()), u => u.LogDateTime >= input.StartTime) + .WhereIF(!string.IsNullOrWhiteSpace(input.EndTime.ToString()), u => u.LogDateTime <= input.EndTime) + .WhereIF(!string.IsNullOrWhiteSpace(input.TaskName), u => u.TaskName == input.TaskName) + .ToPagedListAsync(input.Page, input.PageSize); + } + + /// + /// 获取日志详情 🔖 + /// + /// + [SuppressMonitor] + [DisplayName("获取日志详情")] + public async Task GetDetail(long id) + { + var data= await _scheduledTaskLogRep.AsQueryable().Where(x => x.Id == id).FirstAsync(); + + return data.ReturnResult; + } + +} diff --git a/admin.net.pro/Web/src/api/log/scheduledTaskLog.ts b/admin.net.pro/Web/src/api/log/scheduledTaskLog.ts new file mode 100644 index 0000000..1b2ee11 --- /dev/null +++ b/admin.net.pro/Web/src/api/log/scheduledTaskLog.ts @@ -0,0 +1,18 @@ +import request from '/@/utils/request'; +enum Api { + PageScheduledTaskLog = '/api/scheduledTaskLog/page', + Detail = '/api/scheduledTaskLog/detail', +} + +export const PageScheduledTaskLog = (params?: any) => + request({ + url: Api.PageScheduledTaskLog, + method: 'post', + data: params, + }); + export const Detail = (id?: any) => + request({ + url: Api.Detail+"/"+id, + method: 'Get', + data: id, + }); diff --git a/admin.net.pro/Web/src/views/log/scheduledTaskLog/index.vue b/admin.net.pro/Web/src/views/log/scheduledTaskLog/index.vue new file mode 100644 index 0000000..e1ba12a --- /dev/null +++ b/admin.net.pro/Web/src/views/log/scheduledTaskLog/index.vue @@ -0,0 +1,185 @@ + + + \ No newline at end of file