作业查询逻辑修改

This commit is contained in:
Lqc 2025-10-15 17:15:02 +08:00
parent 821be43cfd
commit b077443687
2 changed files with 74 additions and 64 deletions

View File

@ -1381,7 +1381,8 @@ public class AiolExamController extends JeecgController<AiolExam, IAiolExamServi
}
if(paper.getRequireReview()==1){
updateWrapper
.set(AiolExamRecord::getStatus, 1);
.set(AiolExamRecord::getStatus, 1)
.set(AiolExamRecord::getTotalScore, totalPoint);
}else {
updateWrapper
.set(AiolExamRecord::getStatus, 2)

View File

@ -101,7 +101,7 @@ public class AiolHomeworkController extends JeecgController<AiolHomework, IAiolH
@Operation(summary = "我的作业-作业查询")
@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
String token = request.getHeader(CommonConstant.X_ACCESS_TOKEN);
List<MyHomeworkDTO> homeworkDTOList = new ArrayList<>();
@ -136,17 +136,14 @@ public class AiolHomeworkController extends JeecgController<AiolHomework, IAiolH
.in("source_id", courseIdList)
.eq("target_type", "homework")
.select("target_id")).stream().map(AiolEntityLink::getTargetId).collect(Collectors.toList());
}else return Result.ok();
} else return Result.ok();
log.info("查询到作业关联数量: {}", list.size());
// 查询作业
QueryWrapper<AiolHomework> queryWrapper = new QueryWrapper<>();
if(type != 4){
queryWrapper.eq("status", type);
}
if (!list.isEmpty()) {
queryWrapper.in("id", list);
}else return Result.ok();
} else return Result.ok();
// 查询作业列表并去重
List<AiolHomework> homeworkList = aiolHomeworkService.list(queryWrapper)
.stream()
@ -189,12 +186,22 @@ public class AiolHomeworkController extends JeecgController<AiolHomework, IAiolH
SysUser -> SysUser
));
// 替换作业中的创建人ID为用户名
homeworkList.forEach(homework -> {
for (AiolHomework homework : homeworkList) {
MyHomeworkDTO myHomeworkDTO = new MyHomeworkDTO();
myHomeworkDTO.setAiolHomework(homework);
// 获取当前用户的提交记录如果没有则返回空列表
List<AiolHomeworkSubmit> userSubmits = userSubmitMap.getOrDefault(homework.getId(), Collections.emptyMap())
.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.setSubmitCount(submitCountMap.getOrDefault(homework.getId(), 0L));
String creatorId = homework.getCreateBy();
@ -203,9 +210,9 @@ public class AiolHomeworkController extends JeecgController<AiolHomework, IAiolH
myHomeworkDTO.setAvatar(userMap.get(creatorId).getAvatar());
}
homeworkDTOList.add(myHomeworkDTO);
});
}
}catch (Exception e){
}
} catch (Exception e) {
return Result.error(e.getMessage());
}
}
@ -332,7 +339,6 @@ public class AiolHomeworkController extends JeecgController<AiolHomework, IAiolH
private AiolCourseSignupMapper aiolCourseSignupMapper;
@Autowired
private IAiolClassService aiolClassService;
@ -555,7 +561,9 @@ public class AiolHomeworkController extends JeecgController<AiolHomework, IAiolH
if (classId != null && !classId.trim().isEmpty()) {
String[] classIds = classId.split(",");
for (String singleClassId : classIds) {
if (singleClassId == null || singleClassId.trim().isEmpty()) { continue; }
if (singleClassId == null || singleClassId.trim().isEmpty()) {
continue;
}
QueryWrapper<AiolClassStudent> csWrapper = new QueryWrapper<>();
csWrapper.eq("class_id", singleClassId.trim());
List<AiolClassStudent> classStudents = aiolClassStudentMapper.selectList(csWrapper);
@ -657,6 +665,7 @@ public class AiolHomeworkController extends JeecgController<AiolHomework, IAiolH
/**
* 将AiolHomework转换为包含详情的DTO
*
* @param homework 作业实体
* @return 包含班级名和章节信息的DTO
*/