|
@@ -13,6 +13,7 @@ import cn.iselab.mooctest.site.service.instancePermission.TaskPermissionService;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
|
+import java.util.ArrayList;
|
|
|
import java.util.List;
|
|
|
import java.util.stream.Collectors;
|
|
|
|
|
@@ -50,6 +51,16 @@ public class ContestMentorServiceImpl implements ContestMentorService {
|
|
|
competitionIds.stream().forEach(competitionId->updateTaskViewPermission(user.getId(), competitionId));
|
|
|
}
|
|
|
|
|
|
+ @Override
|
|
|
+ public void addContestMentorPermission(Long competitionId, Long taskId) {
|
|
|
+ List<AddOns2Qualification> addons = addOns2QualificationDao.findByCompetitionId(competitionId);
|
|
|
+ List<String> contestMentorEmails = addons.stream().filter(aq -> aq.getAddonsType()==AddOns2Qualification.ADDONS_TYPE_TEACHER)
|
|
|
+ .map(AddOns2Qualification::getEmail).collect(Collectors.toList());
|
|
|
+ List<Long> contestMentorIds = userDao.findIdByEmail(contestMentorEmails);
|
|
|
+ List<Long> taskIds = new ArrayList<>(); taskIds.add(taskId);
|
|
|
+ contestMentorIds.stream().forEach(contestMentorId->taskPermissionService.grantViewPermission(contestMentorId,taskIds));
|
|
|
+ }
|
|
|
+
|
|
|
private void updateTaskViewPermission(Long userId, Long competitionId) {
|
|
|
List<Competition2Task> competition2Tasks = competitionService.getAllTasksOfCompetition(competitionId);
|
|
|
List<Long> examIds = competition2Tasks.stream().map(Competition2Task::getTaskId).collect(Collectors.toList());
|