guo00guo 5 anni fa
parent
commit
5b7a4353a1

+ 2 - 4
site/src/main/java/com/mooctest/crowd/site/controller/CrowdReportController.java

@@ -30,9 +30,8 @@ public class CrowdReportController {
                                           @PathVariable("taskCode") String taskCode,
                                           @PathVariable("reportCode") String reportCode,
                                           HttpSession session){
-        if (session.getAttribute("userId")==null)
-            return reportService.getTaskReport(projectCode, taskCode, reportCode, null);
-        return reportService.getTaskReport(projectCode, taskCode, reportCode, Long.parseLong((String)session.getAttribute("userId")));
+        long userId = Long.parseLong((String) session.getAttribute("userId"));
+        return reportService.getTaskReport(projectCode, taskCode, reportCode, userId);
     }
 
     @RequestMapping(value = "/project/{projectCode}/task/{taskCode}/report", method = RequestMethod.POST)
@@ -43,7 +42,6 @@ public class CrowdReportController {
         log.info("projectCode: " + projectCode + ", taskCode: "+taskCode);
         if (result.hasErrors())
             throw new BaseException(result.getFieldError().getDefaultMessage());
-        System.out.println(Long.parseLong((String) session.getAttribute("userId")));
         return reportService.createTaskReport(projectCode, taskCode, command, Long.parseLong((String) session.getAttribute("userId")));
     }
 

+ 1 - 1
site/src/main/java/com/mooctest/crowd/site/controller/CrowdTaskController.java

@@ -33,7 +33,7 @@ public class CrowdTaskController {
         Object user = session.getAttribute("userId");
         if (user == null)
             return taskService.getTaskDetails(projectCode, taskCode, null);
-        Long userId = Long.parseLong((String)user );
+        Long userId = Long.parseLong((String)session.getAttribute("userId"));
         return taskService.getTaskDetails(projectCode, taskCode, userId);
     }
 

+ 3 - 0
site/src/main/java/com/mooctest/crowd/site/data/vo/CrowdTaskVO.java

@@ -6,7 +6,9 @@ import com.mooctest.crowd.domain.domainobject.CrowdTestTaskStatus;
 import lombok.Data;
 
 import java.sql.Timestamp;
+import java.util.ArrayList;
 import java.util.HashMap;
+import java.util.List;
 import java.util.Map;
 
 /**
@@ -36,6 +38,7 @@ public class CrowdTaskVO {
     private int participantHasReportCount;
     private StatusVO statusVO;
     private FullStatusVO fullStatusVO;
+    private List<TaskToUserVO> taskToUserVOS = new ArrayList<>();
 
     public CrowdTaskVO(CrowdTestTask task){
         id = task.getCode();

+ 12 - 0
site/src/main/java/com/mooctest/crowd/site/mediator/impl/WebMediatorImpl.java

@@ -282,6 +282,7 @@ public class WebMediatorImpl implements ViewMediator {
                 .stream().filter(crowdTestTask -> crowdTestTask.getCode().equals(taskCode)).findFirst();
         if (!task.isPresent())
             throw new CrowdTestTaskNotExistException();
+        System.out.println("renderTaskReportDetails userID: " + userId);
         // 查看当前任务指定用户
         Optional<TaskToUser> taskToUserOptional = task.get().getAcceptedUserList().stream().filter(taskToUser -> taskToUser.getUserId().equals(userId)).findFirst();
         if(!taskToUserOptional.isPresent())
@@ -319,6 +320,7 @@ public class WebMediatorImpl implements ViewMediator {
         if (!task.isPresent())
             throw new CrowdTestTaskNotExistException();
         CrowdTaskVO taskVO = new CrowdTaskVO(task.get());
+        System.out.println("renderTaskDetails userId:" + userId);
         if (userId == null)
             taskDetailsDTO.setTaskOperationControl(this.initTaskPermission(project, task.get(), null));
         else
@@ -503,7 +505,9 @@ public class WebMediatorImpl implements ViewMediator {
                     ||(task.getDistributionType()==2 && task.getStatus()>=CrowdTestTaskStatus.HAS_RECEIVED)){
                 List<TaskToUser> acceptedUserList = task.getAcceptedUserList();
                 Optional<TaskToUser> taskToUserOptional = acceptedUserList.stream().filter(taskToUser -> taskToUser.getUserId().equals(user.getId())).findFirst();
+
                 if(taskToUserOptional.isPresent()){
+                    // 已接收用户
                     if (task.getStatus()==CrowdTestTaskStatus.HAS_RELEASED){
                         taskOperationControl.setReceive(true);
                         if (task.getDistributionType()==0)
@@ -516,6 +520,14 @@ public class WebMediatorImpl implements ViewMediator {
                     } else if (task.getStatus() == CrowdTestTaskStatus.HAS_COMMITED){
                         taskOperationControl.setUploadReport(true);
                     }
+                }else{
+                    // 未接收用户
+                    taskOperationControl.setReceive(true);
+                    if (task.getStatus()==CrowdTestTaskStatus.HAS_RELEASED){
+                        // 定向的
+                        if (task.getDistributionType()==0)
+                            taskOperationControl.setReject(true);
+                    }
                 }
 
             } else if (task.getDistributionType()==2){

+ 1 - 4
site/src/main/java/com/mooctest/crowd/site/service/impl/CrowdReportServiceImpl.java

@@ -77,9 +77,6 @@ public class CrowdReportServiceImpl implements CrowdReportService {
             throw new CrowdTestTaskNotExistException();
         if (task.get().getStatus() == CrowdTestTaskStatus.HAS_FINISHED)
             throw new BaseException("当前阶段无法修改报告");
-//        Optional<CrowdTestReport> report = task.get().getCrowdTestReportList()
-//                .stream().filter(crowdTestReport -> crowdTestReport.getCode().equals(reportCode)).findFirst();
-
         boolean flag = false;
         List<TaskToUser> acceptedUserList = task.get().getAcceptedUserList();
         for(TaskToUser taskToUser : acceptedUserList){
@@ -103,7 +100,7 @@ public class CrowdReportServiceImpl implements CrowdReportService {
         }
 
         projectRepo.saveCrowdTestProject(project);
-        return getTaskReport(projectCode, taskCode, reportCode, task.get().getEvaluationAgencyId());
+        return getTaskReport(projectCode, taskCode, reportCode, userId);
     }
 
     @Override