新增考试结束自动发放证书

master
xiaochanghai 4 months ago
parent 8d523107ab
commit 2e44395223
  1. 8
      Tiobon.Core.IServices/Ghre/IGhre_ExamRecordServices.cs
  2. 14
      Tiobon.Core.Services/Ghre/Ghre_ExamRecordServices.cs
  3. 36
      Tiobon.Core.Tasks/QuartzNet/Jobs/Job_AutoIssueCertificate_Quartz.cs

@ -1,7 +1,5 @@
using Tiobon.Core.Common; using Tiobon.Core.Common;
using Tiobon.Core.IServices.BASE;
using Tiobon.Core.Model; using Tiobon.Core.Model;
using Tiobon.Core.Model.Models;
namespace Tiobon.Core.IServices; namespace Tiobon.Core.IServices;
@ -32,4 +30,10 @@ public interface IGhre_ExamRecordServices : IBaseServices<Ghre_ExamRecord, Ghre_
Task<ServiceResult> ModifyFinallyIsPass(string examRecordId, EditGhre_ExamRecordInput edit); Task<ServiceResult> ModifyFinallyIsPass(string examRecordId, EditGhre_ExamRecordInput edit);
Task<ServiceResult> SubmitAttachment(long examRecordId, List<InsertGhre_AttachmentInput> attachments); Task<ServiceResult> SubmitAttachment(long examRecordId, List<InsertGhre_AttachmentInput> attachments);
/// <summary>
/// 发放证书
/// </summary>
/// <returns></returns>
Task<ServiceResult> IssueCertificate();
} }

@ -1441,4 +1441,18 @@ public class Ghre_ExamRecordServices : BaseServices<Ghre_ExamRecord, Ghre_ExamRe
return ServiceResult.OprateSuccess("保存成功!"); return ServiceResult.OprateSuccess("保存成功!");
} }
#endregion #endregion
#region 发放证书
/// <summary>
/// 发放证书
/// </summary>
/// <returns></returns>
public async Task<ServiceResult> IssueCertificate()
{
//抓取当天提交考试的数据
return ServiceResult.OprateSuccess("发放成功!");
}
#endregion
} }

@ -0,0 +1,36 @@
using Microsoft.Extensions.Logging;
/// <summary>
/// 这里要注意下,命名空间和程序集是一样的,不然反射不到(任务类要去JobSetup添加注入)
/// </summary>
namespace Tiobon.Core.Tasks;
public class Job_AutoIssueCertificate_Quartz : JobBase, IJob
{
private readonly ILogger<Job_URL_Quartz> _logger;
private readonly IGhre_ExamRecordServices _services;
public Job_AutoIssueCertificate_Quartz(ILogger<Job_URL_Quartz> 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();
}
}
Loading…
Cancel
Save