فهرست منبع

add:对任务接收数量是否满员的判断

guo00guo 5 سال پیش
والد
کامیت
abf71d6508

+ 6 - 0
core/src/main/java/com/mooctest/crowd/domain/domainobject/CrowdTestTask.java

@@ -28,6 +28,7 @@ public class CrowdTestTask {
     private Double quotedPrice;
     private Double fixedPrice;
     private int status;
+    private int fullStatus;
     private Timestamp deadTime;
     private Timestamp endTime;
     private int isDeleted;
@@ -105,6 +106,11 @@ public class CrowdTestTask {
         acceptedUserList.add(taskToUser);
         this.setAcceptedUserList(acceptedUserList);
         this.setAcceptedCount(this.acceptedCount+1);
+        if (this.getAcceptedCount() == this.getParticipantCount()){
+            this.setFullStatus(CrowdTestTaskAcceptStatus.HAS_FULL);
+        }else{
+            this.setFullStatus(CrowdTestTaskAcceptStatus.NOT_FULL);
+        }
         this.setStatus(CrowdTestTaskStatus.HAS_RECEIVED);
     }
 

+ 10 - 0
core/src/main/java/com/mooctest/crowd/domain/domainobject/CrowdTestTaskAcceptStatus.java

@@ -0,0 +1,10 @@
+package com.mooctest.crowd.domain.domainobject;
+
+/**
+ * @author guochao
+ * @date 2019/7/9 14:21
+ */
+public class CrowdTestTaskAcceptStatus {
+    public static final int NOT_FULL = 0;    //未满员状态
+    public static final int HAS_FULL = 1;   //满员状态
+}

+ 3 - 0
core/src/main/java/com/mooctest/crowd/domain/model/CrowdTestTaskPO.java

@@ -58,6 +58,9 @@ CrowdTestTaskPO {
     @Column(name = "CTT_STATUS")
     private int status;
 
+    @Column(name = "CTT_FULL_STATUS")
+    private int fullStatus;
+
     @Column(name = "CTT_DEAD_LINE")
     private Timestamp deadTime;
 

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

@@ -1,6 +1,7 @@
 package com.mooctest.crowd.site.data.vo;
 
 import com.mooctest.crowd.domain.domainobject.CrowdTestTask;
+import com.mooctest.crowd.domain.domainobject.CrowdTestTaskAcceptStatus;
 import com.mooctest.crowd.domain.domainobject.CrowdTestTaskStatus;
 import lombok.Data;
 
@@ -28,10 +29,12 @@ public class CrowdTaskVO {
     private String institution;
     private String serviceType;
     private int status;
+    private int fullStatus;
     private Timestamp datetime;
     private int participantCount;
     private int acceptedCount;
     private StatusVO statusVO;
+    private FullStatusVO fullStatusVO;
 
     public CrowdTaskVO(CrowdTestTask task){
         id = task.getCode();
@@ -47,6 +50,7 @@ public class CrowdTaskVO {
         serviceType = task.getType();
         requirementFile = task.getRequirementFile();
         status = task.getStatus();
+        fullStatus = task.getFullStatus();
         agencyId = task.getEvaluationAgencyId();
         datetime = task.getDeadTime();
         participantCount = task.getParticipantCount();
@@ -69,5 +73,14 @@ public class CrowdTaskVO {
             this.statusVO.setText("已完成");
             this.statusVO.setStyle("success");
         }
+
+        this.fullStatusVO = new FullStatusVO();
+        if(this.fullStatus == CrowdTestTaskAcceptStatus.NOT_FULL){
+            this.fullStatusVO.setText("未满员");
+            this.fullStatusVO.setStyle("info");
+        }else if(this.fullStatus == CrowdTestTaskAcceptStatus.HAS_FULL){
+            this.fullStatusVO.setText("已满员");
+            this.fullStatusVO.setStyle("warning");
+        }
     }
 }

+ 34 - 0
site/src/main/java/com/mooctest/crowd/site/data/vo/FullStatusVO.java

@@ -0,0 +1,34 @@
+package com.mooctest.crowd.site.data.vo;
+
+import com.mooctest.crowd.domain.domainobject.AuthenticationStatus;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+/**
+ * @author: Diors.Po
+ * @Email: 171256175@qq.com
+ * @date 2019-08-27 00:51
+ */
+@Data
+@NoArgsConstructor
+public class FullStatusVO {
+    String text;
+    String style;
+
+    public FullStatusVO(Integer status){
+        initAuthStatus(status);
+    }
+
+    public void initAuthStatus(Integer status){
+        if (status.equals(AuthenticationStatus.isAuthenticated)){
+            this.setText("认证通过");
+            this.setStyle("success");
+        } else if (status.equals(AuthenticationStatus.isAuthenIng)){
+            this.setText("审核中");
+            this.setStyle("warning");
+        } else if (status.equals(AuthenticationStatus.isNotAuthenticated)) {
+            this.setText("认证失败");
+            this.setStyle("info");
+        }
+    }
+}

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

@@ -233,7 +233,8 @@ public class WebMediatorImpl implements ViewMediator {
             CrowdTestTask task = CrowdTestProjectFactory.defaultTask();
             BeanUtils.copyProperties(crowdTestTaskPO, task);
             return task;
-        }).collect(Collectors.toList()).stream().filter(crowdTestTask -> crowdTestTask.getStatus() == CrowdTestTaskStatus.HAS_RELEASED)
+        }).collect(Collectors.toList()).stream().filter(crowdTestTask -> crowdTestTask.getStatus() == CrowdTestTaskStatus.HAS_RELEASED ||
+                (crowdTestTask.getStatus() == CrowdTestTaskStatus.HAS_RECEIVED && crowdTestTask.getFullStatus() == CrowdTestTaskAcceptStatus.NOT_FULL))
                 .filter(crowdTestTask -> crowdTestTask.getDistributionType()==2)
                 .map(CrowdTaskVO::new).collect(Collectors.toList());
         TaskSquareDTO taskSquareDTO = new TaskSquareDTO();