Bladeren bron

Merge branch 'Dev' into 'Test'

Dev

See merge request crowd-2019/crowd-test-service-backend!131
郭超 5 jaren geleden
bovenliggende
commit
6902e046c9

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

@@ -10,4 +10,5 @@ public class EndPoint {
     private String caseId;
     private String examId;
     private String serverCode;
+    private String url;
 }

+ 2 - 1
core/src/main/java/com/mooctest/crowd/domain/model/EndPointPO.java

@@ -30,5 +30,6 @@ public class EndPointPO {
     @Column(name = "EP_SERVER_CODE")
     private String serverCode;
 
-
+    @Column(name = "EP_URL")
+    private String url;
 }

+ 1 - 0
core/src/main/java/com/mooctest/crowd/domain/repository/CrowdTestProjectRepo.java

@@ -182,6 +182,7 @@ public class CrowdTestProjectRepo implements ICrowdTestProjectRepo {
                             addEndPointPO.setProjectCode(crowdTestProject.getCode());
                             addEndPointPO.setTaskCode(crowdTestTask.getCode());
                             addEndPointPO.setServerCode(endPoint.getServerCode());
+                            addEndPointPO.setUrl(endPoint.getUrl());
                             endPointDao.save(addEndPointPO);
                         }
                     }

+ 11 - 11
site/src/main/java/com/mooctest/crowd/site/command/CrowdTestTaskCommand.java

@@ -7,6 +7,7 @@ import org.springframework.beans.BeanUtils;
 
 import javax.validation.constraints.NotNull;
 import java.sql.Timestamp;
+import java.util.Base64;
 import java.util.Map;
 
 /**
@@ -72,23 +73,22 @@ public class CrowdTestTaskCommand {
         crowdTestTask.setRequirementFile(requirementFile);
         crowdTestTask.setParticipantCount(participantCount);
 
-        //http://59.42.10.17:8081/report/detail/examId_50/caseId_50/userId
         if(endPoint.getServerCode() != null && endPoint.getServerCode() != ""){
             String serverCode = endPoint.getServerCode();
-            if(serverCode.contains("examId_")){
-                endPoint.setExamId(serverCode.split("examId_")[1].split("/")[0]);
-                serverCode = serverCode.replaceFirst("examId_","");
+            byte[] decodedBytes = Base64.getDecoder().decode(serverCode);
+            String url = new String(decodedBytes);
+
+            if(url.contains("examId_")){
+                endPoint.setExamId(url.split("examId_")[1].split("/")[0]);
+                url = url.replaceFirst("examId_","");
             }
-            if(serverCode.contains("caseId_")){
-                endPoint.setCaseId(serverCode.split("caseId_")[1].split("/")[0]);
-                serverCode = serverCode.replaceFirst("caseId_","");
+            if(url.contains("caseId_")){
+                endPoint.setCaseId(url.split("caseId_")[1].split("/")[0]);
+                url = url.replaceFirst("caseId_","");
             }
-            endPoint.setServerCode(serverCode);
+            endPoint.setUrl(url);
             crowdTestTask.setEndPoint(endPoint);
         }
-//        if(endpoint != null && endpoint.getCaseId() != null && endpoint.getExamId() != null){
-//            crowdTestTask.setEndPoint(endpoint);
-//        }
         return crowdTestTask;
     }
 

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

@@ -962,7 +962,7 @@ public class WebMediatorImpl implements ViewMediator {
             // 判断是否具有配置项,提供跳转url
             if(endPointPOOptional.isPresent()){
                 // 获取测试类型对应的跳转url
-                String reportUrl = endPointPOOptional.get().getServerCode().replace("userId", String.valueOf(userId));
+                String reportUrl = endPointPOOptional.get().getUrl().replace("userId", String.valueOf(userId));
                 taskVO.setWriteReportUrl(reportUrl);
             }
         }
@@ -1078,7 +1078,11 @@ public class WebMediatorImpl implements ViewMediator {
         authingList.addAll(projectDao.findByNameLikeAndIsDeleted("%" + name + "%", DeletedStatus.isNotDeleted).stream().map(crowdTestProjectPO -> {
             CrowdTestProject crowdTestProject = new CrowdTestProject();
             BeanUtils.copyProperties(crowdTestProjectPO, crowdTestProject);
-            return new CrowdTestProjectVO(crowdTestProject);
+            // 项目测试类型转换
+            String applicationName = commonRepo.getApplicationNameByCode(crowdTestProjectPO.getApplicationType());
+            CrowdTestProjectVO crowdTestProjectVO = new CrowdTestProjectVO(crowdTestProject);
+            crowdTestProjectVO.setApplicationType(applicationName);
+            return crowdTestProjectVO;
         }).collect(Collectors.toList()).stream().sorted(Comparator.comparing(CrowdTestProjectVO::getCreateTime).reversed()).collect(Collectors.toList()));
         return authingList;
     }
@@ -1102,12 +1106,13 @@ public class WebMediatorImpl implements ViewMediator {
         List<CrowdTestProjectVO> authingList = new ArrayList<>();
         authingList.addAll(projectDao.findAll().stream().map(crowdTestProjectPO ->{
             CrowdTestProject crowdTestProject = new CrowdTestProject();
-//            if(crowdTestProject.getDeadTime().getTime() < System.currentTimeMillis()){
-//
-//            }
             BeanUtils.copyProperties(crowdTestProjectPO, crowdTestProject);
             themeStatusService.updateStatus(crowdTestProject);
-            return new CrowdTestProjectVO(crowdTestProject);
+            // 项目测试类型转换
+            String applicationName = commonRepo.getApplicationNameByCode(crowdTestProjectPO.getApplicationType());
+            CrowdTestProjectVO crowdTestProjectVO = new CrowdTestProjectVO(crowdTestProject);
+            crowdTestProjectVO.setApplicationType(applicationName);
+            return crowdTestProjectVO;
         }).collect(Collectors.toList()));
         return authingList;
     }

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

@@ -101,10 +101,12 @@ public class CrowdProjectServiceImpl implements CrowdProjectService {
         List<CrowdTestProjectVO> authingList = new ArrayList<>();
         authingList.addAll(projectDao.findindexProject().stream().map(crowdTestProjectPO -> {
             CrowdTestProject crowdTestProject = new CrowdTestProject();
-//            String applicationName = commonRepo.getApplicationNameByCode(crowdTestProjectPO.getApplicationType());
-//            crowdTestProjectPO.setApplicationType(applicationName);
             BeanUtils.copyProperties(crowdTestProjectPO, crowdTestProject);
-            return new CrowdTestProjectVO(crowdTestProject);
+            // 项目测试类型转换
+            String applicationName = commonRepo.getApplicationNameByCode(crowdTestProjectPO.getApplicationType());
+            CrowdTestProjectVO crowdTestProjectVO = new CrowdTestProjectVO(crowdTestProject);
+            crowdTestProjectVO.setApplicationType(applicationName);
+            return crowdTestProjectVO;
         }).collect(Collectors.toList()));
         return authingList;
     }