feat: There is no way the
This commit is contained in:
@@ -1,63 +1,217 @@
|
||||
package com.adc.da.convert.mq;
|
||||
|
||||
import com.adc.da.att.entity.AttFileEO;
|
||||
import com.adc.da.att.service.IAttFileEOService;
|
||||
import com.rabbitmq.client.Channel;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.amqp.rabbit.annotation.Exchange;
|
||||
import org.springframework.amqp.rabbit.annotation.Queue;
|
||||
import org.springframework.amqp.rabbit.annotation.QueueBinding;
|
||||
import org.springframework.amqp.rabbit.annotation.RabbitListener;
|
||||
import org.springframework.amqp.support.AmqpHeaders;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.beans.factory.annotation.Value;
|
||||
import org.springframework.messaging.Message;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
@Component
|
||||
public class SendConvertMQService {
|
||||
|
||||
// 文档转换远程服务IP地址
|
||||
@Value("${convert.host}")
|
||||
private String convertHost;
|
||||
|
||||
@Autowired
|
||||
private IAttFileEOService iAttFileEOService;
|
||||
|
||||
private static final Logger logger = LoggerFactory.getLogger(SendConvertMQService.class);
|
||||
|
||||
@RabbitListener(bindings = @QueueBinding(
|
||||
value = @Queue(value = "createConvertStandMQ_SQ_GSAR", durable = "true"),
|
||||
exchange = @Exchange(value = "convert-exchange_SQ_GSAR", ignoreDeclarationExceptions = "true"),
|
||||
key = "convert-key_SQ_GSAR"))
|
||||
public void createMQ(AttFileEO attFileEO, Message message, Channel channel) throws Exception{
|
||||
try{
|
||||
try{
|
||||
Thread.sleep(5000);
|
||||
insertOrUpdateStandInfo(attFileEO);
|
||||
}catch(InterruptedException e){
|
||||
logger.error(e.toString());
|
||||
Thread.currentThread().interrupt();
|
||||
}
|
||||
} catch (Exception e) {
|
||||
logger.error("文档转换消息队列进入添加数据方法前失败!");
|
||||
logger.error(e.getMessage(),e);
|
||||
}finally {
|
||||
Long tag = (Long) message.getHeaders().get(AmqpHeaders.DELIVERY_TAG);
|
||||
channel.basicAck(tag,false);
|
||||
logger.debug("文档转换消息确认成功!!!!!!!!!");
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* 文档转换逻辑
|
||||
* @param attFileEO
|
||||
*/
|
||||
public void insertOrUpdateStandInfo(AttFileEO attFileEO){
|
||||
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
//package com.adc.da.convert.mq;
|
||||
//
|
||||
//import com.adc.da.att.entity.AttFileEO;
|
||||
//import com.adc.da.att.service.IAttFileEOService;
|
||||
//import com.adc.da.convert.common.DocConverterPdf;
|
||||
//import com.adc.da.util.http.ResponseMessage;
|
||||
//import com.adc.da.util.http.Result;
|
||||
//import com.adc.da.util.utils.StringUtils;
|
||||
//import com.rabbitmq.client.Channel;
|
||||
//import org.slf4j.Logger;
|
||||
//import org.slf4j.LoggerFactory;
|
||||
//import org.springframework.amqp.rabbit.annotation.Exchange;
|
||||
//import org.springframework.amqp.rabbit.annotation.Queue;
|
||||
//import org.springframework.amqp.rabbit.annotation.QueueBinding;
|
||||
//import org.springframework.amqp.rabbit.annotation.RabbitListener;
|
||||
//import org.springframework.amqp.support.AmqpHeaders;
|
||||
//import org.springframework.beans.factory.annotation.Autowired;
|
||||
//import org.springframework.beans.factory.annotation.Value;
|
||||
//import org.springframework.messaging.Message;
|
||||
//import org.springframework.stereotype.Component;
|
||||
//
|
||||
//import java.io.File;
|
||||
//import java.util.Date;
|
||||
//import java.util.Map;
|
||||
//
|
||||
//@Component
|
||||
//public class SendConvertMQService {
|
||||
//
|
||||
// // 文档转换远程服务IP地址
|
||||
// @Value("${convert.host}")
|
||||
// private String convertHost;
|
||||
//
|
||||
// @Autowired
|
||||
// private IAttFileEOService iAttFileEOService;
|
||||
//
|
||||
// private static final Logger logger = LoggerFactory.getLogger(SendConvertMQService.class);
|
||||
//
|
||||
// @RabbitListener(bindings = @QueueBinding(
|
||||
// value = @Queue(value = "createConvertStandMQ_SQ_GSAR", durable = "true"),
|
||||
// exchange = @Exchange(value = "convert-exchange_SQ_GSAR", ignoreDeclarationExceptions = "true"),
|
||||
// key = "convert-key_SQ_GSAR"))
|
||||
// public void createMQ(AttFileEO attFileEO, Message message, Channel channel) throws Exception{
|
||||
// try{
|
||||
// try{
|
||||
// Thread.sleep(5000);
|
||||
// insertOrUpdateStandInfo(attFileEO);
|
||||
// }catch(InterruptedException e){
|
||||
// logger.error(e.toString());
|
||||
// Thread.currentThread().interrupt();
|
||||
// }
|
||||
// } catch (Exception e) {
|
||||
// logger.error("文档转换消息队列进入添加数据方法前失败!");
|
||||
// logger.error(e.getMessage(),e);
|
||||
// }finally {
|
||||
// Long tag = (Long) message.getHeaders().get(AmqpHeaders.DELIVERY_TAG);
|
||||
// channel.basicAck(tag,false);
|
||||
// logger.debug("文档转换消息确认成功!!!!!!!!!");
|
||||
// }
|
||||
//
|
||||
// }
|
||||
//
|
||||
// public void insertConvertMsg(Map<String,Object> convertInfo) throws Exception{
|
||||
// String attId = "";
|
||||
// String filePath = "";
|
||||
// String otId = "";
|
||||
// String addUpFlag = "";
|
||||
// String convertType = "";
|
||||
// String standFileClassify = "";
|
||||
// String lawsFileClassify = "";
|
||||
// //资源与文件关联表转换成功的ID
|
||||
// String standFilePdfId = "";
|
||||
// if(convertInfo.get("attId") != null){
|
||||
// attId = convertInfo.get("attId").toString();
|
||||
// }
|
||||
// if(convertInfo.get("path") != null){
|
||||
// filePath = convertInfo.get("path").toString();
|
||||
// }
|
||||
// if(convertInfo.get("otId") != null){
|
||||
// otId = convertInfo.get("otId").toString();
|
||||
// }
|
||||
// if(convertInfo.get("addUpFlag") != null){
|
||||
// addUpFlag = convertInfo.get("addUpFlag").toString();
|
||||
// }
|
||||
// if(convertInfo.get("convertType") != null){
|
||||
// convertType = convertInfo.get("convertType").toString();
|
||||
// }
|
||||
// if(convertInfo.get("standFilePdfId") != null){
|
||||
// standFilePdfId = convertInfo.get("standFilePdfId").toString();
|
||||
// }
|
||||
// if(convertInfo.get("standFileClassify") != null){
|
||||
// standFileClassify = convertInfo.get("standFileClassify").toString();
|
||||
// }
|
||||
// if(convertInfo.get("lawsFileClassify") != null){
|
||||
// lawsFileClassify = convertInfo.get("lawsFileClassify").toString();
|
||||
// }
|
||||
//
|
||||
// //更改完转换表信息后开始转换
|
||||
// OtConvertMqEO convertMqEO = new OtConvertMqEO();
|
||||
// if("0".equals(addUpFlag)){
|
||||
// convertMqEO.setLawsId(convertInfo.get("lawsId").toString());
|
||||
//// convertMqEO.setResId(convertInfo.get("resId").toString());
|
||||
// }
|
||||
// convertMqEO.setConvertType(convertType);
|
||||
// convertMqEO.setAttId(attId);
|
||||
// convertMqEO.setOriAttId(attId);
|
||||
// convertMqEO.setId(otId);
|
||||
// convertMqEO.setFilePath(filePath);
|
||||
// convertMqEO.setAddOrUp(addUpFlag);
|
||||
// convertMqEO.setPdfId(standFilePdfId);
|
||||
// convertMqEO.setStandFileClassify(standFileClassify);
|
||||
// convertMqEO.setLawsFileClassify(lawsFileClassify);
|
||||
// int i = Integer.valueOf(convertInfo.get("againNum").toString());
|
||||
// convertMqEO.setAgainNum(i);
|
||||
// docUploadConvert(convertMqEO);
|
||||
// }
|
||||
//
|
||||
// /**
|
||||
// * @Author yangxuenan
|
||||
// * @Description 文件转换
|
||||
// * Date 2018/8/21 15:51
|
||||
// * @Param [path]
|
||||
// * @return com.adc.da.util.http.ResponseMessage
|
||||
// **/
|
||||
// public ResponseMessage docUploadConvert(OtConvertMqEO convertMqEO) throws Exception{
|
||||
// //保存在数据库中的ID
|
||||
// String path = localFilePath + convertMqEO.getFilePath();
|
||||
// String convertId = convertMqEO.getId();
|
||||
// try {
|
||||
// //进入转换方法中,修改OT_CONVERT表中状态为转换中
|
||||
// convertMqEO.setId(convertId);
|
||||
// convertMqEO.setModifyTime(new Date());
|
||||
// convertMqEO.setMqState(3);
|
||||
// convertMqEOService.updateByPrimaryKeySelective(convertMqEO);
|
||||
// //开始转换。。。。。。
|
||||
// if(!"".equals(path)){
|
||||
// String converfilename = path.replaceAll("\\\\", "/");
|
||||
// logger.info("*****上传路径:*******"+localFilePath);
|
||||
// logger.info("************文件路径:**********" + convertMqEO.getFilePath());
|
||||
// logger.info("************接口:**********" + port);
|
||||
// logger.info("*****上传路径替换,加入文件名*******"+converfilename);
|
||||
// //截取文件类型
|
||||
// int index = converfilename.lastIndexOf(".");
|
||||
// String fileType = converfilename.substring(index,converfilename.length());
|
||||
// String fileOriName = converfilename.substring(0,index);
|
||||
// //调用转换类DocConverter,并将需要转换的文件传递给该类的构造方法
|
||||
// DocConverterPdf d = new DocConverterPdf(converfilename,fileType);
|
||||
// d.setConvertHost(convertHost);
|
||||
// //调用conver方法开始转换,先执行doc2pdf()将office文件转换为pdf;再执行pdf2swf()将pdf转换为swf;
|
||||
// File getPdf = d.conver(fileType);
|
||||
// //调用getswfPath()方法,打印转换后的swf文件路径
|
||||
// String dPath = d.getpdfPath();
|
||||
// logger.info("*****转换后的pdf文件路径*******"+dPath);
|
||||
// //判断是否转换成功,修改数据状态
|
||||
// if(!dPath.isEmpty() && getPdf.length()>0){
|
||||
// // 上传转换后文件
|
||||
// String pdfId = attFileEOService.saveFileAttId(getPdf);
|
||||
// logger.info("////////转换后文件id"+pdfId);
|
||||
// int count = 0;
|
||||
// if("0".equals(convertMqEO.getAddOrUp())){
|
||||
// count = insertConvertDocToFiles(convertMqEO,pdfId,fileOriName,fileType);
|
||||
// } else {
|
||||
// //查询之前在资源与文件关联表中是否有转换成功的数据,如果有执行修改,没有执行新增
|
||||
// if(StringUtils.isNotEmpty(convertMqEO.getPdfId())){
|
||||
// count = updateConvertDocToFIles(convertMqEO,pdfId);
|
||||
// } else {
|
||||
// count = insertConvertDocToFiles(convertMqEO,pdfId,fileOriName,fileType);
|
||||
// }
|
||||
// }
|
||||
// convertMqEO.setId(convertId);
|
||||
// if (count>0) {
|
||||
// // 转换成功
|
||||
// convertMqEO.setModifyTime(new Date());
|
||||
// convertMqEO.setMqState(1);
|
||||
// convertMqEOService.updateByPrimaryKeySelective(convertMqEO);
|
||||
// } else {
|
||||
// // 转换失败
|
||||
// convertMqEO.setModifyTime(new Date());
|
||||
// convertMqEO.setMqState(2);
|
||||
// convertMqEOService.updateByPrimaryKeySelective(convertMqEO);
|
||||
// }
|
||||
// } else {
|
||||
// // 转换失败
|
||||
// convertMqEO.setId(convertId);
|
||||
// convertMqEO.setModifyTime(new Date());
|
||||
// convertMqEO.setMqState(2);
|
||||
// convertMqEOService.updateByPrimaryKeySelective(convertMqEO);
|
||||
// if(convertMqEO.getAgainNum()<=5){
|
||||
// throw new Exception("转换失败");
|
||||
// }
|
||||
// }
|
||||
// return Result.success(dPath);
|
||||
// } else {
|
||||
// logger.error("转换时未获取到文件路径!");
|
||||
// return Result.error("文件存储失败,请重试");
|
||||
// }
|
||||
// } catch (Exception e) {
|
||||
// // 转换失败
|
||||
// logger.error("转换过程中失败!");
|
||||
// logger.error(e.getMessage(),e);
|
||||
// convertMqEO.setId(convertId);
|
||||
// convertMqEO.setMqState(2);
|
||||
// convertMqEOService.updateByPrimaryKeySelective(convertMqEO);
|
||||
// this.restartUploadConvert(convertMqEO);
|
||||
// return Result.error("r0072", "文件转换失败,请重试");
|
||||
// }
|
||||
// }
|
||||
//
|
||||
// /**
|
||||
// * 文档转换逻辑
|
||||
// * @param attFileEO
|
||||
// */
|
||||
// public void insertOrUpdateStandInfo(AttFileEO attFileEO){
|
||||
//
|
||||
// }
|
||||
//
|
||||
//
|
||||
//}
|
||||
|
||||
Reference in New Issue
Block a user