|
|
|
@ -12,12 +12,14 @@ import com.project.exam.domain.service.AdminExportExamRecordDomainService; |
|
|
|
import com.project.exam.domain.service.AdminSearchExamRecordDomainService; |
|
|
|
import com.project.exam.domain.service.handler.ExamResultColorHandler; |
|
|
|
import jakarta.servlet.http.HttpServletResponse; |
|
|
|
import lombok.extern.slf4j.Slf4j; |
|
|
|
import org.springframework.beans.factory.annotation.Autowired; |
|
|
|
import org.springframework.stereotype.Service; |
|
|
|
|
|
|
|
import java.util.List; |
|
|
|
import java.util.Objects; |
|
|
|
|
|
|
|
@Slf4j |
|
|
|
@Service |
|
|
|
public class AdminExportExamRecordDomainServiceImpl implements AdminExportExamRecordDomainService { |
|
|
|
@Autowired |
|
|
|
@ -29,10 +31,11 @@ public class AdminExportExamRecordDomainServiceImpl implements AdminExportExamRe |
|
|
|
public void export(ExamRecordParam examRecordParam , HttpServletResponse response) throws Exception { |
|
|
|
long count = adminSearchExamRecordDomainService.count(examRecordParam); |
|
|
|
if (count > MAX_EXPORT_NUM) { |
|
|
|
throw new BusinessErrorException("超过最大导出条数5000条,请重新调整搜索条件"); |
|
|
|
log.info(">>> [导出数据] 超过最大导出条数5000条,只允许导出5000条,当前搜索条件下数据总条数:{}", count); |
|
|
|
} |
|
|
|
examRecordParam.setSize(MAX_EXPORT_NUM.intValue()); |
|
|
|
Result<PageResult<ExamRecordDTO>> pageResultResult = adminSearchExamRecordDomainService.adminSearch(examRecordParam); |
|
|
|
|
|
|
|
List<ExamRecordDTO> dataList = pageResultResult.getData().getContent(); |
|
|
|
List<ExportExamRecordDTO> exportList = dataList.stream().map(dto -> { |
|
|
|
ExportExamRecordDTO exportDTO = new ExportExamRecordDTO(); |
|
|
|
|