Bläddra i källkod

Merge branch 'feature/exam' into dev
合并冲突

guqiang 1 dag sedan
förälder
incheckning
d03ca22787

+ 1 - 2
src/Hotline.Application/Exam/QueryExtensions/ExamManages/UserExamQueryExtensions.cs

@@ -78,8 +78,7 @@ namespace Hotline.Application.Exam.QueryExtensions.ExamManages
             Expression<Func<ExamUserExam, bool>> expression = m => m.Id != null;
 
             expression = ExpressionableUtility.CreateExpression<ExamUserExam>()
-                .And(x=>x.ExamStatus == Share.Enums.Exams.EExamStatus.Complete)
-                .And(x=>x.Score == null)
+                .And(x=>x.ExamStatus == Share.Enums.Exams.EExamStatus.Absent)
             .ToExpression();
 
             return expression;

+ 2 - 2
src/Hotline.Application/Exam/Service/ExamManages/ExamManageService.cs

@@ -696,7 +696,7 @@ namespace Hotline.Application.Exam.Service.ExamManages
 
             userExams.ForEach(item =>
             {
-                item.ExamStatus = Share.Enums.Exams.EExamStatus.Complete;
+                item.ExamStatus = item.ExamStatus== Share.Enums.Exams.EExamStatus.NoStart? Share.Enums.Exams.EExamStatus.Absent: item.ExamStatus;
             });
 
             userExams.ToUpdate(_sessionContext);
@@ -708,7 +708,7 @@ namespace Hotline.Application.Exam.Service.ExamManages
         {
             var queryable = _repository.Queryable()
                 .WhereIF(entityQueryRequest != null && entityQueryRequest.Ids != null, x => entityQueryRequest.Ids.Contains(x.Id))
-                .Where(x => x.EndTime < DateTime.Now);
+                .Where(x => x.EndTime < DateTime.Now && x.ExamStatus != Share.Enums.Exams.EExamStatus.Complete);
             var examManages = await queryable.ToListAsync();
 
             examManages.ForEach(item =>

+ 1 - 1
src/Hotline.Application/Exam/Service/ExamManages/UserExamService.cs

@@ -1344,7 +1344,7 @@ namespace Hotline.Application.Exam.Service.ExamManages
                 Score = u.Score ?? 0,
                 Status = u.Status,
                 SortIndex = u.SortIndex,
-                ExamStatus = u.ExamStatus,
+                ExamStatus = u.ExamStatus == EExamStatus.Absent? EExamStatus.Complete: u.ExamStatus,
                 IsSuccess = u.IsCheck ? u.IsSuccess : null,
                 EndTime = e.EndTime,
                 StartTime = e.StartTime,

+ 6 - 1
src/Hotline.Share/Enums/Exams/EExamStatus.cs

@@ -18,6 +18,11 @@ namespace Hotline.Share.Enums.Exams
         /// 开始结束
         /// </summary>
         [Description("考试结束")]
-        Complete=2
+        Complete=2,
+        /// <summary>
+        /// 缺考
+        /// </summary>
+        [Description("缺考")]
+        Absent = 3
     }
 }