diff --git a/Tiobon.Core.IServices/Ghre/IGhre_ExamServices.cs b/Tiobon.Core.IServices/Ghre/IGhre_ExamServices.cs index ef27a9ce..539515c2 100644 --- a/Tiobon.Core.IServices/Ghre/IGhre_ExamServices.cs +++ b/Tiobon.Core.IServices/Ghre/IGhre_ExamServices.cs @@ -34,5 +34,7 @@ namespace Tiobon.Core.IServices Task>> QueryRuleStaff(long examId); Task> ExportExcel(QueryExport body, string status); + + Task ExecuteExamOver(); } } \ No newline at end of file diff --git a/Tiobon.Core.Model/Models/Ghra/Ghra_Grade.cs b/Tiobon.Core.Model/Models/Ghra/Ghra_Grade.cs index a4d258da..e0b73b9e 100644 --- a/Tiobon.Core.Model/Models/Ghra/Ghra_Grade.cs +++ b/Tiobon.Core.Model/Models/Ghra/Ghra_Grade.cs @@ -13,7 +13,7 @@ *│ 此技术信息为本公司机密信息,未经本公司书面同意禁止向第三方披露. │ *│ 作者:SimonHsiao │ *└──────────────────────────────────┘ -*/ +*/ using System.ComponentModel; using System.ComponentModel.DataAnnotations; using SqlSugar; @@ -32,7 +32,8 @@ namespace Tiobon.Core.Model.Models /// /// TitleID /// - public int? GradeID { get; set; } + [SugarColumn(IsNullable = false, IsPrimaryKey = true, IsIdentity = false), Display(Name = "表主键")] + public int GradeID { get; set; } /// /// 编号 /// diff --git a/Tiobon.Core.Services/Ghre/Ghre_CourseServices.cs b/Tiobon.Core.Services/Ghre/Ghre_CourseServices.cs index fa9f7b27..87cbc7f6 100644 --- a/Tiobon.Core.Services/Ghre/Ghre_CourseServices.cs +++ b/Tiobon.Core.Services/Ghre/Ghre_CourseServices.cs @@ -347,6 +347,9 @@ public class Ghre_CourseServices : BaseServices().AnyAsync(x => x.CourseId == id && x.StudyStatus != Consts.DicStudyRecordStudyStatus.HAS_FINISH && x.CourseEndTime != null && x.CourseEndTime.Value.Date >= DateTime.Now.Date)) + return ServiceResult.OprateFailed($"课程【{entity.CourseName}({entity.CourseNo})】有学员正在学习中,暂不可{(status == Consts.DIC_COURSE_STATUS.DRAFT ? "取消发布" : "停用")}"); + } BasePoco ent = entity; @@ -403,7 +406,7 @@ public class Ghre_CourseServices : BaseServices new { it.ExamId }).ExecuteCommandAsync(); #endregion - if (entity.DateType == Consts.DicExamDateType.EXAM_DATE) + if (entity.DateType == DicExamDateType.EXAM_DATE) { courseEndTime = entity.EndTime.Value.Date.AddDays(1); courseTime = courseEndTime.AddDays(-(snap?.ValidityPeriod ?? 1)); @@ -1370,7 +1370,7 @@ public class Ghre_ExamServices : BaseServices dt) return ServiceResult.OprateFailed("考试尚未开始!"); @@ -1582,4 +1582,18 @@ public class Ghre_ExamServices : BaseServices>.OprateSuccess("查询成功!", data); } + + + public async Task ExecuteExamOver() + { + var now = Db.GetDate(); + var exams = await Db.Queryable().Where(x => + x.DateType == DicExamDateType.EXAM_DATE && + x.Status == DIC_EXAM_STATUS.RELEASED && + x.EndTime !=null&& + x.EndTime.Value.Date== now + ).ToListAsync(); + + return ServiceResult.OprateSuccess("提交成功!"); + } } \ No newline at end of file diff --git a/Tiobon.Core.Tasks/QuartzNet/Jobs/Job_Blogs_Quartz.cs b/Tiobon.Core.Tasks/QuartzNet/Jobs/Job_Blogs_Quartz.cs index d1df3621..22245dc5 100644 --- a/Tiobon.Core.Tasks/QuartzNet/Jobs/Job_Blogs_Quartz.cs +++ b/Tiobon.Core.Tasks/QuartzNet/Jobs/Job_Blogs_Quartz.cs @@ -1,33 +1,30 @@ using Tiobon.Core.IServices; using Quartz; -using System; -using System.Threading.Tasks; /// /// 这里要注意下,命名空间和程序集是一样的,不然反射不到 /// -namespace Tiobon.Core.Tasks -{ - public class Job_Tiobons_Quartz : JobBase, IJob - { - private readonly ITiobonArticleServices _TiobonArticleServices; +namespace Tiobon.Core.Tasks; + +public class Job_Tiobons_Quartz : JobBase, IJob +{ + private readonly IGhre_ExamServices _ghre_ExamServices; - public Job_Tiobons_Quartz(ITiobonArticleServices TiobonArticleServices, ITasksQzServices tasksQzServices, ITasksLogServices tasksLogServices) - : base(tasksQzServices, tasksLogServices) - { - _TiobonArticleServices = TiobonArticleServices; - } - public async Task Execute(IJobExecutionContext context) - { - var executeLog = await ExecuteJob(context, async () => await Run(context)); - } - public async Task Run(IJobExecutionContext context) - { - System.Console.WriteLine($"Job_Tiobons_Quartz 执行 {DateTime.Now.ToShortTimeString()}"); - //var list = await _TiobonArticleServices.Query(); - // 也可以通过数据库配置,获取传递过来的参数 - JobDataMap data = context.JobDetail.JobDataMap; - //int jobId = data.GetInt("JobParam"); - } + public Job_Tiobons_Quartz(IGhre_ExamServices ghre_ExamServices, ITasksQzServices tasksQzServices, ITasksLogServices tasksLogServices) + : base(tasksQzServices, tasksLogServices) + { + _ghre_ExamServices = ghre_ExamServices; + } + public async Task Execute(IJobExecutionContext context) + { + var executeLog = await ExecuteJob(context, async () => await Run(context)); + } + public async Task Run(IJobExecutionContext context) + { + Console.WriteLine($"Job_Tiobons_Quartz 执行 {DateTime.Now.ToShortTimeString()}"); + await _ghre_ExamServices.ExecuteExamOver(); + // 也可以通过数据库配置,获取传递过来的参数 + JobDataMap data = context.JobDetail.JobDataMap; + //int jobId = data.GetInt("JobParam"); } }