作业查询逻辑修改
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());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -332,7 +339,6 @@ public class AiolHomeworkController extends JeecgController<AiolHomework, IAiolH
|
|||||||
private AiolCourseSignupMapper aiolCourseSignupMapper;
|
private AiolCourseSignupMapper aiolCourseSignupMapper;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
private IAiolClassService aiolClassService;
|
private IAiolClassService aiolClassService;
|
||||||
|
|
||||||
@ -352,7 +358,7 @@ 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);
|
||||||
|
|
||||||
@ -482,10 +488,10 @@ public class AiolHomeworkController extends JeecgController<AiolHomework, IAiolH
|
|||||||
// 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);
|
||||||
}
|
}
|
||||||
@ -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);
|
||||||
@ -657,6 +665,7 @@ public class AiolHomeworkController extends JeecgController<AiolHomework, IAiolH
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* 将AiolHomework转换为包含详情的DTO
|
* 将AiolHomework转换为包含详情的DTO
|
||||||
|
*
|
||||||
* @param homework 作业实体
|
* @param homework 作业实体
|
||||||
* @return 包含班级名和章节信息的DTO
|
* @return 包含班级名和章节信息的DTO
|
||||||
*/
|
*/
|
||||||
@ -684,9 +693,9 @@ public class AiolHomeworkController extends JeecgController<AiolHomework, IAiolH
|
|||||||
|
|
||||||
// 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()) {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user