From 570eb57727854078f06238bb17ec9f7f7511a3a7 Mon Sep 17 00:00:00 2001 From: NOBB <2855813844@qq.com> Date: Thu, 28 Aug 2025 00:26:04 +0800 Subject: [PATCH 1/2] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E5=AE=9A=E6=97=B6?= =?UTF-8?q?=E4=BB=BB=E5=8A=A1=E6=97=A0=E6=B3=95=E6=AD=A3=E5=B8=B8=E6=9B=B4?= =?UTF-8?q?=E6=96=B0=E7=9A=84=E4=B8=B4=E6=97=B6=E8=A7=A3=E5=86=B3=E6=96=B9?= =?UTF-8?q?=E6=A1=88?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Admin.NET.Application/job/DemoJob.cs | 44 +++++++++++++++++++ .../Admin.NET.Core/SqlSugar/SqlSugarSetup.cs | 5 +++ 2 files changed, 49 insertions(+) create mode 100644 Admin.NET/Admin.NET.Application/job/DemoJob.cs diff --git a/Admin.NET/Admin.NET.Application/job/DemoJob.cs b/Admin.NET/Admin.NET.Application/job/DemoJob.cs new file mode 100644 index 000000000..38420522e --- /dev/null +++ b/Admin.NET/Admin.NET.Application/job/DemoJob.cs @@ -0,0 +1,44 @@ +// Admin.NET 项目的版权、商标、专利和其他相关权利均受相应法律法规的保护。使用本项目应遵守相关法律法规和许可证的要求。 +// +// 本项目主要遵循 MIT 许可证和 Apache 许可证(版本 2.0)进行分发和使用。许可证位于源代码树根目录中的 LICENSE-MIT 和 LICENSE-APACHE 文件。 +// +// 不得利用本项目从事危害国家安全、扰乱社会秩序、侵犯他人合法权益等法律法规禁止的活动!任何基于本项目二次开发而产生的一切法律纠纷和责任,我们不承担任何责任! + +using Admin.NET.Core.Service; +using Furion.Schedule; +using Microsoft.Extensions.Logging; +using SqlSugar; + + +namespace Admin.NET.Core; + +/// +/// 有道云笔记签到作业任务 +/// +// [DailyAt] //每天特定小时开始作业触发器特性 +[JobDetail("job_Demo", Description = "Demo定时任务", GroupName = "Demo", Concurrent = false)] +[Daily(TriggerId = "trigger_Demo", Description = "Demo定时任务", RunOnStart = false)] +public class DemoJob(IServiceScopeFactory scopeFactory, ILoggerFactory loggerFactory) : IJob +{ + private readonly ILogger _logger = loggerFactory.CreateLogger(CommonConst.SysLogCategoryName); + + public Task ExecuteAsync(JobExecutingContext context, CancellationToken stoppingToken) + { + using var serviceScope = scopeFactory.CreateScope(); + + var db = serviceScope.ServiceProvider.GetRequiredService().CopyNew(); + var sysConfigService = serviceScope.ServiceProvider.GetRequiredService(); + + string msg = $"【{DateTime.Now}】签到成功"; + var originColor = Console.ForegroundColor; + Console.ForegroundColor = ConsoleColor.Yellow; + Console.WriteLine(msg); + Console.ForegroundColor = originColor; + + // 自定义日志 + _logger.LogInformation(msg); + _logger.LogInformation($"【{DateTime.Now}】签到成功"); + return Task.CompletedTask; + } +} + diff --git a/Admin.NET/Admin.NET.Core/SqlSugar/SqlSugarSetup.cs b/Admin.NET/Admin.NET.Core/SqlSugar/SqlSugarSetup.cs index 8d8e58b05..c7cf71796 100644 --- a/Admin.NET/Admin.NET.Core/SqlSugar/SqlSugarSetup.cs +++ b/Admin.NET/Admin.NET.Core/SqlSugar/SqlSugarSetup.cs @@ -418,6 +418,11 @@ public static class SqlSugarSetup var entityTypes = GetEntityTypesForInit(config); InitializeTables(dbProvider, entityTypes, config); } + + // 使用 SqlSugar 的 Truncate 方法 + dbProvider.DbMaintenance.TruncateTable("SysJobDetail"); + dbProvider.DbMaintenance.TruncateTable("SysJobTrigger"); + // Log.Information("已清空 SysJobDetail, SysJobTrigger 表"); // 初始化视图 if (config.DbSettings.EnableInitView) InitView(dbProvider); -- Gitee From 155a5196bc18de4fbe9f95be846b0e9ca2166c23 Mon Sep 17 00:00:00 2001 From: NOBB <2855813844@qq.com> Date: Thu, 28 Aug 2025 00:27:04 +0800 Subject: [PATCH 2/2] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E6=96=87=E4=BB=B6?= =?UTF-8?q?=E5=A4=B9=E5=90=8D=E7=A7=B0=E7=BB=9F=E4=B8=80=E5=A4=A7=E5=86=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Admin.NET/Admin.NET.Application/{job => Job}/DemoJob.cs | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename Admin.NET/Admin.NET.Application/{job => Job}/DemoJob.cs (100%) diff --git a/Admin.NET/Admin.NET.Application/job/DemoJob.cs b/Admin.NET/Admin.NET.Application/Job/DemoJob.cs similarity index 100% rename from Admin.NET/Admin.NET.Application/job/DemoJob.cs rename to Admin.NET/Admin.NET.Application/Job/DemoJob.cs -- Gitee