ss
This commit is contained in:
parent
def023cff0
commit
7974cd115e
@ -82,6 +82,24 @@ namespace YD_AllHeartRates.Api.Services.Impl
|
||||
return res;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 根据班级Id获取学生列表
|
||||
/// </summary>
|
||||
/// <param name="classId"></param>
|
||||
/// <returns></returns>
|
||||
public async Task<List<StudentDto>> 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;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 心率数据
|
||||
/// </summary>
|
||||
@ -105,14 +123,20 @@ namespace YD_AllHeartRates.Api.Services.Impl
|
||||
string studentListKey = $"students:{schoolCode}:{classId}";
|
||||
|
||||
// 2. 尝试从缓存获取
|
||||
var studentList = _caching.Get<List<S_Student>>(studentListKey);
|
||||
var studentList = _caching.Get<List<StudentDto>>(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;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
@ -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
|
||||
/// <returns></returns>
|
||||
Task<SchoolDto> SchoolInfo();
|
||||
|
||||
/// <summary>
|
||||
/// 根据班级获取学生
|
||||
/// </summary>
|
||||
/// <param name="classId"></param>
|
||||
/// <returns></returns>
|
||||
Task<List<StudentDto>> StudentList(int classId);
|
||||
|
||||
/// <summary>
|
||||
/// 心率数据
|
||||
/// </summary>
|
||||
|
@ -64,4 +64,5 @@ namespace YD_AllHeartRates.Commons.Dto.LargeScreen
|
||||
/// </summary>
|
||||
public string Name { get; set; }
|
||||
}
|
||||
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user