Browse Source

Merge branch 'feature-V2.0' into 'Test'

Feature v2.0

See merge request crowd-2019/crowd-test-service-backend!143
郭超 5 years ago
parent
commit
f6731a8fa5

+ 1 - 1
core/src/main/java/com/mooctest/crowd/domain/dao/CrowdTestProjectDao.java

@@ -82,5 +82,5 @@ public interface CrowdTestProjectDao extends CrudRepository<CrowdTestProjectPO,
 
     @Modifying
     @Query(nativeQuery = true,value="update crowd_test_project set CTP_STATUS= ?1 where CTP_CODE=?2")
-    void updateStatusById(@Param("status") int status, @Param("code") String code);
+    void updateStatusByCode(@Param("status") int status, @Param("code") String code);
 }

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

@@ -570,7 +570,7 @@ public class WebMediatorImpl implements ViewMediator {
                     CrowdTestProject project = new CrowdTestProject();
                     BeanUtils.copyProperties(crowdTestProjectPO, project);
                     CrowdProjectVO projectVO = new CrowdProjectVO(project);
-                    themeStatusService.updateStatus(project);
+//                    themeStatusService.updateStatus(project);
                     if (project.getStatus() == CrowdTestProjectStatus.HAS_COMMITED)
                         projectVO.setNeedHandle(true);
                     // 应用类型值的转换

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

@@ -278,7 +278,9 @@ public class CrowdProjectServiceImpl implements CrowdProjectService {
             project.setJoinCount(1);
             project.setRestPrice(0.0);
             project.setStatus(CrowdTestProjectStatus.HAS_FINISHED);
-            project.setCreateTime(new Timestamp(System.currentTimeMillis() - 1000));
+            project.setCreateTime(new Timestamp(System.currentTimeMillis() - 1000000));
+            project.setEndTime(new Timestamp(System.currentTimeMillis()));
+            project.setDeadTime(new Timestamp(System.currentTimeMillis() + 1000000));
 //            project.setProjectDistributionTypeId(0L);
 //            project.setRegionalManagerId();
             List<CrowdTestTask> tasks = new ArrayList<>();
@@ -326,20 +328,22 @@ public class CrowdProjectServiceImpl implements CrowdProjectService {
             crowdTestReport.setDependencyCode(task.getCode());
             crowdTestReport.setType("测试报告");
             crowdTestReport.setName(task.getName() + "测试报告");
-            crowdTestReport.setContent(project.getCrowdTestReportForProject().getContent());
-            crowdTestReport.setConclusion(project.getCrowdTestReportForProject().getConclusion());
+
+            CrowdTestReport reportForProject = project.getCrowdTestReportForProject();
+            crowdTestReport.setContent(reportForProject.getContent());
+            crowdTestReport.setConclusion(reportForProject.getConclusion());
             taskToUser.setCrowdTestReportList(Lists.newArrayList(crowdTestReport));
             task.setAcceptedUserList(Lists.newArrayList(taskToUser));
             tasks.add(task);
 
             // 构造项目报告
             project.setCrowdTestTaskList(tasks);
-            project.getCrowdTestReportForProject().setCode(GenerateFlowCodeUtil.generateReportCode());
-            project.getCrowdTestReportForProject().setDependencyCode(project.getCode());
-            project.getCrowdTestReportForProject().setDescription(project.getDescription());
-            project.getCrowdTestReportForProject().setName(project.getName() + "测试报告");
-            project.getCrowdTestReportForProject().setType(project.getType());
-            project.getCrowdTestReportForProject().setTestObject(project.getName());
+            reportForProject.setCode(GenerateFlowCodeUtil.generateReportCode());
+            reportForProject.setDependencyCode(project.getCode());
+            reportForProject.setDescription(project.getDescription());
+            reportForProject.setName(project.getName() + "测试报告");
+            reportForProject.setType(project.getType());
+            reportForProject.setTestObject(project.getName());
         });
         return projects;
     }

+ 3 - 9
site/src/main/java/com/mooctest/crowd/site/service/impl/ThemeStatusServiceImpl.java

@@ -3,14 +3,12 @@ package com.mooctest.crowd.site.service.impl;
 import com.mooctest.crowd.domain.dao.CrowdTestProjectDao;
 import com.mooctest.crowd.domain.domainobject.CrowdTestProject;
 import com.mooctest.crowd.domain.domainobject.CrowdTestProjectStatus;
-import com.mooctest.crowd.domain.model.CrowdTestProjectPO;
 import com.mooctest.crowd.site.service.ThemeStatusService;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
 import java.sql.Timestamp;
-import java.util.Optional;
 
 /**
  * @program: crowd
@@ -26,14 +24,10 @@ public class ThemeStatusServiceImpl implements ThemeStatusService {
 
     @Override
     public Integer updateStatus(CrowdTestProject crowdTestProject) {
-
         int status = 0;
-        long curr = System.currentTimeMillis();
-        if ((crowdTestProject.getDeadTime().before(new Timestamp(System.currentTimeMillis())))) {
-           Optional<CrowdTestProjectPO> crowdTestProjectPO =crowdTestProjectDao.findById(crowdTestProject.getId());
-           CrowdTestProjectPO crowdTestProjectPO1=crowdTestProjectPO.get();
-            crowdTestProjectPO1.setStatus(CrowdTestProjectStatus.HAS_TIME_OUT);
-            crowdTestProjectDao.save(crowdTestProjectPO1);
+        if ((crowdTestProject.getDeadTime().before(new Timestamp(System.currentTimeMillis()))) && crowdTestProject.getStatus() < CrowdTestProjectStatus.HAS_FINISHED) {
+            status = CrowdTestProjectStatus.HAS_TIME_OUT;
+            crowdTestProjectDao.updateStatusByCode(status, crowdTestProject.getCode());
         }
         return status;
     }

+ 3 - 2
site/src/main/resources/application.yml

@@ -1,7 +1,8 @@
 spring:
   profiles:
-#    active: online
-      active: dev-localhost
+#    active: dev-pre
+  #    active: online
+     active: dev-localhost
   cache:
     guava:
       spec: expireAfterWrite=30s