瀏覽代碼

修改众测广场显示待接收的项目和任务

guo00guo 5 年之前
父節點
當前提交
a6eebb5d9b

+ 4 - 0
site/src/main/java/com/mooctest/crowd/site/mediator/ViewMediator.java

@@ -81,6 +81,8 @@ public interface ViewMediator {
 
     List<CrowdTaskVO> crowdTaskVos();
 
+    List<CrowdTaskVO> crowdTaskVosWaitingAccept();
+
     UserDTO getInformation(long userId);
 
     UserDTO updateInformation(long userId, UserVO userVO);
@@ -110,4 +112,6 @@ public interface ViewMediator {
     QualificationDTO getOne(long id);
 
     BankCardDTO getBankType();
+
+    List<CrowdTestProjectVO> crowdTestProjectsWaitingAccept();
 }

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

@@ -33,7 +33,6 @@ import org.springframework.data.domain.Pageable;
 import org.springframework.stereotype.Component;
 import org.springframework.web.client.RestTemplate;
 
-import java.text.SimpleDateFormat;
 import java.util.*;
 import java.util.stream.Collectors;
 
@@ -1035,7 +1034,7 @@ public class WebMediatorImpl implements ViewMediator {
         return authingList;
     }
 
-
+    @Override
     public List<CrowdTestProjectVO> crowdTestProjects() {
         List<CrowdTestProjectVO> authingList = new ArrayList<>();
         authingList.addAll(projectDao.findAll().stream().map(crowdTestProjectPO -> {
@@ -1054,9 +1053,27 @@ public class WebMediatorImpl implements ViewMediator {
         return authingList;
     }
 
+
     @Override
-    public List<CrowdTaskVO> crowdTaskVos() {
+    public List<CrowdTestProjectVO> crowdTestProjectsWaitingAccept() {
+        return projectDao.findAll().stream().filter(crowdTestProjectPO -> crowdTestProjectPO.getStatus() == CrowdTestProjectStatus.HAS_RELEASED
+            && crowdTestProjectPO.getDeadTime().getTime() > System.currentTimeMillis()).map(crowdTestProjectPO -> {
+            CrowdTestProject crowdTestProject = new CrowdTestProject();
+            BeanUtils.copyProperties(crowdTestProjectPO, crowdTestProject);
+            // 应用类型值的转换
+            Optional<ApplicationTypePO> applicationTypePO = applicationTypeDao.findByCode(crowdTestProject.getApplicationType());
+            if (applicationTypePO.isPresent()) {
+                crowdTestProject.setApplicationType(applicationTypePO.get().getName());
+            } else {
+                throw new HttpBadRequestException("请选择应用类型");
+            }
+            return new CrowdTestProjectVO(crowdTestProject);
 
+        }).collect(Collectors.toList());
+    }
+
+    @Override
+    public List<CrowdTaskVO> crowdTaskVos() {
         List<CrowdTaskVO> authingList = new ArrayList<>();
         authingList.addAll(taskDao.findAll().stream().map(crowdTestTaskPO -> {
             //根据code值查询出来该任务的type
@@ -1070,6 +1087,19 @@ public class WebMediatorImpl implements ViewMediator {
     }
 
     @Override
+    public List<CrowdTaskVO> crowdTaskVosWaitingAccept() {
+        return taskDao.findAll().stream().filter(crowdTestTaskPO -> crowdTestTaskPO.getStatus() == CrowdTestTaskStatus.HAS_RELEASED
+                && crowdTestTaskPO.getDeadTime().getTime() > System.currentTimeMillis()).map(crowdTestTaskPO -> {
+            //根据code值查询出来该任务的type
+            Optional<TestTypePO> serviceType = testTypeDao.findByCode(crowdTestTaskPO.getType());
+            CrowdTestTask crowdTestTask = new CrowdTestTask();
+            BeanUtils.copyProperties(crowdTestTaskPO, crowdTestTask);
+            crowdTestTask.setType(serviceType.get().getName());
+            return new CrowdTaskVO(crowdTestTask);
+        }).collect(Collectors.toList());
+    }
+
+    @Override
     public UserDTO getInformation(long userId) {
         UserDTO userDTO = new UserDTO();
         Optional<UserPO> userPO = userDao.findById(userId);

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

@@ -97,7 +97,7 @@ public class CrowdProjectServiceImpl implements CrowdProjectService {
     @Override
     public List<CrowdTestProjectVO> findByNameLike(String name) {
         if (name == null || name.trim().equals("")) {
-            return viewMediator.crowdTestProjects().stream().sorted(Comparator.comparing(CrowdTestProjectVO::getCreateTime).reversed()).collect(Collectors.toList());
+            return viewMediator.crowdTestProjectsWaitingAccept().stream().sorted(Comparator.comparing(CrowdTestProjectVO::getCreateTime).reversed()).collect(Collectors.toList());
         }
         return viewMediator.findByNameLike(name).stream().sorted(Comparator.comparing(CrowdTestProjectVO::getCreateTime).reversed()).collect(Collectors.toList());
 

+ 1 - 1
site/src/main/java/com/mooctest/crowd/site/util/DataUtils.java

@@ -61,7 +61,7 @@ public class DataUtils {
     }
 
     private static <T> PageImpl<T> getRealSubList(int pageStart, int expectPageEnd, List<T> list, Pageable pageable) {
-        int realPageEnd = (list.size() > expectPageEnd || list.size() == expectPageEnd) ? expectPageEnd + 1 : list.size();
+        int realPageEnd = (list.size() > expectPageEnd || list.size() == expectPageEnd) ? expectPageEnd : list.size();
         return new PageImpl<>(list.subList(pageStart, realPageEnd), pageable, list.size());
     }