Quellcode durchsuchen

assigned task view

tangss vor 8 Jahren
Ursprung
Commit
28ea272856

+ 16 - 0
mooctest-site-server/src/main/java/cn/iselab/mooctest/site/dao/ContestMentorAssignedTaskDao.java

@@ -0,0 +1,16 @@
+package cn.iselab.mooctest.site.dao;
+
+import cn.iselab.mooctest.site.models.AssignedTask;
+import cn.iselab.mooctest.site.models.ContestMentorAssignedTask;
+import org.springframework.data.domain.Page;
+import org.springframework.data.domain.Pageable;
+import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
+import org.springframework.data.repository.PagingAndSortingRepository;
+
+/**
+ * Created by shanshan on 2017/9/14.
+ */
+public interface ContestMentorAssignedTaskDao  extends PagingAndSortingRepository<ContestMentorAssignedTask, Long>,JpaSpecificationExecutor<ContestMentorAssignedTask> {
+
+    Page<ContestMentorAssignedTask> findByTaskId(Long examId, Pageable pageable);
+}

+ 60 - 0
mooctest-site-server/src/main/java/cn/iselab/mooctest/site/models/ContestMentorAssignedTask.java

@@ -0,0 +1,60 @@
+package cn.iselab.mooctest.site.models;
+
+import lombok.Data;
+
+import javax.persistence.*;
+import java.sql.Timestamp;
+
+/**
+ * Created by shanshan on 2017/9/14.
+ */
+@Entity
+@Data
+@Table(name = "contest_mentor_assignedTask")
+public class ContestMentorAssignedTask {
+
+    @Id
+    private Long id;
+
+    @Column(name = "name")
+    private String name;
+
+    @Column(name = "content")
+    private String content;
+
+    @Column(name = "result")
+    private String result;
+
+    @Column(name = "mac_address")
+    private String macAddress;
+
+    @Column(name = "login_time")
+    private Timestamp loginTime;
+
+    @Column(name = "submit_time")
+    private Timestamp submitTime;
+
+    @Column(name = "score")
+    private Double score;
+
+    @Column(name = "is_deleted")
+    private Boolean isDeleted = false;
+
+    @Column(name = "worker_id")
+    private Long workerId;
+
+    @Column(name = "manager_id")
+    private Long managerId;
+
+    @Column(name = "task_id")
+    private Long taskId;
+
+    @Column(name = "owner_id")
+    private Long ownerId;
+
+    @Column(name = "participant_id")
+    private Long participantId;
+
+    @Column(name = "mentor_id")
+    private Long mentorId;
+}

+ 2 - 0
mooctest-site-server/src/main/java/cn/iselab/mooctest/site/service/AssignedTaskService.java

@@ -34,6 +34,8 @@ public interface AssignedTaskService {
 
     Page<AssignedTask> getAssignedTaskPage(Long examId, Pageable pageable);
 
+    Page<AssignedTask> getContestMentorAssignedTaskPage(Long examId, Pageable pageable);
+
     List<Double> getScoreList(Long examId);
 
     Boolean isSubmitted(Long examId, Long participantId, Long caseId, String subsiteCaseId);

+ 17 - 4
mooctest-site-server/src/main/java/cn/iselab/mooctest/site/service/impl/AssignedTaskServiceImpl.java

@@ -1,9 +1,6 @@
 package cn.iselab.mooctest.site.service.impl;
 
-import cn.iselab.mooctest.site.dao.AssignedTaskDao;
-import cn.iselab.mooctest.site.dao.CaseDao;
-import cn.iselab.mooctest.site.dao.SubjectDao;
-import cn.iselab.mooctest.site.dao.SubsiteDao;
+import cn.iselab.mooctest.site.dao.*;
 import cn.iselab.mooctest.site.data.AssignedCase;
 import cn.iselab.mooctest.site.data.Result;
 import cn.iselab.mooctest.site.models.*;
@@ -15,6 +12,7 @@ import com.google.common.collect.Lists;
 import org.json.JSONArray;
 import org.json.JSONObject;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.core.convert.converter.Converter;
 import org.springframework.data.domain.Page;
 import org.springframework.data.domain.Pageable;
 import org.springframework.stereotype.Service;
@@ -34,6 +32,9 @@ public class AssignedTaskServiceImpl extends BaseService implements AssignedTask
     private AssignedTaskDao assignedTaskDao;
 
     @Autowired
+    private ContestMentorAssignedTaskDao contestMentorAssignedTaskDao;
+
+    @Autowired
     private CaseDao caseDao;
 
     @Autowired
@@ -229,6 +230,18 @@ public class AssignedTaskServiceImpl extends BaseService implements AssignedTask
     }
 
     @Override
+    public Page<AssignedTask> getContestMentorAssignedTaskPage(Long examId, Pageable pageable) {
+        Page<ContestMentorAssignedTask> assignedTaskPage = contestMentorAssignedTaskDao.findByTaskId(examId, pageable);
+
+        return assignedTaskPage.map(new Converter<ContestMentorAssignedTask, AssignedTask>() {
+            @Override
+            public AssignedTask convert(ContestMentorAssignedTask contestMentorAssignedTask) {
+                return cn.iselab.mooctest.site.web.util.Converter.convert(AssignedTask.class, contestMentorAssignedTask);
+            }
+        });
+    }
+
+    @Override
     public List<Double> getScoreList(Long examId) {
         return assignedTaskDao.findScoreListByExamId(examId);
     }

+ 1 - 1
mooctest-site-server/src/main/java/cn/iselab/mooctest/site/web/ctrl/ExamController.java

@@ -142,7 +142,7 @@ public class ExamController extends BaseController {
             sort = new Sort(Sort.Direction.ASC,sortBy);
 
         Pageable pageable = new PageRequest(Integer.parseInt(activePage) - 1, Integer.parseInt(rowsOnPage), sort);
-        return examLogic.getAssignedTasks(examId, pageable);
+        return examLogic.getAssignedTasks(examId, SecurityUtils.getSubject().isPermitted("assignedTasks:filter"), pageable);
     }
 
     @RequestMapping(value = UrlConstants.API + "score", method = RequestMethod.GET)

+ 1 - 1
mooctest-site-server/src/main/java/cn/iselab/mooctest/site/web/logic/ExamLogic.java

@@ -25,7 +25,7 @@ public interface ExamLogic {
 
     ExamVO updateExam(ExamVO examVO);
 
-    Page<AssignedTaskVO> getAssignedTasks(Long examId, Pageable pageable);
+    Page<AssignedTaskVO> getAssignedTasks(Long examId ,Boolean needFilter, Pageable pageable);
 
     ScoreVO getScoreBy(long examId, long participantId) throws AssignedTaskNotExistException;
     List<Double> getScoreList(Long examId);

+ 8 - 2
mooctest-site-server/src/main/java/cn/iselab/mooctest/site/web/logic/impl/ExamLogicImpl.java

@@ -18,6 +18,7 @@ import cn.iselab.mooctest.site.web.exception.HttpBadRequestException;
 import cn.iselab.mooctest.site.web.exception.HttpNotFoundException;
 import cn.iselab.mooctest.site.web.logic.BaseLogic;
 import cn.iselab.mooctest.site.web.logic.ExamLogic;
+import org.apache.shiro.SecurityUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.core.convert.converter.Converter;
 import org.springframework.data.domain.Page;
@@ -169,8 +170,13 @@ public class ExamLogicImpl extends BaseLogic implements ExamLogic {
     }
 
     @Override
-    public Page<AssignedTaskVO> getAssignedTasks(Long examId, Pageable pageable) {
-        Page<AssignedTask> assignedTasks = assignedTaskService.getAssignedTaskPage(examId, pageable);
+    public Page<AssignedTaskVO> getAssignedTasks(Long examId,Boolean needFilter, Pageable pageable) {
+        Page<AssignedTask> assignedTasks;
+        if(needFilter){
+            assignedTasks = assignedTaskService.getContestMentorAssignedTaskPage(examId, pageable);
+        }else{
+            assignedTasks = assignedTaskService.getAssignedTaskPage(examId, pageable);
+        }
         List<Long> userIds = assignedTasks.getContent().stream().map(AssignedTask::getParticipantId).
                 collect(Collectors.toList());