diff --git a/src/main/java/com/project/ding/controller/DingJsApiController.java b/src/main/java/com/project/ding/controller/DingJsApiController.java index 7b3d335..96ab571 100644 --- a/src/main/java/com/project/ding/controller/DingJsApiController.java +++ b/src/main/java/com/project/ding/controller/DingJsApiController.java @@ -2,7 +2,6 @@ package com.project.ding.controller; import com.project.base.domain.result.Result; import com.project.ding.utils.DingUtil; -import jakarta.servlet.http.HttpServletRequest; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; diff --git a/src/main/java/com/project/exam/controller/ExamRecordController.java b/src/main/java/com/project/exam/controller/ExamRecordController.java index 3f8be50..a7e7b24 100644 --- a/src/main/java/com/project/exam/controller/ExamRecordController.java +++ b/src/main/java/com/project/exam/controller/ExamRecordController.java @@ -1,12 +1,10 @@ package com.project.exam.controller; -import com.project.base.domain.result.PageResult; import com.project.base.domain.result.Result; import com.project.exam.application.ExamRecordApplicationService; import com.project.exam.domain.dto.ExamRecordDTO; import com.project.exam.domain.dto.ExamRecordPictureDTO; -import com.project.exam.domain.param.ExamRecordParam; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; diff --git a/src/main/java/com/project/task/application/TaskApplicationService.java b/src/main/java/com/project/task/application/TaskApplicationService.java index a523507..a181f14 100644 --- a/src/main/java/com/project/task/application/TaskApplicationService.java +++ b/src/main/java/com/project/task/application/TaskApplicationService.java @@ -20,4 +20,6 @@ public interface TaskApplicationService { Result> candidateSearch(TaskParam param) throws Exception; + Result getCandidateDetail(Long id) throws Exception; + } diff --git a/src/main/java/com/project/task/application/impl/TaskApplicationServiceImpl.java b/src/main/java/com/project/task/application/impl/TaskApplicationServiceImpl.java index d617dde..7a78d05 100644 --- a/src/main/java/com/project/task/application/impl/TaskApplicationServiceImpl.java +++ b/src/main/java/com/project/task/application/impl/TaskApplicationServiceImpl.java @@ -54,6 +54,12 @@ public class TaskApplicationServiceImpl implements TaskApplicationService { return searchTaskDomainService.getDetail(id); } + + @Override + public Result getCandidateDetail(Long id) throws Exception { + return candidateSearchTaskDomainService.getCandidateDetail(id); + } + @Override public List selectBatchIds(List taskIdList) { return searchTaskDomainService.selectBatchIds(taskIdList); diff --git a/src/main/java/com/project/task/controller/CandidateTaskController.java b/src/main/java/com/project/task/controller/CandidateTaskController.java index 6228975..ef91067 100644 --- a/src/main/java/com/project/task/controller/CandidateTaskController.java +++ b/src/main/java/com/project/task/controller/CandidateTaskController.java @@ -22,4 +22,9 @@ public class CandidateTaskController { public Result> candidateSearch(TaskParam param) throws Exception { return taskApplicationService.candidateSearch(param); } + + @GetMapping("/getCandidateDetail") + public Result getDetail(Long id) throws Exception { + return taskApplicationService.getCandidateDetail(id); + } } diff --git a/src/main/java/com/project/task/domain/service/CandidateSearchTaskDomainService.java b/src/main/java/com/project/task/domain/service/CandidateSearchTaskDomainService.java index cdcae92..42c94d7 100644 --- a/src/main/java/com/project/task/domain/service/CandidateSearchTaskDomainService.java +++ b/src/main/java/com/project/task/domain/service/CandidateSearchTaskDomainService.java @@ -8,4 +8,5 @@ import com.project.task.domain.param.TaskParam; public interface CandidateSearchTaskDomainService { Result> candidateSearch(TaskParam param) throws Exception; + Result getCandidateDetail(Long id) throws Exception; } 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 866fd1d..53543a4 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 @@ -14,7 +14,6 @@ import com.project.task.domain.entity.TaskEntity; import com.project.task.domain.entity.TaskUserEntity; import com.project.task.domain.enums.CandidateExamResultEnum; import com.project.task.domain.enums.CandidateTaskStatusEnum; -import com.project.task.domain.enums.TaskStatusEnum; import com.project.task.domain.enums.TaskUserStatusEnum; import com.project.task.domain.param.TaskParam; import com.project.task.domain.service.CandidateSearchTaskDomainService; @@ -23,7 +22,6 @@ import com.project.task.mapper.TaskUserMapper; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; -import java.util.Arrays; import java.util.Date; import java.util.List; import java.util.Objects; @@ -40,6 +38,12 @@ public class CandidateSearchTaskDomainServiceImpl implements CandidateSearchTask @Override public Result> candidateSearch(TaskParam param) throws Exception { LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + + queryWrapper.exists(String.format( + "SELECT 1 FROM evaluator_task_user tu WHERE tu.task_id = evaluator_task.id AND tu.user_id = '%s'", + SecurityUtils.getUserId() + )); + if (StrUtil.isNotBlank(param.getName())) { queryWrapper.like(TaskEntity::getName , param.getName()); } @@ -92,7 +96,7 @@ public class CandidateSearchTaskDomainServiceImpl implements CandidateSearchTask queryWrapper.orderByDesc(TaskEntity::getStartTime); break; default: - queryWrapper.orderByDesc(TaskEntity::getStartTime); // 默认排序 + queryWrapper.orderByAsc(TaskEntity::getEndTime); // 默认排序 } } else { // 默认按开始时间倒序 @@ -103,6 +107,13 @@ public class CandidateSearchTaskDomainServiceImpl implements CandidateSearchTask return Result.page(entityPage.convert(this::buildDTO)); } + + @Override + public Result getCandidateDetail(Long id) throws Exception { + TaskEntity taskEntity = taskMapper.selectById(id); + return Result.success(buildDTO(taskEntity)); + } + private TaskDTO buildDTO(TaskEntity entity) { TaskDTO dto = entity.toDTO(TaskDTO::new); Date endOfToday = DateUtil.endOfDay(new Date()); diff --git a/src/main/java/com/project/task/domain/service/impl/SearchTaskDomainServiceImpl.java b/src/main/java/com/project/task/domain/service/impl/SearchTaskDomainServiceImpl.java index 2990a81..d434482 100644 --- a/src/main/java/com/project/task/domain/service/impl/SearchTaskDomainServiceImpl.java +++ b/src/main/java/com/project/task/domain/service/impl/SearchTaskDomainServiceImpl.java @@ -86,6 +86,6 @@ public class SearchTaskDomainServiceImpl implements SearchTaskDomainService { @Override public List selectBatchIds(List taskIdList) { List taskEntities = taskMapper.selectBatchIds(taskIdList); - return taskEntities.stream().map(taskEntity -> buildDTO(taskEntity)).collect(Collectors.toList()); + return taskEntities.stream().map(this::buildDTO).collect(Collectors.toList()); } }