考试学员列表

This commit is contained in:
wuchunlei
2024-08-30 09:04:10 +08:00
parent 2e5d8bf24d
commit 10e8e2dc9a
5 changed files with 55 additions and 8 deletions

View File

@@ -318,4 +318,10 @@ public class ClassController {
return R.ok().put("result",classEntityService.getUserScore(params));
}
//学员成绩列表
@RequestMapping("/userScoreList")
public R userScoreList(@RequestBody Map<String,Object> params){
return R.ok().put("result",classEntityService.userScoreList(params));
}
}

View File

@@ -12,7 +12,7 @@ public class ClassExamUser {
@TableId
private Integer id;
private Integer examId;
private Integer classId;
private Integer userId;

View File

@@ -85,4 +85,6 @@ public interface ClassEntityService extends IService<ClassEntity> {
Map<String,Object> getUserScore(Map<String,Object> params);
List userScoreList(Map<String,Object> params);
}

View File

@@ -43,6 +43,8 @@ public class ClassEntityServiceImpl extends ServiceImpl<ClassEntityDao, ClassEnt
private UserCourseBuyDao userCourseBuyDao;
@Autowired
private CourseDao courseDao;
@Autowired
private ClassExamUserDao classExamUserDao;
@Override
public Page getClassModelList(Map<String, Object> params) {
@@ -968,9 +970,13 @@ public class ClassEntityServiceImpl extends ServiceImpl<ClassEntityDao, ClassEnt
questionWrapper.leftJoin(ClassModel.class,ClassModel::getId,ClassCourse::getModelId);
questionWrapper.leftJoin(ClassEntity.class,ClassEntity::getModelId,ClassModel::getId);
questionWrapper.selectAll(ClassTaskAndQuesReply.class);
questionWrapper.eq(ClassEntity::getId,params.get("classId"));
questionWrapper.eq(ClassTaskAndQuesReply::getUserId,ShiroUtils.getUId());
questionWrapper.eq(ClassTaskAndQuesReply::getClassId,params.get("classId"));
questionWrapper.eq(ClassEntity::getId,classEntity.getId());
if (params.containsKey("userId")){
questionWrapper.eq(ClassTaskAndQuesReply::getUserId,params.get("userId"));
}else {
questionWrapper.eq(ClassTaskAndQuesReply::getUserId,ShiroUtils.getUId());
}
questionWrapper.eq(ClassTaskAndQuesReply::getClassId,classEntity.getId());
List<ClassTaskAndQuesReply> questionReplys = classTaskAndQuesReplyDao.selectList(questionWrapper);
if (questionReplys.size() > 0) {
for (ClassTaskAndQuesReply reply : questionReplys) {
@@ -986,7 +992,7 @@ public class ClassEntityServiceImpl extends ServiceImpl<ClassEntityDao, ClassEnt
MPJLambdaWrapper<ClassTaskAndQuesReply> task0wrapper = new MPJLambdaWrapper<>();
task0wrapper.leftJoin(ClassTask.class,ClassTask::getId,ClassTaskAndQuesReply::getRelationId);
task0wrapper.selectAll(ClassTaskAndQuesReply.class);
task0wrapper.eq(ClassTask::getClassId,params.get("classId"));
task0wrapper.eq(ClassTask::getClassId,classEntity.getId());
task0wrapper.eq(ClassTask::getType,"0");
task0wrapper.eq(ClassTaskAndQuesReply::getUserId,ShiroUtils.getUId());
List<ClassTaskAndQuesReply> task0Replys = classTaskAndQuesReplyDao.selectList(task0wrapper);
@@ -1004,7 +1010,7 @@ public class ClassEntityServiceImpl extends ServiceImpl<ClassEntityDao, ClassEnt
MPJLambdaWrapper<ClassTaskAndQuesReply> task1wrapper = new MPJLambdaWrapper<>();
task1wrapper.leftJoin(ClassTask.class,ClassTask::getId,ClassTaskAndQuesReply::getRelationId);
task1wrapper.selectAll(ClassTaskAndQuesReply.class);
task1wrapper.eq(ClassTask::getClassId,params.get("classId"));
task1wrapper.eq(ClassTask::getClassId,classEntity.getId());
task1wrapper.eq(ClassTask::getType,"1");
task1wrapper.eq(ClassTaskAndQuesReply::getUserId,ShiroUtils.getUId());
List<ClassTaskAndQuesReply> task1Replys = classTaskAndQuesReplyDao.selectList(task1wrapper);
@@ -1021,7 +1027,7 @@ public class ClassEntityServiceImpl extends ServiceImpl<ClassEntityDao, ClassEnt
double experienceScore = 0;
MPJLambdaWrapper<ClassTask> experiencewrapper = new MPJLambdaWrapper<>();
experiencewrapper.eq(ClassTask::getUserId,ShiroUtils.getUId());
experiencewrapper.eq(ClassTask::getClassId,params.get("classId"));
experiencewrapper.eq(ClassTask::getClassId,classEntity.getId());
experiencewrapper.eq(ClassTask::getType,"2");
List<ClassTask> experiences = classTaskDao.selectList(experiencewrapper);
if (experiences.size() > 0) {
@@ -1036,5 +1042,38 @@ public class ClassEntityServiceImpl extends ServiceImpl<ClassEntityDao, ClassEnt
return map;
}
@Override
public List userScoreList(Map<String, Object> params) {
ClassEntity classEntity = this.getBaseMapper().selectById(params.get("classId").toString());
ClassModel classModel = classModelDao.selectById(classEntity.getModelId());
List<ClassUser> classUsers = classUserDao.selectList(new LambdaQueryWrapper<ClassUser>()
.eq(ClassUser::getClassId,classEntity.getId()).eq(ClassUser::getRole,"0"));
List<Map<String,Object>> resultList = new ArrayList<>();
if (classUsers.size() > 0){
for (ClassUser classUser:classUsers){
params.put("userId",classUser.getUserId());
Map<String,Object> map = getUserScore(params);
map.put("user",myUserDao.selectById(classUser.getUserId()));
if (classModel.getIsExam()==1){
List<ClassExamUser> classExamUsers = classExamUserDao.selectList(new LambdaQueryWrapper<ClassExamUser>()
.eq(ClassExamUser::getUserId,classUser.getUserId())
.eq(ClassExamUser::getClassId,classEntity.getId()));
int examScore = 0;
for (ClassExamUser classExamUser:classExamUsers){
if (classExamUser.getScore()>examScore){
examScore = classExamUser.getScore();
}
}
map.put("examScore",examScore);
}
//处理分数占比
resultList.add(map);
}
}
return resultList;
}
}

View File

@@ -154,7 +154,7 @@ public class ClassExamServiceImpl extends ServiceImpl<ClassExamDao, ClassExam> i
}
}
ClassExamUser classExamUser = new ClassExamUser();
classExamUser.setExamId(this.getBaseMapper().selectOne(new LambdaQueryWrapper<ClassExam>().eq(ClassExam::getClassId,params.get("classId"))).getId());
classExamUser.setClassId(Integer.parseInt(params.get("classId").toString()));
classExamUser.setSubject(JSONUtil.toJsonStr(resultList));
classExamUser.setUserId(ShiroUtils.getUId());
classExamUserDao.insert(classExamUser);