feat: There is no way the

This commit is contained in:
super_liu
2021-08-18 13:46:11 +08:00
parent 8db9e0bccf
commit 8e0e632c35
16 changed files with 1007 additions and 70 deletions
@@ -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){
//
// }
//
//
//}