feat(archives): 添加一人一档PDF生成功能的日志记录

dev
zhaokai 2026-03-10 13:56:26 +08:00
parent 9c42a93d50
commit f40126022c
2 changed files with 13 additions and 0 deletions

View File

@ -2,6 +2,7 @@ package com.zcloud.edu.command.query.archives;
import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.collection.CollUtil; import cn.hutool.core.collection.CollUtil;
import cn.hutool.json.JSONUtil;
import com.alibaba.cola.dto.PageResponse; import com.alibaba.cola.dto.PageResponse;
import com.alibaba.cola.exception.BizException; import com.alibaba.cola.exception.BizException;
import com.alibaba.cola.statemachine.impl.SysOutVisitor; import com.alibaba.cola.statemachine.impl.SysOutVisitor;
@ -41,6 +42,7 @@ import com.zcloud.edu.persistence.repository.study.*;
import com.zcloud.gbscommon.utils.*; import com.zcloud.gbscommon.utils.*;
import com.zcloud.gbscommon.zcloudimgfiles.facade.ZcloudImgFilesFacade; import com.zcloud.gbscommon.zcloudimgfiles.facade.ZcloudImgFilesFacade;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import net.coobird.thumbnailator.Thumbnails; import net.coobird.thumbnailator.Thumbnails;
import org.apache.commons.beanutils.PropertyUtils; import org.apache.commons.beanutils.PropertyUtils;
import org.apache.commons.io.output.ByteArrayOutputStream; import org.apache.commons.io.output.ByteArrayOutputStream;
@ -71,6 +73,7 @@ import java.util.stream.Collectors;
*/ */
@Component @Component
@AllArgsConstructor @AllArgsConstructor
@Slf4j
public class ArchivesQueryExe { public class ArchivesQueryExe {
private final ArchivesPdfFileRepository archivesPdfFileRepository; private final ArchivesPdfFileRepository archivesPdfFileRepository;
private final ArchivesPdfFileCoConvertor archivesPdfFileCoConvertor; private final ArchivesPdfFileCoConvertor archivesPdfFileCoConvertor;
@ -320,6 +323,7 @@ public class ArchivesQueryExe {
public void execteGeneratePdfList(ArchivesQry qry, List<PersonArchivesDTO> personArchivesDTOList){ public void execteGeneratePdfList(ArchivesQry qry, List<PersonArchivesDTO> personArchivesDTOList){
String archivesDate = DateUtil.getSdfTimes(); String archivesDate = DateUtil.getSdfTimes();
String tempDir = System.getProperty("java.io.tmpdir"); String tempDir = System.getProperty("java.io.tmpdir");
log.info("execteGeneratePdfList,开始一人一档下载{}", JSONUtil.toJsonStr(personArchivesDTOList));
List<File> stringList = new ArrayList<>(); List<File> stringList = new ArrayList<>();
try { try {
for (PersonArchivesDTO params : personArchivesDTOList){ for (PersonArchivesDTO params : personArchivesDTOList){
@ -350,17 +354,22 @@ public class ArchivesQueryExe {
Files.write(Paths.get(tempDir+"/"+params.getClassName()+"-一人一档-"+DateUtil.getSdfTimes()+".pdf"), pdf); Files.write(Paths.get(tempDir+"/"+params.getClassName()+"-一人一档-"+DateUtil.getSdfTimes()+".pdf"), pdf);
stringList.add(new File(tempDir+"/"+params.getClassName()+"-一人一档-"+DateUtil.getSdfTimes()+".pdf")); stringList.add(new File(tempDir+"/"+params.getClassName()+"-一人一档-"+DateUtil.getSdfTimes()+".pdf"));
} }
log.info("execteGeneratePdfList,开始合并{}", JSONUtil.toJsonStr(personArchivesDTOList));
FileZip.zipList(tempDir+"/"+personArchivesDTOList.get(0).getName()+"-"+ archivesDate+"一人一档.zip", stringList); FileZip.zipList(tempDir+"/"+personArchivesDTOList.get(0).getName()+"-"+ archivesDate+"一人一档.zip", stringList);
File file = new File(tempDir+"/"+personArchivesDTOList.get(0).getName()+"-"+ archivesDate+"一人一档.zip"); File file = new File(tempDir+"/"+personArchivesDTOList.get(0).getName()+"-"+ archivesDate+"一人一档.zip");
byte[] bytes = Files.readAllBytes(file.toPath()); byte[] bytes = Files.readAllBytes(file.toPath());
log.info("execteGeneratePdfList,开始保存");
String filepath = zcloudImgFilesFacade.saveFile(bytes, personArchivesDTOList.get(0).getName()+"-"+ archivesDate+"一人一档.zip","personArchives", personArchivesDTOList.get(0).getClassCorpinfoId()); String filepath = zcloudImgFilesFacade.saveFile(bytes, personArchivesDTOList.get(0).getName()+"-"+ archivesDate+"一人一档.zip","personArchives", personArchivesDTOList.get(0).getClassCorpinfoId());
log.info("execteGeneratePdfList,保存成功,路径:{}", filepath);
ArchivesPdfFileE archivesPdfFileE = new ArchivesPdfFileE(); ArchivesPdfFileE archivesPdfFileE = new ArchivesPdfFileE();
archivesPdfFileE.initEdit(personArchivesDTOList.get(0).getArchivesPdfFileId(), filepath, 1, null); archivesPdfFileE.initEdit(personArchivesDTOList.get(0).getArchivesPdfFileId(), filepath, 1, null);
log.info("execteGeneratePdfList,开始更新状态,{}", JSONUtil.toJsonStr(archivesPdfFileE));
ArchivesPdfFileDO archivesPdfFileDO = new ArchivesPdfFileDO(); ArchivesPdfFileDO archivesPdfFileDO = new ArchivesPdfFileDO();
BeanUtils.copyProperties(archivesPdfFileE, archivesPdfFileDO); BeanUtils.copyProperties(archivesPdfFileE, archivesPdfFileDO);
archivesPdfFileRepository.updateById(archivesPdfFileDO); archivesPdfFileRepository.updateById(archivesPdfFileDO);
} catch (Exception e) { } catch (Exception e) {
e.printStackTrace(); e.printStackTrace();
log.error("execteGeneratePdfList,失败", e);
// throw new BizException("导出失败"); // throw new BizException("导出失败");
} }
} }

View File

@ -1,5 +1,6 @@
package com.zcloud.edu.service.archives; package com.zcloud.edu.service.archives;
import cn.hutool.json.JSONUtil;
import com.alibaba.cola.dto.PageResponse; import com.alibaba.cola.dto.PageResponse;
import com.alibaba.cola.dto.SingleResponse; import com.alibaba.cola.dto.SingleResponse;
import com.zcloud.edu.api.archives.ArchivesReviewServiceI; import com.zcloud.edu.api.archives.ArchivesReviewServiceI;
@ -21,6 +22,7 @@ import com.zcloud.gbscommon.utils.Tools;
import com.zcloud.gbscommon.utils.WordToPdfUtil; import com.zcloud.gbscommon.utils.WordToPdfUtil;
import com.zcloud.gbscommon.zcloudimgfiles.facade.ZcloudImgFilesFacade; import com.zcloud.gbscommon.zcloudimgfiles.facade.ZcloudImgFilesFacade;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.io.output.ByteArrayOutputStream; import org.apache.commons.io.output.ByteArrayOutputStream;
import org.apache.dubbo.config.annotation.DubboReference; import org.apache.dubbo.config.annotation.DubboReference;
import org.springframework.http.MediaType; import org.springframework.http.MediaType;
@ -40,6 +42,7 @@ import java.util.List;
*/ */
@Service @Service
@AllArgsConstructor @AllArgsConstructor
@Slf4j
public class ArchivesServiceImpl implements ArchivesServiceI { public class ArchivesServiceImpl implements ArchivesServiceI {
@DubboReference @DubboReference
private ZcloudImgFilesFacade zcloudImgFilesFacade; private ZcloudImgFilesFacade zcloudImgFilesFacade;
@ -58,6 +61,7 @@ public class ArchivesServiceImpl implements ArchivesServiceI {
@Override @Override
public void downloadPersonArchivesList(ArchivesQry qry) { public void downloadPersonArchivesList(ArchivesQry qry) {
List<PersonArchivesDTO> personArchivesDTOList = archivesQueryExe.downloadPersonArchivesList(qry); List<PersonArchivesDTO> personArchivesDTOList = archivesQueryExe.downloadPersonArchivesList(qry);
log.info("downloadPersonArchivesList,开始一人一档异步下载{}", JSONUtil.toJsonStr(personArchivesDTOList));
archivesQueryExe.execteGeneratePdfList(qry,personArchivesDTOList); archivesQueryExe.execteGeneratePdfList(qry,personArchivesDTOList);
} }