From c1c1f3d934a06ab7ad2f24d106eb6814cd680d8e Mon Sep 17 00:00:00 2001 From: tanglong <842690096@qq.com> Date: Tue, 12 Aug 2025 10:28:07 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BD=9C=E4=B8=9A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- WeChatApplet/Services/Impl/HomeWorkService.cs | 23 +++++++++++++--- .../Services/Impl/PatriarchService.cs | 27 +++++++++++++++---- .../Services/Interface/IHomeWorkService.cs | 3 ++- .../Patriarch/HomeWorkRecordByPatriarchDto.cs | 5 +++- 4 files changed, 48 insertions(+), 10 deletions(-) diff --git a/WeChatApplet/Services/Impl/HomeWorkService.cs b/WeChatApplet/Services/Impl/HomeWorkService.cs index 72c09a4..6f216b8 100644 --- a/WeChatApplet/Services/Impl/HomeWorkService.cs +++ b/WeChatApplet/Services/Impl/HomeWorkService.cs @@ -6,6 +6,7 @@ using YD_WeChatApplet.Api.SmartSportsEntitys; using YD_WeChatApplet.Api.Utilities; using YD_WeChatApplet.Commons.Dto; using YD_WeChatApplet.Commons.Dto.HomeWork; +using YD_WeChatApplet.Commons.Dto.Patriarch; using YD_WeChatApplet.Commons.Dto.School; using YD_WeChatApplet.Commons.Enum; using YD_WeChatApplet.Context; @@ -101,7 +102,7 @@ namespace YD_WeChatApplet.Api.Services.Impl /// /// /// - public async Task> HomeWorkRecordByTeacher(PageDto dto) + public async Task> HomeWorkRecordByTeacher(PatriarchHomeWorkHistoryDto dto) { var userId = UserLoginContext.Current.UserId; var currentTime = DateTime.Now; @@ -109,6 +110,21 @@ namespace YD_WeChatApplet.Api.Services.Impl var query = _sportsContext.HomeWork .Where(x => x.TeacherId == userId); + switch (dto.WorkStatus) + { + case 1: // 未开始 + query = query.Where(x => x.StartTime > currentTime); + break; + case 2: // 进行中 + query = query.Where(x => x.StartTime <= currentTime && x.EndTime >= currentTime); + break; + case 3: // 已结束 + query = query.Where(x => x.EndTime < currentTime); + break; + default: + break; + } + var totalCount = await query.CountAsync(); var list = await query @@ -117,11 +133,12 @@ namespace YD_WeChatApplet.Api.Services.Impl Id = x.Id, WorkName = x.WorkName, WorkTypeName = x.WorkTypeName, - WorkStatus = x.EndTime < currentTime ? 3 : (x.StartTime > currentTime ? 1 : 2), + //WorkStatus = x.EndTime < currentTime ? 3 : (x.StartTime > currentTime ? 1 : 2), + WorkStatus = dto.WorkStatus, StartTime = x.StartTime, EndTime = x.EndTime }) - .OrderByDescending(x => x.Id) + .OrderByDescending(x => x.EndTime) .Skip((dto.PageIndex - 1) * dto.PageSize) .Take(dto.PageSize) .ToListAsync(); diff --git a/WeChatApplet/Services/Impl/PatriarchService.cs b/WeChatApplet/Services/Impl/PatriarchService.cs index 691a199..8593a6f 100644 --- a/WeChatApplet/Services/Impl/PatriarchService.cs +++ b/WeChatApplet/Services/Impl/PatriarchService.cs @@ -104,9 +104,25 @@ namespace YD_WeChatApplet.Api.Services.Impl }) .Where(a => a.StudentNo == userNo); - query = dto.IsHistory - ? query.Where(x => x.EndTime < currentTime) - : query.Where(x => x.EndTime >= currentTime); + switch (dto.WorkStatus) + { + case 1: // 未开始 + query = query.Where(x => x.StartTime > currentTime); + break; + case 2: // 进行中 + query = query.Where(x => x.StartTime <= currentTime && x.EndTime >= currentTime); + break; + case 3: // 已结束 + query = query.Where(x => x.EndTime < currentTime); + break; + default: + break; + } + + //query = dto.IsHistory + // ? query.Where(x => x.EndTime < currentTime) + // : query.Where(x => x.EndTime >= currentTime); + var totalCount = await query.CountAsync(); @@ -116,13 +132,14 @@ namespace YD_WeChatApplet.Api.Services.Impl Id = x.Id, WorkName = x.WorkName, WorkTypeName = x.WorkTypeName, - WorkStatus = x.EndTime < currentTime ? 3 : (x.StartTime > currentTime ? 1 : 2), + //WorkStatus = x.EndTime < currentTime ? 3 : (x.StartTime > currentTime ? 1 : 2), + WorkStatus = dto.WorkStatus, GroupNumber = x.GroupNumber, IsComplete = x.WorkStatus == 2, StartTime = x.StartTime, EndTime = x.EndTime }) - .OrderByDescending(x => x.Id) + .OrderByDescending(x => x.EndTime) .Skip((dto.PageIndex - 1) * dto.PageSize) .Take(dto.PageSize) .ToListAsync(); diff --git a/WeChatApplet/Services/Interface/IHomeWorkService.cs b/WeChatApplet/Services/Interface/IHomeWorkService.cs index 2f1a56c..d5809d8 100644 --- a/WeChatApplet/Services/Interface/IHomeWorkService.cs +++ b/WeChatApplet/Services/Interface/IHomeWorkService.cs @@ -5,6 +5,7 @@ using YD_WeChatApplet.Api.Entitys; using YD_WeChatApplet.Commons; using YD_WeChatApplet.Commons.Dto; using YD_WeChatApplet.Commons.Dto.HomeWork; +using YD_WeChatApplet.Commons.Dto.Patriarch; using YD_WeChatApplet.Commons.Dto.School; namespace YD_WeChatApplet.Services @@ -23,7 +24,7 @@ namespace YD_WeChatApplet.Services /// /// /// - Task> HomeWorkRecordByTeacher(PageDto dto); + Task> HomeWorkRecordByTeacher(PatriarchHomeWorkHistoryDto dto); /// /// 作业详情 diff --git a/YD_WeChatApplet.Commons/Dto/Patriarch/HomeWorkRecordByPatriarchDto.cs b/YD_WeChatApplet.Commons/Dto/Patriarch/HomeWorkRecordByPatriarchDto.cs index 5ab3e27..06fb1dc 100644 --- a/YD_WeChatApplet.Commons/Dto/Patriarch/HomeWorkRecordByPatriarchDto.cs +++ b/YD_WeChatApplet.Commons/Dto/Patriarch/HomeWorkRecordByPatriarchDto.cs @@ -59,6 +59,9 @@ namespace YD_WeChatApplet.Commons.Dto.Patriarch /// public class PatriarchHomeWorkHistoryDto : PageDto { - public bool IsHistory { get; set; } + /// + /// 状态 + /// + public int WorkStatus { get; set; } } }