Browse Source

考生考试任务详情接口补充

master
luoweijian 2 weeks ago
parent
commit
74e6d6afb2
  1. 1
      src/main/java/com/project/ding/controller/DingJsApiController.java
  2. 2
      src/main/java/com/project/exam/controller/ExamRecordController.java
  3. 2
      src/main/java/com/project/task/application/TaskApplicationService.java
  4. 6
      src/main/java/com/project/task/application/impl/TaskApplicationServiceImpl.java
  5. 5
      src/main/java/com/project/task/controller/CandidateTaskController.java
  6. 1
      src/main/java/com/project/task/domain/service/CandidateSearchTaskDomainService.java
  7. 17
      src/main/java/com/project/task/domain/service/impl/CandidateSearchTaskDomainServiceImpl.java
  8. 2
      src/main/java/com/project/task/domain/service/impl/SearchTaskDomainServiceImpl.java

1
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.base.domain.result.Result;
import com.project.ding.utils.DingUtil; import com.project.ding.utils.DingUtil;
import jakarta.servlet.http.HttpServletRequest;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;

2
src/main/java/com/project/exam/controller/ExamRecordController.java

@ -1,12 +1,10 @@
package com.project.exam.controller; package com.project.exam.controller;
import com.project.base.domain.result.PageResult;
import com.project.base.domain.result.Result; import com.project.base.domain.result.Result;
import com.project.exam.application.ExamRecordApplicationService; import com.project.exam.application.ExamRecordApplicationService;
import com.project.exam.domain.dto.ExamRecordDTO; import com.project.exam.domain.dto.ExamRecordDTO;
import com.project.exam.domain.dto.ExamRecordPictureDTO; import com.project.exam.domain.dto.ExamRecordPictureDTO;
import com.project.exam.domain.param.ExamRecordParam;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMapping;

2
src/main/java/com/project/task/application/TaskApplicationService.java

@ -20,4 +20,6 @@ public interface TaskApplicationService {
Result<PageResult<TaskDTO>> candidateSearch(TaskParam param) throws Exception; Result<PageResult<TaskDTO>> candidateSearch(TaskParam param) throws Exception;
Result<TaskDTO> getCandidateDetail(Long id) throws Exception;
} }

6
src/main/java/com/project/task/application/impl/TaskApplicationServiceImpl.java

@ -54,6 +54,12 @@ public class TaskApplicationServiceImpl implements TaskApplicationService {
return searchTaskDomainService.getDetail(id); return searchTaskDomainService.getDetail(id);
} }
@Override
public Result<TaskDTO> getCandidateDetail(Long id) throws Exception {
return candidateSearchTaskDomainService.getCandidateDetail(id);
}
@Override @Override
public List<TaskDTO> selectBatchIds(List<Long> taskIdList) { public List<TaskDTO> selectBatchIds(List<Long> taskIdList) {
return searchTaskDomainService.selectBatchIds(taskIdList); return searchTaskDomainService.selectBatchIds(taskIdList);

5
src/main/java/com/project/task/controller/CandidateTaskController.java

@ -22,4 +22,9 @@ public class CandidateTaskController {
public Result<PageResult<TaskDTO>> candidateSearch(TaskParam param) throws Exception { public Result<PageResult<TaskDTO>> candidateSearch(TaskParam param) throws Exception {
return taskApplicationService.candidateSearch(param); return taskApplicationService.candidateSearch(param);
} }
@GetMapping("/getCandidateDetail")
public Result<TaskDTO> getDetail(Long id) throws Exception {
return taskApplicationService.getCandidateDetail(id);
}
} }

1
src/main/java/com/project/task/domain/service/CandidateSearchTaskDomainService.java

@ -8,4 +8,5 @@ import com.project.task.domain.param.TaskParam;
public interface CandidateSearchTaskDomainService { public interface CandidateSearchTaskDomainService {
Result<PageResult<TaskDTO>> candidateSearch(TaskParam param) throws Exception; Result<PageResult<TaskDTO>> candidateSearch(TaskParam param) throws Exception;
Result<TaskDTO> getCandidateDetail(Long id) throws Exception;
} }

17
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.entity.TaskUserEntity;
import com.project.task.domain.enums.CandidateExamResultEnum; import com.project.task.domain.enums.CandidateExamResultEnum;
import com.project.task.domain.enums.CandidateTaskStatusEnum; 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.enums.TaskUserStatusEnum;
import com.project.task.domain.param.TaskParam; import com.project.task.domain.param.TaskParam;
import com.project.task.domain.service.CandidateSearchTaskDomainService; 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.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.util.Arrays;
import java.util.Date; import java.util.Date;
import java.util.List; import java.util.List;
import java.util.Objects; import java.util.Objects;
@ -40,6 +38,12 @@ public class CandidateSearchTaskDomainServiceImpl implements CandidateSearchTask
@Override @Override
public Result<PageResult<TaskDTO>> candidateSearch(TaskParam param) throws Exception { public Result<PageResult<TaskDTO>> candidateSearch(TaskParam param) throws Exception {
LambdaQueryWrapper<TaskEntity> queryWrapper = new LambdaQueryWrapper<>(); LambdaQueryWrapper<TaskEntity> 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())) { if (StrUtil.isNotBlank(param.getName())) {
queryWrapper.like(TaskEntity::getName , param.getName()); queryWrapper.like(TaskEntity::getName , param.getName());
} }
@ -92,7 +96,7 @@ public class CandidateSearchTaskDomainServiceImpl implements CandidateSearchTask
queryWrapper.orderByDesc(TaskEntity::getStartTime); queryWrapper.orderByDesc(TaskEntity::getStartTime);
break; break;
default: default:
queryWrapper.orderByDesc(TaskEntity::getStartTime); // 默认排序 queryWrapper.orderByAsc(TaskEntity::getEndTime); // 默认排序
} }
} else { } else {
// 默认按开始时间倒序 // 默认按开始时间倒序
@ -103,6 +107,13 @@ public class CandidateSearchTaskDomainServiceImpl implements CandidateSearchTask
return Result.page(entityPage.convert(this::buildDTO)); return Result.page(entityPage.convert(this::buildDTO));
} }
@Override
public Result<TaskDTO> getCandidateDetail(Long id) throws Exception {
TaskEntity taskEntity = taskMapper.selectById(id);
return Result.success(buildDTO(taskEntity));
}
private TaskDTO buildDTO(TaskEntity entity) { private TaskDTO buildDTO(TaskEntity entity) {
TaskDTO dto = entity.toDTO(TaskDTO::new); TaskDTO dto = entity.toDTO(TaskDTO::new);
Date endOfToday = DateUtil.endOfDay(new Date()); Date endOfToday = DateUtil.endOfDay(new Date());

2
src/main/java/com/project/task/domain/service/impl/SearchTaskDomainServiceImpl.java

@ -86,6 +86,6 @@ public class SearchTaskDomainServiceImpl implements SearchTaskDomainService {
@Override @Override
public List<TaskDTO> selectBatchIds(List<Long> taskIdList) { public List<TaskDTO> selectBatchIds(List<Long> taskIdList) {
List<TaskEntity> taskEntities = taskMapper.selectBatchIds(taskIdList); List<TaskEntity> taskEntities = taskMapper.selectBatchIds(taskIdList);
return taskEntities.stream().map(taskEntity -> buildDTO(taskEntity)).collect(Collectors.toList()); return taskEntities.stream().map(this::buildDTO).collect(Collectors.toList());
} }
} }

Loading…
Cancel
Save