ScanOmrTaskService.java 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. package com.qmth.teachcloud.mark.service;
  2. import java.util.List;
  3. import javax.validation.constraints.NotNull;
  4. import com.baomidou.mybatisplus.extension.service.IService;
  5. import com.qmth.teachcloud.common.entity.SysUser;
  6. import com.qmth.teachcloud.common.enums.scan.ConditionType;
  7. import com.qmth.teachcloud.mark.dto.ScanOmrTaskDto;
  8. import com.qmth.teachcloud.mark.dto.ScanOmrTaskResultDto;
  9. import com.qmth.teachcloud.mark.dto.ScanOmrTaskSaveDto;
  10. import com.qmth.teachcloud.mark.dto.ScanOmrTaskStatusDto;
  11. import com.qmth.teachcloud.mark.entity.ScanOmrTask;
  12. import com.qmth.teachcloud.mark.enums.OmrTaskStatus;
  13. /**
  14. * <p>
  15. * 服务类
  16. * </p>
  17. *
  18. * @author xf
  19. * @since 2023-09-22
  20. */
  21. public interface ScanOmrTaskService extends IService<ScanOmrTask> {
  22. ScanOmrTask buildTask(ConditionType c, Long studentId);
  23. ScanOmrTaskDto getTask(Long examId, Long userId);
  24. ScanOmrTaskSaveDto submitTask(ScanOmrTaskResultDto result, SysUser user);
  25. ScanOmrTaskStatusDto getStatus(Long examId, Long userId);
  26. void releaseByUser(Long examId, Long userId);
  27. ScanOmrTaskDto history(Long examId, Long taskId, Long userId, Boolean next);
  28. List<ScanOmrTask> findUnMarked(Long examId, int pageNumber, int pageSize, OmrTaskStatus status);
  29. boolean hasApplied(ScanOmrTask task, String userId);
  30. boolean apply(ScanOmrTask task, String userId);
  31. int getCountByExamAndStatusAndUserId(Long examId, Long userId, OmrTaskStatus... status);
  32. int getCountByExamAndStatus(Long examId, OmrTaskStatus... status);
  33. boolean hasApplied(ScanOmrTask t, Long userId);
  34. void releaseByTask(ScanOmrTask t);
  35. /**
  36. * 根据考生当前绑定的paper刷新考生状态,需要在外部调用处对考生上锁
  37. *
  38. * @param id
  39. */
  40. void updateStudentByPaper(@NotNull Long userId, @NotNull Long studentId, @NotNull boolean updateOmrTask);
  41. void deleteByStudentId(Long examId, Long studentId);
  42. int getCount(Long examId, OmrTaskStatus status);
  43. }