AggTaskStatusService.java 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. package com.mooctest.service;
  2. import com.mooctest.dao.AggTaskStatusDao;
  3. import com.mooctest.model.AggTaskStatus;
  4. import org.slf4j.Logger;
  5. import org.slf4j.LoggerFactory;
  6. import org.springframework.beans.factory.annotation.Autowired;
  7. import org.springframework.stereotype.Service;
  8. import java.sql.Timestamp;
  9. import java.util.Date;
  10. import java.util.List;
  11. @Service
  12. public class AggTaskStatusService {
  13. private static Logger logger = LoggerFactory.getLogger(AggTaskStatusService.class);
  14. @Autowired
  15. AggTaskStatusDao aggTaskStatusDao;
  16. public AggTaskStatus getByTaskId(long examId, long caseId) {
  17. String aggTaskId = genTaskId(examId, caseId);
  18. List<AggTaskStatus> aggTaskStatus = aggTaskStatusDao.findByTaskIdOrderByStartTimeDesc(aggTaskId);
  19. if (aggTaskStatus!= null && aggTaskStatus.size() > 0) {
  20. return aggTaskStatus.get(0);
  21. } else {
  22. return null;
  23. }
  24. }
  25. public AggTaskStatus create(long examId, long caseId) {
  26. String aggTaskId = genTaskId(examId, caseId);
  27. AggTaskStatus status = AggTaskStatus.builder()
  28. .taskId(aggTaskId)
  29. .status(0)
  30. .startTime(new Timestamp(new Date().getTime()))
  31. .build();
  32. return aggTaskStatusDao.save(status);
  33. }
  34. public AggTaskStatus updateStatus(String taskId, Timestamp startTime) {
  35. AggTaskStatus aggTaskStatus = aggTaskStatusDao.findByTaskIdAndStartTime(taskId, startTime);
  36. if (aggTaskStatus != null) {
  37. aggTaskStatus.setStatus(1);
  38. aggTaskStatus.setEndTime(new Timestamp(new Date().getTime()));
  39. return aggTaskStatusDao.save(aggTaskStatus);
  40. } else {
  41. logger.error("AggTaskStatusService find null, taskId={}, startTime={}", taskId, startTime.getTime());
  42. return null;
  43. }
  44. }
  45. private String genTaskId(long examId, long caseId) {
  46. return examId + "-" + caseId;
  47. }
  48. }