diff --git a/adc-da-convert/src/main/java/com/adc/da/convert/mq/CreateConvertMQService.java b/adc-da-convert/src/main/java/com/adc/da/convert/mq/CreateConvertMQService.java index 0d12a3db..0782c7cc 100644 --- a/adc-da-convert/src/main/java/com/adc/da/convert/mq/CreateConvertMQService.java +++ b/adc-da-convert/src/main/java/com/adc/da/convert/mq/CreateConvertMQService.java @@ -1,19 +1,37 @@ package com.adc.da.convert.mq; import com.adc.da.att.entity.AttFileEO; +import com.adc.da.att.service.IAttFileEOService; +import com.adc.da.att.vo.AttFileVo; +import com.adc.da.convert.common.AsposeOfficeConvertUtils; import net.sf.json.JSONObject; +import org.apache.commons.lang3.StringUtils; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; import org.springframework.amqp.core.AmqpTemplate; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Component; +import java.io.File; import java.util.HashMap; import java.util.Map; + @Component public class CreateConvertMQService { + + + @Value("${file.path}") + private String localFilePath; + @Autowired private AmqpTemplate rabbitTemplate; + @Autowired + private IAttFileEOService attFileEOService; + + private static final Logger logger = LoggerFactory.getLogger(CreateConvertMQService.class); /** * * @param attFileEO 文件对象 @@ -24,4 +42,40 @@ public class CreateConvertMQService { //发送消息队列 // this.rabbitTemplate.convertAndSend("convert-exchange_SQ_GSAR", "convert-key_SQ_GSAR", attFileEO); } + + + public AttFileVo convertWordFileToPdfFile(String attId){ + AttFileVo pdfFileVO = new AttFileVo(); + if(StringUtils.isNotBlank(attId)){ + try { + AttFileEO sourceFileEO = attFileEOService.getFileInfo(attId); + if(sourceFileEO!=null){ + String fileType = sourceFileEO.getFileSuffix(); + String path = localFilePath + sourceFileEO.getFilePath(); + String convertfilename = path +sourceFileEO.getFileName(); + String savePdfFileName = convertfilename.substring(0, convertfilename.lastIndexOf(".")); + String savePdfPath = savePdfFileName+".pdf"; + AsposeOfficeConvertUtils.convertOfficeFileToPDF(fileType,convertfilename,savePdfPath); + File pdfFile = new File(savePdfPath); + if(!savePdfPath.isEmpty() && pdfFile.length()>0){ + // 上传转换后文件 + pdfFileVO = attFileEOService.saveFileInfo(pdfFile); + }else{ + pdfFileVO.setStandName("文件转换失败"); + logger.error("文件转换失败啦!!!"); + } + }else{ + pdfFileVO.setStandName("当前文件ID未能找到对应的文件"); + logger.error("当前文件ID[{0}]未能找到对应文件 ",attId); + } + } catch (Exception e) { + pdfFileVO.setStandName("文件转换过程中报错啦"); + logger.error("文件转换失败啦"); + } + }else{ + pdfFileVO.setStandName("当前文件ID为空,不做处理"); + logger.error("当前文件ID为空,不做处理"); + } + return pdfFileVO; + } } diff --git a/adc-da-convert/src/main/java/com/adc/da/convert/otConvert/controller/OtConvertController.java b/adc-da-convert/src/main/java/com/adc/da/convert/otConvert/controller/OtConvertController.java index 1319afe8..3a182379 100644 --- a/adc-da-convert/src/main/java/com/adc/da/convert/otConvert/controller/OtConvertController.java +++ b/adc-da-convert/src/main/java/com/adc/da/convert/otConvert/controller/OtConvertController.java @@ -102,4 +102,23 @@ public class OtConvertController extends BaseController { createConvertMQService.sendConvertMQ(attFileEO); return Result.success(""); } + + + + /** + * @Author zhangyanduan + * @Description 根据ATTID将文件转换为PDF文件并归档返回ATTID + * Date 2022年4月18日 + * @Param [fileId] + * @return com.adc.da.util.http.ResponseMessage + **/ + @ApiOperation(value = "根据ATTID将文件转换为PDF文件并归档返回ATTID") + @GetMapping("/convertFileToFileId") + public ResponseMessage convertFileToFileId(String attId){ + AttFileVo attFileVo = createConvertMQService.convertWordFileToPdfFile(attId); + return Result.success(attFileVo); + } + + + } diff --git a/adc-da-jwtLogin/src/main/java/com/adc/da/login/security/WebMvcConfig.java b/adc-da-jwtLogin/src/main/java/com/adc/da/login/security/WebMvcConfig.java index cf1358f1..dfeb14a6 100644 --- a/adc-da-jwtLogin/src/main/java/com/adc/da/login/security/WebMvcConfig.java +++ b/adc-da-jwtLogin/src/main/java/com/adc/da/login/security/WebMvcConfig.java @@ -115,6 +115,8 @@ public class WebMvcConfig implements WebMvcConfigurer { addInterceptor.excludePathPatterns("/api/search/resetSearchCenter/resetBLawsSearchCenter"); addInterceptor.excludePathPatterns("/api/search/resetSearchCenter/resetCBussStandSearchCenter"); addInterceptor.excludePathPatterns("/api/search/resetSearchCenter/syncSearchCenterData"); + //线上转换文件并保存 + addInterceptor.excludePathPatterns("/api/OtConvert/convertFileToFileId"); addInterceptor.excludePathPatterns("/api/att/attFile/downloadFileForSarNew"); addInterceptor.excludePathPatterns("/api/att/attFile/downloadFileForSarWaterMarkNew");