zuoyexingqing
This commit is contained in:
parent
0943cfd198
commit
93ae5ab8c1
@ -71,7 +71,7 @@ namespace YD_WeChatApplet.Api.Controllers
|
|||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 作业详情
|
/// 老师作业详情
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="homeWorkId"></param>
|
/// <param name="homeWorkId"></param>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
@ -81,5 +81,17 @@ namespace YD_WeChatApplet.Api.Controllers
|
|||||||
var res = await _homeWorkService.HomeWorkDetailsByTeacher(homeWorkId);
|
var res = await _homeWorkService.HomeWorkDetailsByTeacher(homeWorkId);
|
||||||
return res;
|
return res;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 学生作业详情
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="homeWorkId"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
[HttpGet("HomeWorkDetailsByStudent")]
|
||||||
|
public async Task<StudentHomeWorkDetailDto> HomeWorkDetailsByStudent(int homeWorkId)
|
||||||
|
{
|
||||||
|
var res = await _homeWorkService.HomeWorkDetailsByStudent(homeWorkId);
|
||||||
|
return res;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -296,6 +296,54 @@ namespace YD_WeChatApplet.Api.Services.Impl
|
|||||||
return res;
|
return res;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 学生作业详情
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="homeWorkId">作业Id</param>
|
||||||
|
public async Task<StudentHomeWorkDetailDto> HomeWorkDetailsByStudent(int homeWorkId)
|
||||||
|
{
|
||||||
|
// 获取当前登录学生学号
|
||||||
|
var studentNo = UserLoginContext.Current.UserNo;
|
||||||
|
if (string.IsNullOrEmpty(studentNo))
|
||||||
|
throw new Exception("未获取到当前学生信息");
|
||||||
|
|
||||||
|
// 联合作业表和学生作业关联表,筛选出指定作业且属于当前学生的记录
|
||||||
|
var query = from h in _sportsContext.HomeWork
|
||||||
|
join hs in _sportsContext.HomeWorkStudents on h.Id equals hs.HomeWorkId
|
||||||
|
where h.Id == homeWorkId && hs.StudentNo == studentNo
|
||||||
|
select new { HomeWork = h, StudentWork = hs };
|
||||||
|
|
||||||
|
var data = await query.FirstOrDefaultAsync();
|
||||||
|
if (data == null)
|
||||||
|
throw new Exception("作业不存在或当前学生无权查看该作业");
|
||||||
|
|
||||||
|
// 组装平铺Dto
|
||||||
|
var dto = new StudentHomeWorkDetailDto
|
||||||
|
{
|
||||||
|
Id = data.HomeWork.Id,
|
||||||
|
WorkName = $"{data.HomeWork.WorkName}-{data.HomeWork.WorkType.GetDescription()}",
|
||||||
|
WorkText = data.HomeWork.WorkText,
|
||||||
|
StartTime = data.HomeWork.StartTime,
|
||||||
|
EndTime = data.HomeWork.EndTime,
|
||||||
|
StudentScope = data.HomeWork.StudentScope == 1 ? "全部学生" : "部分学生",
|
||||||
|
WorkModeType = data.HomeWork.WorkModeType,
|
||||||
|
StudentNo = data.StudentWork.StudentNo,
|
||||||
|
StudentName = data.StudentWork.StudentName,
|
||||||
|
Sex = data.StudentWork.Sex,
|
||||||
|
Photo = data.StudentWork.Photo,
|
||||||
|
WorkStatus = data.StudentWork.WorkStatus,
|
||||||
|
Value = data.StudentWork.Value
|
||||||
|
};
|
||||||
|
|
||||||
|
// 根据模式类型格式化结果(与老师详情接口逻辑一致)
|
||||||
|
if (dto.WorkModeType == WorkModeType.TimerCount)
|
||||||
|
dto.Result = $"{dto.Value}个";
|
||||||
|
else
|
||||||
|
dto.Result = dto.Value.ToMinutesSeconds();
|
||||||
|
|
||||||
|
return dto;
|
||||||
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 作业项目列表
|
/// 作业项目列表
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
|||||||
@ -27,12 +27,19 @@ namespace YD_WeChatApplet.Services
|
|||||||
Task<PageDataDto<HomeWorkRecordDto>> HomeWorkRecordByTeacher(PatriarchHomeWorkHistoryDto dto);
|
Task<PageDataDto<HomeWorkRecordDto>> HomeWorkRecordByTeacher(PatriarchHomeWorkHistoryDto dto);
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 作业详情
|
/// 老师作业详情
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="homeWorkId"></param>
|
/// <param name="homeWorkId"></param>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
Task<HomeWorkDetailsDto> HomeWorkDetailsByTeacher(int homeWorkId);
|
Task<HomeWorkDetailsDto> HomeWorkDetailsByTeacher(int homeWorkId);
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 学生作业详情
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="homeWorkId"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
Task<StudentHomeWorkDetailDto> HomeWorkDetailsByStudent(int homeWorkId);
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 作业项目列表
|
/// 作业项目列表
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
|||||||
@ -130,4 +130,52 @@ namespace YD_WeChatApplet.Commons.Dto.HomeWork
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
public string Result { get; set; }
|
public string Result { get; set; }
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 学生作业详情
|
||||||
|
/// </summary>
|
||||||
|
public class StudentHomeWorkDetailDto
|
||||||
|
{
|
||||||
|
/// <summary>作业Id</summary>
|
||||||
|
public int Id { get; set; }
|
||||||
|
|
||||||
|
/// <summary>作业名称(含类型)</summary>
|
||||||
|
public string WorkName { get; set; }
|
||||||
|
|
||||||
|
/// <summary>作业内容</summary>
|
||||||
|
public string WorkText { get; set; }
|
||||||
|
|
||||||
|
/// <summary>开始时间</summary>
|
||||||
|
public DateTime StartTime { get; set; }
|
||||||
|
|
||||||
|
/// <summary>结束时间</summary>
|
||||||
|
public DateTime EndTime { get; set; }
|
||||||
|
|
||||||
|
/// <summary>学生范围</summary>
|
||||||
|
public string StudentScope { get; set; }
|
||||||
|
|
||||||
|
/// <summary>模式类型</summary>
|
||||||
|
public WorkModeType WorkModeType { get; set; }
|
||||||
|
|
||||||
|
/// <summary>当前学生学号</summary>
|
||||||
|
public string StudentNo { get; set; }
|
||||||
|
|
||||||
|
/// <summary>学生姓名</summary>
|
||||||
|
public string StudentName { get; set; }
|
||||||
|
|
||||||
|
/// <summary>性别</summary>
|
||||||
|
public int Sex { get; set; }
|
||||||
|
|
||||||
|
/// <summary>学生照片</summary>
|
||||||
|
public string Photo { get; set; }
|
||||||
|
|
||||||
|
/// <summary>作业状态(1-未开始/进行中等,根据业务定义)</summary>
|
||||||
|
public int WorkStatus { get; set; }
|
||||||
|
|
||||||
|
/// <summary>原始成绩(次数/秒数)</summary>
|
||||||
|
public int Value { get; set; }
|
||||||
|
|
||||||
|
/// <summary>格式化后的结果(如“30个”或“01:30”)</summary>
|
||||||
|
public string Result { get; set; }
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user