FinalReportService.java 2.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. package com.mooctest.service;
  2. import com.mooctest.dao.FinalReportDao;
  3. import com.mooctest.data.FinalReportDTO;
  4. import com.mooctest.model.FinalReport;
  5. import org.springframework.beans.BeanUtils;
  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. import java.util.stream.Collectors;
  12. @Service
  13. public class FinalReportService {
  14. @Autowired
  15. FinalReportDao finalReportDao;
  16. public FinalReportDTO save(FinalReportDTO dto) {
  17. FinalReport finalReport = new FinalReport();
  18. BeanUtils.copyProperties(dto, finalReport);
  19. finalReport.setImgUrls(String.join(",", dto.getImgUrls()));
  20. finalReport.setCreateTime(new Date());
  21. finalReport = finalReportDao.save(finalReport);
  22. BeanUtils.copyProperties(finalReport, dto);
  23. return dto;
  24. }
  25. public FinalReportDTO update(long reportId, FinalReportDTO dto) {
  26. FinalReport report = finalReportDao.findOne(reportId);
  27. dto.setCreateTime(report.getCreateTime());
  28. BeanUtils.copyProperties(dto, report);
  29. report.setImgUrls(String.join(",", dto.getImgUrls()));
  30. finalReportDao.save(report);
  31. return dto;
  32. }
  33. public List<FinalReportDTO> getByExamIdAndCaseId(long examId, long caseId) {
  34. List<FinalReport> frs = finalReportDao.findByExamIdAndCaseId(examId, caseId);
  35. return wrap(frs);
  36. }
  37. public List<FinalReportDTO> getBySourceId(String sourceId) {
  38. List<FinalReport> frs = finalReportDao.findBySourceId(sourceId);
  39. return wrap(frs);
  40. }
  41. private List<FinalReportDTO> wrap(List<FinalReport> frs) {
  42. return frs.stream().map(finalReport -> {
  43. FinalReportDTO dto = new FinalReportDTO();
  44. BeanUtils.copyProperties(finalReport, dto);
  45. dto.setImgUrls(finalReport.getImgUrls().split(","));
  46. return dto;
  47. }).collect(Collectors.toList());
  48. }
  49. public void delete(long reportId) {
  50. finalReportDao.delete(reportId);
  51. }
  52. }