作业查询逻辑修改
This commit is contained in:
parent
821be43cfd
commit
b077443687
@ -1381,7 +1381,8 @@ public class AiolExamController extends JeecgController<AiolExam, IAiolExamServi
|
|||||||
}
|
}
|
||||||
if(paper.getRequireReview()==1){
|
if(paper.getRequireReview()==1){
|
||||||
updateWrapper
|
updateWrapper
|
||||||
.set(AiolExamRecord::getStatus, 1);
|
.set(AiolExamRecord::getStatus, 1)
|
||||||
|
.set(AiolExamRecord::getTotalScore, totalPoint);
|
||||||
}else {
|
}else {
|
||||||
updateWrapper
|
updateWrapper
|
||||||
.set(AiolExamRecord::getStatus, 2)
|
.set(AiolExamRecord::getStatus, 2)
|
||||||
|
@ -101,7 +101,7 @@ public class AiolHomeworkController extends JeecgController<AiolHomework, IAiolH
|
|||||||
|
|
||||||
@Operation(summary = "我的作业-作业查询")
|
@Operation(summary = "我的作业-作业查询")
|
||||||
@GetMapping(value = "/myHomeworkList")
|
@GetMapping(value = "/myHomeworkList")
|
||||||
public Result<?> queryMyHomeworkList(HttpServletRequest request,@RequestParam(name = "type" , defaultValue = "4" , required = false) Integer type) {
|
public Result<?> queryMyHomeworkList(HttpServletRequest request, @RequestParam(name = "type", defaultValue = "4", required = false) Integer type) {
|
||||||
// 尝试获取token,判断用户id
|
// 尝试获取token,判断用户id
|
||||||
String token = request.getHeader(CommonConstant.X_ACCESS_TOKEN);
|
String token = request.getHeader(CommonConstant.X_ACCESS_TOKEN);
|
||||||
List<MyHomeworkDTO> homeworkDTOList = new ArrayList<>();
|
List<MyHomeworkDTO> homeworkDTOList = new ArrayList<>();
|
||||||
@ -136,17 +136,14 @@ public class AiolHomeworkController extends JeecgController<AiolHomework, IAiolH
|
|||||||
.in("source_id", courseIdList)
|
.in("source_id", courseIdList)
|
||||||
.eq("target_type", "homework")
|
.eq("target_type", "homework")
|
||||||
.select("target_id")).stream().map(AiolEntityLink::getTargetId).collect(Collectors.toList());
|
.select("target_id")).stream().map(AiolEntityLink::getTargetId).collect(Collectors.toList());
|
||||||
}else return Result.ok();
|
} else return Result.ok();
|
||||||
log.info("查询到作业关联数量: {}", list.size());
|
log.info("查询到作业关联数量: {}", list.size());
|
||||||
|
|
||||||
// 查询作业
|
// 查询作业
|
||||||
QueryWrapper<AiolHomework> queryWrapper = new QueryWrapper<>();
|
QueryWrapper<AiolHomework> queryWrapper = new QueryWrapper<>();
|
||||||
if(type != 4){
|
|
||||||
queryWrapper.eq("status", type);
|
|
||||||
}
|
|
||||||
if (!list.isEmpty()) {
|
if (!list.isEmpty()) {
|
||||||
queryWrapper.in("id", list);
|
queryWrapper.in("id", list);
|
||||||
}else return Result.ok();
|
} else return Result.ok();
|
||||||
// 查询作业列表并去重
|
// 查询作业列表并去重
|
||||||
List<AiolHomework> homeworkList = aiolHomeworkService.list(queryWrapper)
|
List<AiolHomework> homeworkList = aiolHomeworkService.list(queryWrapper)
|
||||||
.stream()
|
.stream()
|
||||||
@ -189,12 +186,22 @@ public class AiolHomeworkController extends JeecgController<AiolHomework, IAiolH
|
|||||||
SysUser -> SysUser
|
SysUser -> SysUser
|
||||||
));
|
));
|
||||||
// 替换作业中的创建人ID为用户名
|
// 替换作业中的创建人ID为用户名
|
||||||
homeworkList.forEach(homework -> {
|
for (AiolHomework homework : homeworkList) {
|
||||||
MyHomeworkDTO myHomeworkDTO = new MyHomeworkDTO();
|
MyHomeworkDTO myHomeworkDTO = new MyHomeworkDTO();
|
||||||
myHomeworkDTO.setAiolHomework(homework);
|
myHomeworkDTO.setAiolHomework(homework);
|
||||||
// 获取当前用户的提交记录,如果没有则返回空列表
|
// 获取当前用户的提交记录,如果没有则返回空列表
|
||||||
List<AiolHomeworkSubmit> userSubmits = userSubmitMap.getOrDefault(homework.getId(), Collections.emptyMap())
|
List<AiolHomeworkSubmit> userSubmits = userSubmitMap.getOrDefault(homework.getId(), Collections.emptyMap())
|
||||||
.getOrDefault(currentUserId, Collections.emptyList());
|
.getOrDefault(currentUserId, Collections.emptyList());
|
||||||
|
if (type == 1 || type == 2) {
|
||||||
|
if (userSubmits.isEmpty() || !userSubmits.get(0).getStatus().equals(type)) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
} else if (type == 0) {
|
||||||
|
if (!userSubmits.isEmpty() && !userSubmits.get(0).getStatus().equals(type)) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
myHomeworkDTO.setAiolHomeworkSubmits(userSubmits);
|
myHomeworkDTO.setAiolHomeworkSubmits(userSubmits);
|
||||||
myHomeworkDTO.setSubmitCount(submitCountMap.getOrDefault(homework.getId(), 0L));
|
myHomeworkDTO.setSubmitCount(submitCountMap.getOrDefault(homework.getId(), 0L));
|
||||||
String creatorId = homework.getCreateBy();
|
String creatorId = homework.getCreateBy();
|
||||||
@ -203,9 +210,9 @@ public class AiolHomeworkController extends JeecgController<AiolHomework, IAiolH
|
|||||||
myHomeworkDTO.setAvatar(userMap.get(creatorId).getAvatar());
|
myHomeworkDTO.setAvatar(userMap.get(creatorId).getAvatar());
|
||||||
}
|
}
|
||||||
homeworkDTOList.add(myHomeworkDTO);
|
homeworkDTOList.add(myHomeworkDTO);
|
||||||
});
|
}
|
||||||
}
|
}
|
||||||
}catch (Exception e){
|
} catch (Exception e) {
|
||||||
return Result.error(e.getMessage());
|
return Result.error(e.getMessage());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -288,7 +295,7 @@ public class AiolHomeworkController extends JeecgController<AiolHomework, IAiolH
|
|||||||
if (aiolHomework == null) {
|
if (aiolHomework == null) {
|
||||||
return Result.error("未找到对应数据");
|
return Result.error("未找到对应数据");
|
||||||
}
|
}
|
||||||
|
|
||||||
// 转换为包含详情的DTO
|
// 转换为包含详情的DTO
|
||||||
HomeworkWithDetailsDTO result = convertToHomeworkWithDetails(aiolHomework);
|
HomeworkWithDetailsDTO result = convertToHomeworkWithDetails(aiolHomework);
|
||||||
return Result.OK(result);
|
return Result.OK(result);
|
||||||
@ -321,16 +328,15 @@ public class AiolHomeworkController extends JeecgController<AiolHomework, IAiolH
|
|||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
private IAiolHomeworkSubmitService homeworkSubmitService;
|
private IAiolHomeworkSubmitService homeworkSubmitService;
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
private IAiolEntityLinkService entityLinkBizService;
|
private IAiolEntityLinkService entityLinkBizService;
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
private AiolClassStudentMapper aiolClassStudentMapper;
|
private AiolClassStudentMapper aiolClassStudentMapper;
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
private AiolCourseSignupMapper aiolCourseSignupMapper;
|
private AiolCourseSignupMapper aiolCourseSignupMapper;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
@ -352,17 +358,17 @@ public class AiolHomeworkController extends JeecgController<AiolHomework, IAiolH
|
|||||||
try {
|
try {
|
||||||
QueryWrapper<AiolHomework> queryWrapper = new QueryWrapper<>();
|
QueryWrapper<AiolHomework> queryWrapper = new QueryWrapper<>();
|
||||||
queryWrapper.eq("course_id", courseId)
|
queryWrapper.eq("course_id", courseId)
|
||||||
.orderByDesc("create_time");
|
.orderByDesc("create_time");
|
||||||
|
|
||||||
List<AiolHomework> homeworkList = aiolHomeworkService.list(queryWrapper);
|
List<AiolHomework> homeworkList = aiolHomeworkService.list(queryWrapper);
|
||||||
|
|
||||||
// 转换为包含详情的DTO列表
|
// 转换为包含详情的DTO列表
|
||||||
List<HomeworkWithDetailsDTO> resultList = homeworkList.stream()
|
List<HomeworkWithDetailsDTO> resultList = homeworkList.stream()
|
||||||
.map(this::convertToHomeworkWithDetails)
|
.map(this::convertToHomeworkWithDetails)
|
||||||
.collect(Collectors.toList());
|
.collect(Collectors.toList());
|
||||||
|
|
||||||
return Result.OK(resultList);
|
return Result.OK(resultList);
|
||||||
|
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
log.error("查询教师作业列表失败: error={}", e.getMessage(), e);
|
log.error("查询教师作业列表失败: error={}", e.getMessage(), e);
|
||||||
return Result.error("查询教师作业列表失败: " + e.getMessage());
|
return Result.error("查询教师作业列表失败: " + e.getMessage());
|
||||||
@ -398,7 +404,7 @@ public class AiolHomeworkController extends JeecgController<AiolHomework, IAiolH
|
|||||||
QueryWrapper<AiolHomeworkSubmit> submitWrapper = new QueryWrapper<>();
|
QueryWrapper<AiolHomeworkSubmit> submitWrapper = new QueryWrapper<>();
|
||||||
submitWrapper.eq("homework_id", homeworkId);
|
submitWrapper.eq("homework_id", homeworkId);
|
||||||
List<AiolHomeworkSubmit> submitList = homeworkSubmitService.list(submitWrapper);
|
List<AiolHomeworkSubmit> submitList = homeworkSubmitService.list(submitWrapper);
|
||||||
|
|
||||||
if (!submitList.isEmpty()) {
|
if (!submitList.isEmpty()) {
|
||||||
List<String> submitIds = submitList.stream()
|
List<String> submitIds = submitList.stream()
|
||||||
.map(AiolHomeworkSubmit::getId)
|
.map(AiolHomeworkSubmit::getId)
|
||||||
@ -406,16 +412,16 @@ public class AiolHomeworkController extends JeecgController<AiolHomework, IAiolH
|
|||||||
homeworkSubmitService.removeByIds(submitIds);
|
homeworkSubmitService.removeByIds(submitIds);
|
||||||
log.info("删除作业提交记录成功: homeworkId={}, 删除数量={}", homeworkId, submitIds.size());
|
log.info("删除作业提交记录成功: homeworkId={}, 删除数量={}", homeworkId, submitIds.size());
|
||||||
}
|
}
|
||||||
|
|
||||||
// 2. 删除作业记录
|
// 2. 删除作业记录
|
||||||
boolean deleted = aiolHomeworkService.removeById(homeworkId);
|
boolean deleted = aiolHomeworkService.removeById(homeworkId);
|
||||||
if (!deleted) {
|
if (!deleted) {
|
||||||
return Result.error("删除作业失败,作业不存在");
|
return Result.error("删除作业失败,作业不存在");
|
||||||
}
|
}
|
||||||
|
|
||||||
log.info("教师删除作业成功: homeworkId={}", homeworkId);
|
log.info("教师删除作业成功: homeworkId={}", homeworkId);
|
||||||
return Result.OK("删除成功!");
|
return Result.OK("删除成功!");
|
||||||
|
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
log.error("教师删除作业失败: homeworkId={}, error={}", homeworkId, e.getMessage(), e);
|
log.error("教师删除作业失败: homeworkId={}, error={}", homeworkId, e.getMessage(), e);
|
||||||
return Result.error("删除作业失败: " + e.getMessage());
|
return Result.error("删除作业失败: " + e.getMessage());
|
||||||
@ -433,15 +439,15 @@ public class AiolHomeworkController extends JeecgController<AiolHomework, IAiolH
|
|||||||
// 复制DTO中的作业字段到实体
|
// 复制DTO中的作业字段到实体
|
||||||
BeanUtils.copyProperties(homeworkSaveDTO, aiolHomework);
|
BeanUtils.copyProperties(homeworkSaveDTO, aiolHomework);
|
||||||
aiolHomeworkService.save(aiolHomework);
|
aiolHomeworkService.save(aiolHomework);
|
||||||
|
|
||||||
String homeworkId = aiolHomework.getId();
|
String homeworkId = aiolHomework.getId();
|
||||||
String classId = homeworkSaveDTO.getClassId();
|
String classId = homeworkSaveDTO.getClassId();
|
||||||
String courseId = homeworkSaveDTO.getCourseId();
|
String courseId = homeworkSaveDTO.getCourseId();
|
||||||
String sectionId = homeworkSaveDTO.getSectionId();
|
String sectionId = homeworkSaveDTO.getSectionId();
|
||||||
|
|
||||||
// 2. 为学生创建作业提交记录
|
// 2. 为学生创建作业提交记录
|
||||||
List<String> studentIds = new ArrayList<>();
|
List<String> studentIds = new ArrayList<>();
|
||||||
|
|
||||||
if (classId != null && !classId.trim().isEmpty()) {
|
if (classId != null && !classId.trim().isEmpty()) {
|
||||||
// 如果传递了班级ID,查询指定班级的学生
|
// 如果传递了班级ID,查询指定班级的学生
|
||||||
String[] classIds = classId.split(",");
|
String[] classIds = classId.split(",");
|
||||||
@ -451,7 +457,7 @@ public class AiolHomeworkController extends JeecgController<AiolHomework, IAiolH
|
|||||||
QueryWrapper<AiolClassStudent> classStudentWrapper = new QueryWrapper<>();
|
QueryWrapper<AiolClassStudent> classStudentWrapper = new QueryWrapper<>();
|
||||||
classStudentWrapper.eq("class_id", singleClassId);
|
classStudentWrapper.eq("class_id", singleClassId);
|
||||||
List<AiolClassStudent> classStudents = aiolClassStudentMapper.selectList(classStudentWrapper);
|
List<AiolClassStudent> classStudents = aiolClassStudentMapper.selectList(classStudentWrapper);
|
||||||
|
|
||||||
for (AiolClassStudent classStudent : classStudents) {
|
for (AiolClassStudent classStudent : classStudents) {
|
||||||
String studentId = classStudent.getStudentId();
|
String studentId = classStudent.getStudentId();
|
||||||
if (!studentIds.contains(studentId)) {
|
if (!studentIds.contains(studentId)) {
|
||||||
@ -465,7 +471,7 @@ public class AiolHomeworkController extends JeecgController<AiolHomework, IAiolH
|
|||||||
QueryWrapper<AiolCourseSignup> courseSignupWrapper = new QueryWrapper<>();
|
QueryWrapper<AiolCourseSignup> courseSignupWrapper = new QueryWrapper<>();
|
||||||
courseSignupWrapper.eq("course_id", courseId);
|
courseSignupWrapper.eq("course_id", courseId);
|
||||||
List<AiolCourseSignup> courseSignups = aiolCourseSignupMapper.selectList(courseSignupWrapper);
|
List<AiolCourseSignup> courseSignups = aiolCourseSignupMapper.selectList(courseSignupWrapper);
|
||||||
|
|
||||||
for (AiolCourseSignup courseSignup : courseSignups) {
|
for (AiolCourseSignup courseSignup : courseSignups) {
|
||||||
String studentId = courseSignup.getUserId();
|
String studentId = courseSignup.getUserId();
|
||||||
if (!studentIds.contains(studentId)) {
|
if (!studentIds.contains(studentId)) {
|
||||||
@ -473,28 +479,28 @@ public class AiolHomeworkController extends JeecgController<AiolHomework, IAiolH
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// 为每个学生创建空的作业提交记录
|
// 为每个学生创建空的作业提交记录
|
||||||
for (String studentId : studentIds) {
|
for (String studentId : studentIds) {
|
||||||
homeworkSubmitService.createEmptySubmit(homeworkId, studentId);
|
homeworkSubmitService.createEmptySubmit(homeworkId, studentId);
|
||||||
}
|
}
|
||||||
|
|
||||||
// 3. 如果传递了章节ID,创建章节与作业的关联关系
|
// 3. 如果传递了章节ID,创建章节与作业的关联关系
|
||||||
if (sectionId != null && !sectionId.trim().isEmpty()) {
|
if (sectionId != null && !sectionId.trim().isEmpty()) {
|
||||||
entityLinkBizService.save(
|
entityLinkBizService.save(
|
||||||
EntityLinkConst.SourceType.COURSE_SECTION,
|
EntityLinkConst.SourceType.COURSE_SECTION,
|
||||||
sectionId.trim(),
|
sectionId.trim(),
|
||||||
EntityLinkConst.TargetType.HOMEWORK,
|
EntityLinkConst.TargetType.HOMEWORK,
|
||||||
homeworkId
|
homeworkId
|
||||||
);
|
);
|
||||||
log.info("作业 {} 成功关联到章节 {}", homeworkId, sectionId);
|
log.info("作业 {} 成功关联到章节 {}", homeworkId, sectionId);
|
||||||
}
|
}
|
||||||
|
|
||||||
log.info("教师添加作业成功: homeworkId={}, courseId={}, classId={}, sectionId={}, 学生数量={}",
|
log.info("教师添加作业成功: homeworkId={}, courseId={}, classId={}, sectionId={}, 学生数量={}",
|
||||||
homeworkId, courseId, classId, sectionId, studentIds.size());
|
homeworkId, courseId, classId, sectionId, studentIds.size());
|
||||||
|
|
||||||
return Result.OK("添加成功!");
|
return Result.OK("添加成功!");
|
||||||
|
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
log.error("教师添加作业失败: homeworkSaveDTO={}, error={}", homeworkSaveDTO, e.getMessage(), e);
|
log.error("教师添加作业失败: homeworkSaveDTO={}, error={}", homeworkSaveDTO, e.getMessage(), e);
|
||||||
return Result.error("添加作业失败: " + e.getMessage());
|
return Result.error("添加作业失败: " + e.getMessage());
|
||||||
@ -533,16 +539,16 @@ public class AiolHomeworkController extends JeecgController<AiolHomework, IAiolH
|
|||||||
try {
|
try {
|
||||||
QueryWrapper<AiolEntityLink> delWrapper = new QueryWrapper<>();
|
QueryWrapper<AiolEntityLink> delWrapper = new QueryWrapper<>();
|
||||||
delWrapper.eq("target_type", EntityLinkConst.TargetType.HOMEWORK)
|
delWrapper.eq("target_type", EntityLinkConst.TargetType.HOMEWORK)
|
||||||
.eq("target_id", homeworkId)
|
.eq("target_id", homeworkId)
|
||||||
.eq("source_type", EntityLinkConst.SourceType.COURSE_SECTION);
|
.eq("source_type", EntityLinkConst.SourceType.COURSE_SECTION);
|
||||||
entityLinkBizService.remove(delWrapper);
|
entityLinkBizService.remove(delWrapper);
|
||||||
|
|
||||||
if (sectionId != null && !sectionId.trim().isEmpty()) {
|
if (sectionId != null && !sectionId.trim().isEmpty()) {
|
||||||
entityLinkBizService.save(
|
entityLinkBizService.save(
|
||||||
EntityLinkConst.SourceType.COURSE_SECTION,
|
EntityLinkConst.SourceType.COURSE_SECTION,
|
||||||
sectionId.trim(),
|
sectionId.trim(),
|
||||||
EntityLinkConst.TargetType.HOMEWORK,
|
EntityLinkConst.TargetType.HOMEWORK,
|
||||||
homeworkId
|
homeworkId
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
@ -555,7 +561,9 @@ public class AiolHomeworkController extends JeecgController<AiolHomework, IAiolH
|
|||||||
if (classId != null && !classId.trim().isEmpty()) {
|
if (classId != null && !classId.trim().isEmpty()) {
|
||||||
String[] classIds = classId.split(",");
|
String[] classIds = classId.split(",");
|
||||||
for (String singleClassId : classIds) {
|
for (String singleClassId : classIds) {
|
||||||
if (singleClassId == null || singleClassId.trim().isEmpty()) { continue; }
|
if (singleClassId == null || singleClassId.trim().isEmpty()) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
QueryWrapper<AiolClassStudent> csWrapper = new QueryWrapper<>();
|
QueryWrapper<AiolClassStudent> csWrapper = new QueryWrapper<>();
|
||||||
csWrapper.eq("class_id", singleClassId.trim());
|
csWrapper.eq("class_id", singleClassId.trim());
|
||||||
List<AiolClassStudent> classStudents = aiolClassStudentMapper.selectList(csWrapper);
|
List<AiolClassStudent> classStudents = aiolClassStudentMapper.selectList(csWrapper);
|
||||||
@ -611,44 +619,44 @@ public class AiolHomeworkController extends JeecgController<AiolHomework, IAiolH
|
|||||||
String submitId = (String) reviewParams.get("submitId");
|
String submitId = (String) reviewParams.get("submitId");
|
||||||
Integer score = (Integer) reviewParams.get("score");
|
Integer score = (Integer) reviewParams.get("score");
|
||||||
String comment = (String) reviewParams.get("comment");
|
String comment = (String) reviewParams.get("comment");
|
||||||
|
|
||||||
// 验证必填参数
|
// 验证必填参数
|
||||||
if (submitId == null || submitId.trim().isEmpty()) {
|
if (submitId == null || submitId.trim().isEmpty()) {
|
||||||
return Result.error("submitId不能为空");
|
return Result.error("submitId不能为空");
|
||||||
}
|
}
|
||||||
|
|
||||||
// 2. 查询作业提交记录
|
// 2. 查询作业提交记录
|
||||||
AiolHomeworkSubmit submit = homeworkSubmitService.getById(submitId);
|
AiolHomeworkSubmit submit = homeworkSubmitService.getById(submitId);
|
||||||
if (submit == null) {
|
if (submit == null) {
|
||||||
return Result.error("作业提交记录不存在");
|
return Result.error("作业提交记录不存在");
|
||||||
}
|
}
|
||||||
|
|
||||||
// 3. 更新作业提交记录
|
// 3. 更新作业提交记录
|
||||||
AiolHomeworkSubmit updateSubmit = new AiolHomeworkSubmit();
|
AiolHomeworkSubmit updateSubmit = new AiolHomeworkSubmit();
|
||||||
updateSubmit.setId(submitId);
|
updateSubmit.setId(submitId);
|
||||||
|
|
||||||
// 设置分数(如果提供)
|
// 设置分数(如果提供)
|
||||||
if (score != null) {
|
if (score != null) {
|
||||||
updateSubmit.setScore(score);
|
updateSubmit.setScore(score);
|
||||||
}
|
}
|
||||||
|
|
||||||
// 设置评语(如果提供)
|
// 设置评语(如果提供)
|
||||||
if (comment != null && !comment.trim().isEmpty()) {
|
if (comment != null && !comment.trim().isEmpty()) {
|
||||||
updateSubmit.setComment(comment.trim());
|
updateSubmit.setComment(comment.trim());
|
||||||
}
|
}
|
||||||
|
|
||||||
// 更新状态为已批阅(3)
|
// 更新状态为已批阅(3)
|
||||||
updateSubmit.setStatus(3);
|
updateSubmit.setStatus(3);
|
||||||
|
|
||||||
// 4. 保存更新
|
// 4. 保存更新
|
||||||
boolean updated = homeworkSubmitService.updateById(updateSubmit);
|
boolean updated = homeworkSubmitService.updateById(updateSubmit);
|
||||||
if (!updated) {
|
if (!updated) {
|
||||||
return Result.error("批阅失败,更新作业提交记录失败");
|
return Result.error("批阅失败,更新作业提交记录失败");
|
||||||
}
|
}
|
||||||
|
|
||||||
log.info("作业批阅成功: submitId={}, score={}, status=3", submitId, score);
|
log.info("作业批阅成功: submitId={}, score={}, status=3", submitId, score);
|
||||||
return Result.OK("批阅成功!");
|
return Result.OK("批阅成功!");
|
||||||
|
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
log.error("作业批阅失败: reviewParams={}, error={}", reviewParams, e.getMessage(), e);
|
log.error("作业批阅失败: reviewParams={}, error={}", reviewParams, e.getMessage(), e);
|
||||||
return Result.error("批阅失败: " + e.getMessage());
|
return Result.error("批阅失败: " + e.getMessage());
|
||||||
@ -657,13 +665,14 @@ public class AiolHomeworkController extends JeecgController<AiolHomework, IAiolH
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* 将AiolHomework转换为包含详情的DTO
|
* 将AiolHomework转换为包含详情的DTO
|
||||||
|
*
|
||||||
* @param homework 作业实体
|
* @param homework 作业实体
|
||||||
* @return 包含班级名和章节信息的DTO
|
* @return 包含班级名和章节信息的DTO
|
||||||
*/
|
*/
|
||||||
private HomeworkWithDetailsDTO convertToHomeworkWithDetails(AiolHomework homework) {
|
private HomeworkWithDetailsDTO convertToHomeworkWithDetails(AiolHomework homework) {
|
||||||
HomeworkWithDetailsDTO dto = new HomeworkWithDetailsDTO();
|
HomeworkWithDetailsDTO dto = new HomeworkWithDetailsDTO();
|
||||||
BeanUtils.copyProperties(homework, dto);
|
BeanUtils.copyProperties(homework, dto);
|
||||||
|
|
||||||
try {
|
try {
|
||||||
// 1. 查询班级信息
|
// 1. 查询班级信息
|
||||||
List<String> classNames = new ArrayList<>();
|
List<String> classNames = new ArrayList<>();
|
||||||
@ -681,29 +690,29 @@ public class AiolHomeworkController extends JeecgController<AiolHomework, IAiolH
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
dto.setClassNames(classNames);
|
dto.setClassNames(classNames);
|
||||||
|
|
||||||
// 2. 查询章节信息
|
// 2. 查询章节信息
|
||||||
List<String> sectionIds = entityLinkBizService.listSourceIds(
|
List<String> sectionIds = entityLinkBizService.listSourceIds(
|
||||||
EntityLinkConst.TargetType.HOMEWORK,
|
EntityLinkConst.TargetType.HOMEWORK,
|
||||||
homework.getId(),
|
homework.getId(),
|
||||||
EntityLinkConst.SourceType.COURSE_SECTION
|
EntityLinkConst.SourceType.COURSE_SECTION
|
||||||
);
|
);
|
||||||
|
|
||||||
if (!sectionIds.isEmpty()) {
|
if (!sectionIds.isEmpty()) {
|
||||||
String sectionId = sectionIds.get(0); // 取第一个章节ID
|
String sectionId = sectionIds.get(0); // 取第一个章节ID
|
||||||
dto.setSectionId(sectionId);
|
dto.setSectionId(sectionId);
|
||||||
|
|
||||||
AiolCourseSection section = aiolCourseSectionService.getById(sectionId);
|
AiolCourseSection section = aiolCourseSectionService.getById(sectionId);
|
||||||
if (section != null && section.getName() != null) {
|
if (section != null && section.getName() != null) {
|
||||||
dto.setSectionTitle(section.getName());
|
dto.setSectionTitle(section.getName());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
log.error("转换作业详情失败: homeworkId={}, error={}", homework.getId(), e.getMessage(), e);
|
log.error("转换作业详情失败: homeworkId={}, error={}", homework.getId(), e.getMessage(), e);
|
||||||
// 即使转换失败,也返回基本的作业信息
|
// 即使转换失败,也返回基本的作业信息
|
||||||
}
|
}
|
||||||
|
|
||||||
return dto;
|
return dto;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user