diff --git a/YD_AllHeartRates.Api/Services/Impl/LargeScreenService.cs b/YD_AllHeartRates.Api/Services/Impl/LargeScreenService.cs
index e318e30..48d8d7d 100644
--- a/YD_AllHeartRates.Api/Services/Impl/LargeScreenService.cs
+++ b/YD_AllHeartRates.Api/Services/Impl/LargeScreenService.cs
@@ -82,6 +82,24 @@ namespace YD_AllHeartRates.Api.Services.Impl
return res;
}
+ ///
+ /// 根据班级Id获取学生列表
+ ///
+ ///
+ ///
+ public async Task> StudentList(int classId)
+ {
+ var res = await _sportsContext.Student.Where(x => x.SchoolCode == schoolCode && x.ClassId == classId).Select(x => new StudentDto
+ {
+ StudentNo = x.StudentNo,
+ StudentName = x.StudentName,
+ Photo = x.Photo ?? "",
+ Sex = x.Sex
+ }).ToListAsync();
+
+ return res;
+ }
+
///
/// 心率数据
///
@@ -105,14 +123,20 @@ namespace YD_AllHeartRates.Api.Services.Impl
string studentListKey = $"students:{schoolCode}:{classId}";
// 2. 尝试从缓存获取
- var studentList = _caching.Get>(studentListKey);
+ var studentList = _caching.Get>(studentListKey);
// 3. 如果缓存没有 → 查询数据库 + 写入缓存
if (studentList == null)
{
studentList = await _sportsContext.Student
.Where(x => x.ClassId == classId && x.SchoolCode == schoolCode && x.StudentStatus == 1)
- .ToListAsync();
+ .Select(x => new StudentDto
+ {
+ StudentNo = x.StudentNo,
+ StudentName = x.StudentName,
+ Sex = x.Sex,
+ Photo = x.Photo ?? ""
+ }).ToListAsync();
_caching.AddObject(studentListKey, studentList, 28800); // 缓存 8 小时
}
@@ -196,6 +220,5 @@ namespace YD_AllHeartRates.Api.Services.Impl
return res;
}
-
}
}
diff --git a/YD_AllHeartRates.Api/Services/Interface/ILargeScreenService.cs b/YD_AllHeartRates.Api/Services/Interface/ILargeScreenService.cs
index c2f0b34..d55e4ca 100644
--- a/YD_AllHeartRates.Api/Services/Interface/ILargeScreenService.cs
+++ b/YD_AllHeartRates.Api/Services/Interface/ILargeScreenService.cs
@@ -1,4 +1,5 @@
using Microsoft.AspNetCore.Mvc;
+using YD_AllHeartRates.Commons.Dto.HeartRateRepor;
using YD_AllHeartRates.Commons.Dto.LargeScreen;
namespace YD_AllHeartRates.Api.Services.Interface
@@ -14,6 +15,13 @@ namespace YD_AllHeartRates.Api.Services.Interface
///
Task SchoolInfo();
+ ///
+ /// 根据班级获取学生
+ ///
+ ///
+ ///
+ Task> StudentList(int classId);
+
///
/// 心率数据
///
diff --git a/YD_AllHeartRates.Commons/Dto/LargeScreen/SchoolDto.cs b/YD_AllHeartRates.Commons/Dto/LargeScreen/SchoolDto.cs
index 5162a66..659842f 100644
--- a/YD_AllHeartRates.Commons/Dto/LargeScreen/SchoolDto.cs
+++ b/YD_AllHeartRates.Commons/Dto/LargeScreen/SchoolDto.cs
@@ -64,4 +64,5 @@ namespace YD_AllHeartRates.Commons.Dto.LargeScreen
///
public string Name { get; set; }
}
+
}