This commit is contained in:
tanglong 2025-06-13 13:33:50 +08:00
parent c6551e5eab
commit 1e9fe3fb09
2 changed files with 56 additions and 38 deletions

View File

@ -91,10 +91,10 @@ namespace YD_WeChatApplet.Controllers
/// <returns></returns> /// <returns></returns>
[HttpPost("RemoveUniqueIdentity")] [HttpPost("RemoveUniqueIdentity")]
[AllowAnonymous] [AllowAnonymous]
public async Task<IActionResult> RemoveUniqueIdentity(string userId) public async Task<bool> RemoveUniqueIdentity(string userId)
{ {
await _userService.RemoveUniqueIdentity(userId); await _userService.RemoveUniqueIdentity(userId);
return Ok("移除成功"); return true;
} }
/// <summary> /// <summary>

View File

@ -326,58 +326,76 @@ namespace YD_WeChatApplet.Services
{ {
var res = new PageDataDto<ClassRoomRecordPageDto>(); var res = new PageDataDto<ClassRoomRecordPageDto>();
if (string.IsNullOrWhiteSpace(dto.StudentNo)) IQueryable<ClassRoomRecordPageDto> query;
// 如果传了学生学号,按学号查
if (!string.IsNullOrWhiteSpace(dto.StudentNo))
{ {
var phoneNo = UserLoginContext.Current.PhoneNo; query = from s in _sportsContext.Ai_ClassroomStudentRecord
join c in _sportsContext.Ai_ClassRoomRecord on s.ClassRoomRecordId equals c.Id
var teacherId = await _sportsContext.Teacher.Where(x => x.TeacherPhoneNo == phoneNo).Select(x => x.Id).FirstOrDefaultAsync(); where s.StudentNo == dto.StudentNo
var query = from td in _sportsContext.Ai_ClassRoomRecord select new ClassRoomRecordPageDto
where td.TeacherId == teacherId {
select new ClassRoomRecordPageDto() Id = c.Id,
{ ClassId = c.ClassId,
Id = td.Id, Name = c.Name,
ClassId = td.ClassId, StartingEndingTime = (c.StartTime.HasValue ? c.StartTime.Value.ToString("yyyy-MM-dd HH:mm") : "") +
Name = td.Name, (c.EndTime.HasValue ? " - " + c.EndTime.Value.ToString("yyyy-MM-dd HH:mm") : "")
StartingEndingTime = $"{(td.StartTime.HasValue ? td.StartTime.Value.ToString("yyyy-MM-dd HH:mm") : string.Empty)}{(td.EndTime.HasValue ? " - " + td.EndTime.Value.ToString("yyyy-MM-dd HH:mm") : string.Empty)}" };
};
res.Total = await query.CountAsync();
var list = await query
.OrderByDescending(c => c.Id)
.Skip((dto.PageIndex - 1) * dto.PageSize)
.Take(dto.PageSize)
.ToListAsync();
res.Datas = list;
} }
else else
{ {
var query = from s in _sportsContext.Ai_ClassroomStudentRecord var roleId = UserLoginContext.Current.RoleId;
if (roleId == 3 || roleId == 5) // 学生
{
var studentNo = UserLoginContext.Current.UserNo;
query = from s in _sportsContext.Ai_ClassroomStudentRecord
join c in _sportsContext.Ai_ClassRoomRecord on s.ClassRoomRecordId equals c.Id join c in _sportsContext.Ai_ClassRoomRecord on s.ClassRoomRecordId equals c.Id
where s.StudentNo == dto.StudentNo where s.StudentNo == studentNo
select new ClassRoomRecordPageDto() select new ClassRoomRecordPageDto
{ {
Id = c.Id, Id = c.Id,
ClassId = c.ClassId, ClassId = c.ClassId,
Name = c.Name, Name = c.Name,
StartingEndingTime = $"{(c.StartTime.HasValue ? c.StartTime.Value.ToString("yyyy-MM-dd HH:mm") : string.Empty)}{(c.EndTime.HasValue ? " - " + c.EndTime.Value.ToString("yyyy-MM-dd HH:mm") : string.Empty)}" StartingEndingTime = (c.StartTime.HasValue ? c.StartTime.Value.ToString("yyyy-MM-dd HH:mm") : "") +
(c.EndTime.HasValue ? " - " + c.EndTime.Value.ToString("yyyy-MM-dd HH:mm") : "")
}; };
}
else // 教师
{
var phoneNo = UserLoginContext.Current.PhoneNo;
var teacherId = await _sportsContext.Teacher
.Where(x => x.TeacherPhoneNo == phoneNo)
.Select(x => x.Id)
.FirstOrDefaultAsync();
res.Total = await query.CountAsync(); query = _sportsContext.Ai_ClassRoomRecord
.Where(x => x.TeacherId == teacherId)
var list = await query .Select(c => new ClassRoomRecordPageDto
.OrderByDescending(c => c.Id) {
.Skip((dto.PageIndex - 1) * dto.PageSize) Id = c.Id,
.Take(dto.PageSize) ClassId = c.ClassId,
.ToListAsync(); Name = c.Name,
StartingEndingTime = (c.StartTime.HasValue ? c.StartTime.Value.ToString("yyyy-MM-dd HH:mm") : "") +
res.Datas = list; (c.EndTime.HasValue ? " - " + c.EndTime.Value.ToString("yyyy-MM-dd HH:mm") : "")
});
}
} }
res.Total = await query.CountAsync();
res.Datas = await query
.OrderByDescending(x => x.Id)
.Skip((dto.PageIndex - 1) * dto.PageSize)
.Take(dto.PageSize)
.AsNoTracking()
.ToListAsync();
return res; return res;
} }
/// <summary> /// <summary>
/// 课堂详情 /// 课堂详情
/// </summary> /// </summary>