Ver código fonte

项目、任务添加被拒绝处理状态

xuexiaobo 6 anos atrás
pai
commit
c6543bc8d5

+ 1 - 0
core/src/main/java/com/mooctest/crowd/domain/domainobject/CrowdTestProjectStatus.java

@@ -5,6 +5,7 @@ package com.mooctest.crowd.domain.domainobject;
  * @date 2019/7/9 14:21
  */
 public class CrowdTestProjectStatus {
+    public static final int HAS_REJECTED = -1; //项目被拒
     public static final int HAS_CREATED = 0;  //创建项目
     public static final int HAS_RELEASED = 1; //发布项目
     public static final int HAS_RECEIVED = 2; //接收项目

+ 6 - 5
core/src/main/java/com/mooctest/crowd/domain/domainobject/CrowdTestTaskStatus.java

@@ -5,10 +5,11 @@ package com.mooctest.crowd.domain.domainobject;
  * @date 2019/7/9 14:21
  */
 public class CrowdTestTaskStatus {
-    public static final int HAS_CREATED = 0;  //创建任务
-    public static final int HAS_RELEASED = 1; //发布任务
-    public static final int HAS_RECEIVED = 2; //接受任务
+    public static final int HAS_REJECTED = -1;  //定向发布被拒
+    public static final int HAS_CREATED = 0;    //创建任务
+    public static final int HAS_RELEASED = 1;   //发布任务
+    public static final int HAS_RECEIVED = 2;   //接受任务
 //    public static final int HAS_REPORTED = 3; //存在任务报告
-    public static final int HAS_COMMITED = 3; //提交任务
-    public static final int HAS_FINISHED = 4; //结束任务
+    public static final int HAS_COMMITED = 3;   //提交任务
+    public static final int HAS_FINISHED = 4;   //结束任务
 }

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

@@ -83,4 +83,25 @@ public class CrowdTaskController {
         }
         return taskService.acceptTask(projectCode, taskCode, userId);
     }
+
+    @LoginRequired
+    @RequestMapping(value = "/project/{projectCode}/task/{taskCode}/status/reject", method = RequestMethod.PUT)
+    public TaskDetailsDTO rejectTask(@PathVariable("projectCode") String projectCode, @PathVariable("taskCode") String taskCode, HttpSession session){
+        Long userId = Long.parseLong((String)session.getAttribute("userId"));
+        return null;
+    }
+
+    @LoginRequired
+    @RequestMapping(value = "/project/{projectCode}/task/{taskCode}/status/commit", method = RequestMethod.PUT)
+    public TaskDetailsDTO commitTask(@PathVariable("projectCode") String projectCode, @PathVariable("taskCode") String taskCode, HttpSession session){
+        Long userId = Long.parseLong((String)session.getAttribute("userId"));
+        return null;
+    }
+
+    @LoginRequired
+    @RequestMapping(value = "/project/{projectCode}/task/{taskCode}/status/finished", method = RequestMethod.PUT)
+    public TaskDetailsDTO confirmFinishTask(@PathVariable("projectCode") String projectCode, @PathVariable("taskCode") String taskCode, HttpSession session){
+        Long userId = Long.parseLong((String)session.getAttribute("userId"));
+        return null;
+    }
 }

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

@@ -137,7 +137,7 @@ public class WebMediatorImpl implements ViewMediator {
                 return new CrowdProjectVO(project); }).collect(Collectors.toList()));
             //获取区域管理员可以接收领取的项目列表
             //定向
-            List<CrowdTestProjectPO> acceptableProject = crowdTestProjectPOList.stream().filter(crowdTestProjectPO -> crowdTestProjectPO.getStatus()<CrowdTestProjectStatus.HAS_RECEIVED).collect(Collectors.toList());
+            List<CrowdTestProjectPO> acceptableProject = crowdTestProjectPOList.stream().filter(crowdTestProjectPO -> crowdTestProjectPO.getStatus(=CrowdTestProjectStatus.HAS_RELEASED).collect(Collectors.toList());
             //广场的
             acceptableProject.addAll(projectDao.findAllByStatusLessThanAndProjectDistributionTypeId(CrowdTestProjectStatus.HAS_RECEIVED, 2L));
             //区域的
@@ -166,7 +166,7 @@ public class WebMediatorImpl implements ViewMediator {
                         return task;
                     }).collect(Collectors.toList());
             unfinishedTasks = allTaskOfAgency.stream()
-                    .filter(crowdTestTask -> crowdTestTask.getStatus()<CrowdTestTaskStatus.HAS_FINISHED)
+                    .filter(crowdTestTask -> crowdTestTask.getStatus()>=CrowdTestTaskStatus.HAS_RECEIVED && crowdTestTask.getStatus()<CrowdTestTaskStatus.HAS_FINISHED)
                     .map(CrowdTaskVO::new).collect(Collectors.toList());
             finishedTasks = allTaskOfAgency.stream()
                     .filter(crowdTestTask -> crowdTestTask.getStatus()==CrowdTestTaskStatus.HAS_FINISHED)

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

@@ -148,7 +148,7 @@ public class CrowdTaskServiceImpl implements CrowdTaskService {
                 taskOperationControl.setConfirmFinish(true);
             }
         }
-        if (user.getEvaluationAgency()!=null){
+        if (user.getEvaluationAgency()!=null && task.getStatus()!=CrowdTestTaskStatus.HAS_REJECTED){
             if ((task.getDistributionType()==0 && task.getEvaluationAgencyId().equals(user.getId()))
                     ||(task.getDistributionType()==2 && task.getStatus()>CrowdTestTaskStatus.HAS_RELEASED && task.getEvaluationAgencyId().equals(user.getId()))){
                 if (task.getStatus()<CrowdTestTaskStatus.HAS_RECEIVED){