diff --git a/src/main/java/com/project/task/controller/TaskController.java b/src/main/java/com/project/task/controller/TaskController.java index 5ca39dd..32cc636 100644 --- a/src/main/java/com/project/task/controller/TaskController.java +++ b/src/main/java/com/project/task/controller/TaskController.java @@ -7,7 +7,10 @@ import com.project.operation.annotation.OperationLog; import com.project.operation.domain.enums.ModuleEnum; import com.project.task.application.TaskApplicationService; import com.project.task.domain.dto.TaskDTO; +import com.project.task.domain.entity.TaskEntity; import com.project.task.domain.param.TaskParam; +import com.project.task.domain.service.InitTaskDomainService; +import com.project.task.mapper.TaskMapper; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; @@ -44,4 +47,18 @@ public class TaskController { public Result batchDelete(@RequestParam("idList") List idList) throws Exception { return taskApplicationService.batchDelete(idList); } + + @Autowired + private TaskMapper taskMapper; + + @Autowired + private InitTaskDomainService initTaskDomainService; + + @GetMapping("/initTask") + public Result initTask(Long taskId) throws Exception { + TaskEntity taskEntity = taskMapper.selectById(taskId); + + initTaskDomainService.asyncInitialize(taskId , taskEntity.getRelatedDocumentList()); + return Result.success("成功"); + } } diff --git a/src/main/java/com/project/task/domain/dto/TaskDTO.java b/src/main/java/com/project/task/domain/dto/TaskDTO.java index 625eca0..31ba787 100644 --- a/src/main/java/com/project/task/domain/dto/TaskDTO.java +++ b/src/main/java/com/project/task/domain/dto/TaskDTO.java @@ -59,4 +59,11 @@ public class TaskDTO extends BaseDTO { private Integer totalQuestionNum; + + private Long lastRecordId; + + private Double lastRecordScore; + + private String taskUserStatus; + } diff --git a/src/main/java/com/project/task/domain/enums/TaskUserStatusEnum.java b/src/main/java/com/project/task/domain/enums/TaskUserStatusEnum.java index 6f0a333..80ecda5 100644 --- a/src/main/java/com/project/task/domain/enums/TaskUserStatusEnum.java +++ b/src/main/java/com/project/task/domain/enums/TaskUserStatusEnum.java @@ -15,4 +15,13 @@ public enum TaskUserStatusEnum implements HasValueEnum { private final String description; + public static String getNameByValue(Integer value) { + for (TaskUserStatusEnum taskUserStatusEnum : TaskUserStatusEnum.values()) { + if (taskUserStatusEnum.value.equals(value)) { + return taskUserStatusEnum.name(); + } + } + return ""; + } + } diff --git a/src/main/java/com/project/task/domain/service/impl/CandidateSearchTaskDomainServiceImpl.java b/src/main/java/com/project/task/domain/service/impl/CandidateSearchTaskDomainServiceImpl.java index 53543a4..d09309d 100644 --- a/src/main/java/com/project/task/domain/service/impl/CandidateSearchTaskDomainServiceImpl.java +++ b/src/main/java/com/project/task/domain/service/impl/CandidateSearchTaskDomainServiceImpl.java @@ -9,6 +9,8 @@ import com.project.base.domain.result.PageResult; import com.project.base.domain.result.Result; import com.project.base.domain.utils.PageConverter; import com.project.ding.utils.SecurityUtils; +import com.project.exam.domain.entity.ExamRecordEntity; +import com.project.exam.mapper.ExamRecordMapper; import com.project.task.domain.dto.TaskDTO; import com.project.task.domain.entity.TaskEntity; import com.project.task.domain.entity.TaskUserEntity; @@ -35,6 +37,10 @@ public class CandidateSearchTaskDomainServiceImpl implements CandidateSearchTask @Autowired private TaskUserMapper taskUserMapper; + @Autowired + private ExamRecordMapper examRecordMapper; + + @Override public Result> candidateSearch(TaskParam param) throws Exception { LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); @@ -148,6 +154,12 @@ public class CandidateSearchTaskDomainServiceImpl implements CandidateSearchTask dto.setExamResult(CandidateExamResultEnum.Fail.name()); dto.setExamResultText(CandidateExamResultEnum.Fail.getValue()); } + dto.setTaskUserStatus(TaskUserStatusEnum.getNameByValue(taskUserEntity.getStatus())); + dto.setLastRecordId(taskUserEntity.getLastRecordId()); + if (Objects.nonNull(taskUserEntity.getLastRecordId())) { + ExamRecordEntity examRecordEntity = examRecordMapper.selectById(taskUserEntity.getLastRecordId()); + dto.setLastRecordScore(examRecordEntity.getScore()); + } return dto; } }