|
@@ -6,6 +6,9 @@ import cn.iselab.mooctest.site.dao.*;
|
|
|
import cn.iselab.mooctest.site.models.*;
|
|
|
import cn.iselab.mooctest.site.service.CompetitionService;
|
|
|
import cn.iselab.mooctest.site.web.data.AddonsVO;
|
|
|
+import cn.iselab.mooctest.site.web.data.UserVO;
|
|
|
+import java.math.BigInteger;
|
|
|
+import javax.jws.soap.SOAPBinding.Use;
|
|
|
import org.apache.commons.collections.IteratorUtils;
|
|
|
import org.apache.shiro.SecurityUtils;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
@@ -283,4 +286,62 @@ public class CompetitionServiceImpl implements CompetitionService {
|
|
|
res.put("message", "加入成功");
|
|
|
return res;
|
|
|
}
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public List<UserVO> getSingleCompetitionStudents(long competitionId, long teacherId) {
|
|
|
+ User teacher = userDao.findById(teacherId);
|
|
|
+ if(teacher == null){
|
|
|
+ throw new IllegalArgumentException("教师不存在!teacherId:"+teacherId);
|
|
|
+ }
|
|
|
+ List<Object[]> students = addOns2QualificationDao.findTeacherCompetitionStudents
|
|
|
+ (competitionId, teacher.getEmail());
|
|
|
+ return students.stream().map(s->{
|
|
|
+ UserVO uv = new UserVO();
|
|
|
+ uv.setName((String)s[1]);
|
|
|
+ uv.setEmail((String)s[2]);
|
|
|
+ return uv;
|
|
|
+ }).collect(Collectors.toList());
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public List<List<UserVO>> getTeamCompetitionStudents(long competitionId, long teacherId) {
|
|
|
+ User teacher = userDao.findById(teacherId);
|
|
|
+ if(teacher == null){
|
|
|
+ throw new IllegalArgumentException("教师不存在!teacherId:"+teacherId);
|
|
|
+ }
|
|
|
+ List<BigInteger> leaderQid = addOns2QualificationDao.findTeachderTeamLeaderQid(competitionId,
|
|
|
+ teacher.getEmail());
|
|
|
+
|
|
|
+ List<List<UserVO>> teamList = new ArrayList<>();
|
|
|
+ leaderQid.forEach(bgid -> {
|
|
|
+ //bigInteger转Long
|
|
|
+ Long qid = Long.parseLong(String.valueOf(bgid));
|
|
|
+ //团队赛队员
|
|
|
+ List<AddOns2Qualification> a2qs = addOns2QualificationDao
|
|
|
+ .findByQualificationIdAndAddonsType(qid, AddOns2Qualification
|
|
|
+ .ADDONS_TYPE_MEMBER);
|
|
|
+ List<UserVO> userVOList = a2qs.stream().map(a2q -> {
|
|
|
+ UserVO userVO = new UserVO();
|
|
|
+ userVO.setName(a2q.getName());
|
|
|
+ userVO.setEmail(a2q.getEmail());
|
|
|
+ return userVO;
|
|
|
+ }).collect(Collectors.toList());
|
|
|
+
|
|
|
+ //团队赛队长
|
|
|
+ Qualification leaderQua = qualificationDao.findOne(qid);
|
|
|
+ User leader = userDao.findById(leaderQua.getUserId());
|
|
|
+ if(leader == null){
|
|
|
+ throw new IllegalArgumentException("队长不存在!队长id:"+leaderQua.getUserId());
|
|
|
+ }
|
|
|
+ UserVO leaderVO = new UserVO();
|
|
|
+ leaderVO.setName(leader.getName());
|
|
|
+ leaderVO.setEmail(leader.getEmail());
|
|
|
+ userVOList.add(leaderVO);
|
|
|
+
|
|
|
+ teamList.add(userVOList);
|
|
|
+
|
|
|
+ });
|
|
|
+
|
|
|
+ return teamList;
|
|
|
+ }
|
|
|
}
|