From 2e443952236040120aaff4d1ba62752bb9350413 Mon Sep 17 00:00:00 2001 From: xiaochanghai Date: Fri, 7 Mar 2025 15:04:04 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E8=80=83=E8=AF=95=E7=BB=93?= =?UTF-8?q?=E6=9D=9F=E8=87=AA=E5=8A=A8=E5=8F=91=E6=94=BE=E8=AF=81=E4=B9=A6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Ghre/IGhre_ExamRecordServices.cs | 8 +++-- .../Ghre/Ghre_ExamRecordServices.cs | 14 ++++++++ .../Jobs/Job_AutoIssueCertificate_Quartz.cs | 36 +++++++++++++++++++ 3 files changed, 56 insertions(+), 2 deletions(-) create mode 100644 Tiobon.Core.Tasks/QuartzNet/Jobs/Job_AutoIssueCertificate_Quartz.cs diff --git a/Tiobon.Core.IServices/Ghre/IGhre_ExamRecordServices.cs b/Tiobon.Core.IServices/Ghre/IGhre_ExamRecordServices.cs index 8bf7d7e7..53633113 100644 --- a/Tiobon.Core.IServices/Ghre/IGhre_ExamRecordServices.cs +++ b/Tiobon.Core.IServices/Ghre/IGhre_ExamRecordServices.cs @@ -1,7 +1,5 @@ using Tiobon.Core.Common; -using Tiobon.Core.IServices.BASE; using Tiobon.Core.Model; -using Tiobon.Core.Model.Models; namespace Tiobon.Core.IServices; @@ -32,4 +30,10 @@ public interface IGhre_ExamRecordServices : IBaseServices ModifyFinallyIsPass(string examRecordId, EditGhre_ExamRecordInput edit); Task SubmitAttachment(long examRecordId, List attachments); + + /// + /// 发放证书 + /// + /// + Task IssueCertificate(); } \ No newline at end of file diff --git a/Tiobon.Core.Services/Ghre/Ghre_ExamRecordServices.cs b/Tiobon.Core.Services/Ghre/Ghre_ExamRecordServices.cs index 3eb92945..83cec488 100644 --- a/Tiobon.Core.Services/Ghre/Ghre_ExamRecordServices.cs +++ b/Tiobon.Core.Services/Ghre/Ghre_ExamRecordServices.cs @@ -1441,4 +1441,18 @@ public class Ghre_ExamRecordServices : BaseServices + /// 发放证书 + /// + /// + public async Task IssueCertificate() + { + + //抓取当天提交考试的数据 + + return ServiceResult.OprateSuccess("发放成功!"); + } + #endregion } \ No newline at end of file diff --git a/Tiobon.Core.Tasks/QuartzNet/Jobs/Job_AutoIssueCertificate_Quartz.cs b/Tiobon.Core.Tasks/QuartzNet/Jobs/Job_AutoIssueCertificate_Quartz.cs new file mode 100644 index 00000000..d02f18d3 --- /dev/null +++ b/Tiobon.Core.Tasks/QuartzNet/Jobs/Job_AutoIssueCertificate_Quartz.cs @@ -0,0 +1,36 @@ +using Microsoft.Extensions.Logging; + +/// +/// 这里要注意下,命名空间和程序集是一样的,不然反射不到(任务类要去JobSetup添加注入) +/// +namespace Tiobon.Core.Tasks; + +public class Job_AutoIssueCertificate_Quartz : JobBase, IJob +{ + private readonly ILogger _logger; + private readonly IGhre_ExamRecordServices _services; + + public Job_AutoIssueCertificate_Quartz(ILogger logger, + ITasksQzServices tasksQzServices, + ITasksLogServices tasksLogServices, + IGhre_ExamRecordServices services) + : base(tasksQzServices, tasksLogServices) + { + _tasksQzServices = tasksQzServices; + _logger = logger; + _services = services; + } + public async Task Execute(IJobExecutionContext context) + { + // 可以直接获取 JobDetail 的值 + var jobKey = context.JobDetail.Key; + var jobId = jobKey.Name; + var executeLog = await ExecuteJob(context, async () => await Run(context, jobId.ObjToInt())); + + } + public async Task Run(IJobExecutionContext context, int jobid) + { + if (jobid > 0) + await _services.IssueCertificate(); + } +}