瀏覽代碼

新增众测调取获取任务相关信息,如截止时间等信息

郭超 4 年之前
父節點
當前提交
7f28d7591d

+ 2 - 0
core/src/main/java/com/mooctest/crowd/domain/dao/EndPointDao.java

@@ -17,6 +17,8 @@ import java.util.Optional;
 public interface EndPointDao extends PagingAndSortingRepository<EndPointPO, Long> ,CrudRepository<EndPointPO, Long>, JpaRepository<EndPointPO, Long> ,JpaSpecificationExecutor<EndPointPO>{
     Optional<EndPointPO> findByTaskCode(String code);
 
+    Optional<EndPointPO> findByExamId(String examId);
+
     @Modifying
     @Query(nativeQuery = true,value="delete from end_point where EP_T_CODE=?")
     void deleteEndPoint(@Param("taskCode") String code);

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

@@ -503,4 +503,12 @@ public class CrowdTestProjectRepo implements ICrowdTestProjectRepo {
     public long getAllReportNum() {
         return crowdTestReportDao.count();
     }
+
+    public CrowdTestTask getTaskInfoByExamId(Long examId) {
+        Optional<EndPointPO> endPointPO = endPointDao.findByExamId(String.valueOf(examId));
+        if(endPointPO.isPresent()){
+             return Converter.convert(CrowdTestTask.class, crowdTestTaskDao.findByCodeAndIsDeleted(endPointPO.get().getTaskCode(), DeletedStatus.isNotDeleted));
+        }
+        return null;
+    }
 }

+ 4 - 0
core/src/main/java/com/mooctest/crowd/domain/repository/ICrowdTestProjectRepo.java

@@ -1,5 +1,7 @@
 package com.mooctest.crowd.domain.repository;
+
 import com.mooctest.crowd.domain.domainobject.CrowdTestProject;
+import com.mooctest.crowd.domain.domainobject.CrowdTestTask;
 import com.mooctest.crowd.domain.domainobject.EndPoint;
 import com.mooctest.crowd.domain.exception.CrowdTestProjectNotExistException;
 import org.springframework.data.domain.Page;
@@ -50,5 +52,7 @@ public interface ICrowdTestProjectRepo {
 
     EndPoint updateEndPoint(String taskCode,EndPoint endPoint);
 
+    CrowdTestTask getTaskInfoByExamId(Long examId);
+
     List<CrowdTestProject> findHotProjectCardLimitCount(int projectCount);
 }

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

@@ -12,6 +12,7 @@ import com.mooctest.crowd.site.data.dto.TaskSquareDTO;
 import com.mooctest.crowd.site.data.response.ResponseVO;
 import com.mooctest.crowd.site.data.response.ServerCode;
 import com.mooctest.crowd.site.data.tfidf.JabaResult;
+import com.mooctest.crowd.site.data.vo.ExamVO;
 import com.mooctest.crowd.site.service.CrowdTaskService;
 import io.swagger.annotations.Api;
 import lombok.extern.slf4j.Slf4j;
@@ -182,4 +183,9 @@ public class CrowdTaskController{
         Long userId = Long.parseLong((String)session.getAttribute("userId"));
         return new ResponseVO<>(ServerCode.SUCCESS, taskService.importTask(file, userId, 0));
     }
+
+    @RequestMapping(value = "/exam/{examId}/info", method = RequestMethod.GET)
+    public ExamVO getExamBaseInfo(@PathVariable("examId")Long examId){
+        return taskService.getExamInfo(examId);
+    }
 }

+ 20 - 0
site/src/main/java/com/mooctest/crowd/site/data/vo/ExamVO.java

@@ -0,0 +1,20 @@
+package com.mooctest.crowd.site.data.vo;
+
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+/**
+ * @author guochao
+ * @date 2021-05-25 15:36
+ */
+@Data
+@NoArgsConstructor
+@AllArgsConstructor
+public class ExamVO {
+	private Long id;
+	private String name;
+	private Long beginTime;
+	private Long endTime;
+	private String info;
+}

+ 3 - 0
site/src/main/java/com/mooctest/crowd/site/service/CrowdTaskService.java

@@ -6,6 +6,7 @@ import com.mooctest.crowd.site.data.dto.TaskDetailsDTO;
 import com.mooctest.crowd.site.data.dto.TaskSquareDTO;
 import com.mooctest.crowd.site.data.tfidf.JabaResult;
 import com.mooctest.crowd.site.data.vo.CrowdTaskVO;
+import com.mooctest.crowd.site.data.vo.ExamVO;
 import org.springframework.web.multipart.MultipartFile;
 
 import java.util.List;
@@ -60,4 +61,6 @@ public interface CrowdTaskService {
     ProjectDetailsDTO importTask(MultipartFile file, Long userId, int uploadType);
 
     List<CrowdTaskVO> findWaitingAcceptByNameLike(int showTaskCount, String keyword, String testTypeCode);
+
+    ExamVO getExamInfo(Long examId);
 }

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

@@ -24,6 +24,7 @@ import com.mooctest.crowd.site.data.enums.ProjectType;
 import com.mooctest.crowd.site.data.tfidf.JabaResult;
 import com.mooctest.crowd.site.data.tfidf.TFIDFAnalyzer;
 import com.mooctest.crowd.site.data.vo.CrowdTaskVO;
+import com.mooctest.crowd.site.data.vo.ExamVO;
 import com.mooctest.crowd.site.mediator.ViewMediator;
 import com.mooctest.crowd.site.service.CrowdTaskService;
 import com.mooctest.crowd.site.service.UploadService;
@@ -181,6 +182,18 @@ public class CrowdTaskServiceImpl implements CrowdTaskService {
     }
 
     @Override
+    public ExamVO getExamInfo(Long examId) {
+        CrowdTestTask crowdTestTask = projectRepo.getTaskInfoByExamId(examId);
+        ExamVO result = new ExamVO();
+        result.setId(examId);
+        result.setName(crowdTestTask.getName());
+        result.setInfo(crowdTestTask.getDescription());
+        result.setBeginTime(crowdTestTask.getCreateTime().getTime());
+        result.setEndTime(crowdTestTask.getDeadTime().getTime());
+        return result;
+    }
+
+    @Override
     public void jumpPublicTesting(String projectCode, String taskCode, Long userId) {
         viewMediator.jumpPublicTesting(projectCode,taskCode,userId);
     }