对接比亚迪相关接口异常处理.

This commit is contained in:
wangzhijiang
2024-03-12 09:30:55 +08:00
parent ebce167e64
commit 6c553affd6
3 changed files with 89 additions and 70 deletions
@@ -345,27 +345,33 @@ public class DocumentSplitServiceImpl implements IDocumentSplitService {
if(count == -1){
successful = 0;
}
// 推送拆分结果
RestTemplate restTemplate = new RestTemplate();
HttpHeaders headers = new HttpHeaders();
headers.setContentType(MediaType.APPLICATION_JSON);
try {
// 推送拆分结果
RestTemplate restTemplate = new RestTemplate();
HttpHeaders headers = new HttpHeaders();
headers.setContentType(MediaType.APPLICATION_JSON);
// 创建MultiValueMap对象,用于存储请求参数
MultiValueMap<String, Object> params = new LinkedMultiValueMap<>();
params.add("standardCode", sarFileSplitInfoEO.getSerialNumber());
params.add("docId", sarFileSplitInfoEO.getId());
params.add("brief", "");
params.add("successful", successful);
// 创建MultiValueMap对象,用于存储请求参数
MultiValueMap<String, Object> params = new LinkedMultiValueMap<>();
params.add("standardCode", sarFileSplitInfoEO.getSerialNumber());
params.add("docId", sarFileSplitInfoEO.getId());
params.add("brief", "");
params.add("successful", successful);
// 使用HttpEntity对象包装请求体和请求头
HttpEntity<MultiValueMap<String, Object>> requestEntity = new HttpEntity<>(params, headers);
// 使用HttpEntity对象包装请求体和请求头
HttpEntity<MultiValueMap<String, Object>> requestEntity = new HttpEntity<>(params, headers);
// 发送POST请求并获取响应
ResponseEntity<String> responseEntity = restTemplate.postForEntity(bydSplitResultUrl, requestEntity, String.class);
String body = responseEntity.getBody();
JSONObject jsonObject = JSONObject.parseObject(body);
// 发送POST请求并获取响应
ResponseEntity<String> responseEntity = restTemplate.postForEntity(bydSplitResultUrl, requestEntity, String.class);
String body = responseEntity.getBody();
JSONObject jsonObject = JSONObject.parseObject(body);
log.info("拆分结果回调结果:" + body);
}catch (Exception ex) {
ex.printStackTrace();
log.error("拆分结果回调结果失败:" + ex.getMessage());
}
log.info("拆分结果回调结束=========================================================");
log.info("拆分结果回调结果:" + body);
}
if(count == -1){
@@ -530,58 +530,63 @@ public class OnlyOfficeController {
logger.info("更新基线信息结束==========================================");
logger.info("推送保存基线版本文件信息开始==========================================");
// 推送保存基线版本文件信息
RestTemplate restTemplate = new RestTemplate();
HttpHeaders headers = new HttpHeaders();
headers.setContentType(MediaType.APPLICATION_JSON);
try {
// 推送保存基线版本文件信息
RestTemplate restTemplate = new RestTemplate();
HttpHeaders headers = new HttpHeaders();
headers.setContentType(MediaType.APPLICATION_JSON);
// 创建MultiValueMap对象,用于存储请求参数
MultiValueMap<String, Object> params = new LinkedMultiValueMap<>();
params.add("fileId", createTimeLatestOnlineFileLog.getHisId()); // 每一次草稿的id(第一次发起文档编辑时的id)
params.add("docId", createTimeLatestOnlineFileLog.getId()); // 基线文档主键id
// 创建MultiValueMap对象,用于存储请求参数
MultiValueMap<String, Object> params = new LinkedMultiValueMap<>();
params.add("fileId", createTimeLatestOnlineFileLog.getHisId()); // 每一次草稿的id(第一次发起文档编辑时的id)
params.add("docId", createTimeLatestOnlineFileLog.getId()); // 基线文档主键id
// 使用HttpEntity对象包装请求体和请求头
HttpEntity<MultiValueMap<String, Object>> requestEntity = new HttpEntity<>(params, headers);
// 使用HttpEntity对象包装请求体和请求头
HttpEntity<MultiValueMap<String, Object>> requestEntity = new HttpEntity<>(params, headers);
// 发送POST请求并获取响应
ResponseEntity<String> responseEntity = restTemplate.postForEntity(bydSaveBaseLineDocIdUrl, requestEntity, String.class);
String body = responseEntity.getBody();
logger.info("推送保存基线版本文件信息结果:" + body);
// 发送POST请求并获取响应
ResponseEntity<String> responseEntity = restTemplate.postForEntity(bydSaveBaseLineDocIdUrl, requestEntity, String.class);
String body = responseEntity.getBody();
logger.info("推送保存基线版本文件信息结果:" + body);
}catch (Exception ex){
ex.printStackTrace();
logger.error("推送保存基线版本文件信息失败:" + ex.getMessage());
}
logger.info("推送保存基线版本文件信息结束==========================================");
// 将这个文件上传至比亚迪文件系统.并将该接口返回的data中的文件id,更新到该条数据中.
logger.info("基线版本文件上传接口开始==========================================");
RestTemplate restTemplate2 = new RestTemplate();
try {
RestTemplate restTemplate2 = new RestTemplate();
// // 添加 FormHttpMessageConverter,用于处理文件上传
// List<HttpMessageConverter<?>> messageConverters = new ArrayList<>();
// messageConverters.add(new FormHttpMessageConverter());
// restTemplate2.setMessageConverters(messageConverters);
HttpHeaders headers2 = new HttpHeaders();
headers2.setContentType(MediaType.MULTIPART_FORM_DATA);
HttpHeaders headers2 = new HttpHeaders();
headers2.setContentType(MediaType.MULTIPART_FORM_DATA);
// 创建MultiValueMap对象,用于存储请求参数
MultiValueMap<String, Object> params2 = new LinkedMultiValueMap<>();
// 创建MultiValueMap对象,用于存储请求参数
MultiValueMap<String, Object> params2 = new LinkedMultiValueMap<>();
// 将文件转换为FileSystemResource对象,并将其添加到MultiValueMap
String attFileId = createTimeLatestOnlineFileLog.getAttFileId();
OSSFile ossFile = ossFileService.getById(attFileId);
File file = new File(filePath + ossFile.getUrl());
FileSystemResource fileResource = new FileSystemResource(file);
params2.add("file", fileResource);
// 将文件转换为FileSystemResource对象,并将其添加到MultiValueMap中
String attFileId = createTimeLatestOnlineFileLog.getAttFileId();
OSSFile ossFile = ossFileService.getById(attFileId);
File file = new File(filePath + ossFile.getUrl());
FileSystemResource fileResource = new FileSystemResource(file);
params2.add("file", fileResource);
// 使用HttpEntity对象包装请求体和请求头
HttpEntity<MultiValueMap<String, Object>> requestEntity2 = new HttpEntity<>(params2, headers2);
// 使用HttpEntity对象包装请求体和请求头
HttpEntity<MultiValueMap<String, Object>> requestEntity2 = new HttpEntity<>(params2, headers2);
// 发送POST请求并获取响应
ResponseEntity<String> responseEntity2 = restTemplate2.postForEntity(bydUploadFileUrl, requestEntity2, String.class);
String body2 = responseEntity2.getBody();
JSONObject jsonObject2 = JSONObject.parseObject(body2);
String data = jsonObject2.getString("data");
createTimeLatestOnlineFileLog.setBydJxFileId(data);
logger.info("基线版本文件上传接口结果:" + body2);
// 发送POST请求并获取响应
ResponseEntity<String> responseEntity2 = restTemplate2.postForEntity(bydUploadFileUrl, requestEntity2, String.class);
String body2 = responseEntity2.getBody();
JSONObject jsonObject2 = JSONObject.parseObject(body2);
String data = jsonObject2.getString("data");
createTimeLatestOnlineFileLog.setBydJxFileId(data);
logger.info("基线版本文件上传接口结果:" + body2);
}catch (Exception ex){
ex.printStackTrace();
logger.error("基线版本文件上传失败:" + ex.getMessage());
}
logger.info("基线版本文件上传接口结束==========================================");
this.onlineFileLogDao.updateById(createTimeLatestOnlineFileLog);
@@ -192,23 +192,31 @@ public class FileSpiltService {
}
splitFileIs = MinioUtil.download(readFilePath);
} else {
// 根据byd传过来的文件下载路径获取文件。
RestTemplate restTemplate = new RestTemplate();
HttpHeaders headers = new HttpHeaders();
headers.setContentType(MediaType.APPLICATION_JSON);
log.info("下载文档开始=========================================================");
try {
// 根据byd传过来的文件下载路径获取文件。
RestTemplate restTemplate = new RestTemplate();
HttpHeaders headers = new HttpHeaders();
headers.setContentType(MediaType.APPLICATION_JSON);
// 创建MultiValueMap对象,用于存储请求参数
MultiValueMap<String, String> params = new LinkedMultiValueMap<>();
String fileId = sarFileSplitInfoEO.getId();
params.add("fileId", fileId);
// 创建MultiValueMap对象,用于存储请求参数
MultiValueMap<String, String> params = new LinkedMultiValueMap<>();
String fileId = sarFileSplitInfoEO.getId();
params.add("fileId", fileId);
// 使用HttpEntity对象包装请求体和请求头
HttpEntity<MultiValueMap<String, String>> requestEntity = new HttpEntity<>(params, headers);
// 使用HttpEntity对象包装请求体和请求头
HttpEntity<MultiValueMap<String, String>> requestEntity = new HttpEntity<>(params, headers);
// 发送POST请求并获取响应
ResponseEntity<byte[]> responseEntity = restTemplate.postForEntity(bydDownLoadFileUrl, requestEntity, byte[].class);
// 获取文件流
splitFileIs = new ByteArrayInputStream(responseEntity.getBody());
// 发送POST请求并获取响应
ResponseEntity<byte[]> responseEntity = restTemplate.postForEntity(bydDownLoadFileUrl, requestEntity, byte[].class);
// 获取文件流
splitFileIs = new ByteArrayInputStream(responseEntity.getBody());
}catch (Exception ex){
ex.printStackTrace();
log.error("调用比亚迪下载文档接口失败:" + ex.getMessage());
throw new JeroBootException("调用比亚迪下载文档接口失败!");
}
log.info("下载文档结束=========================================================");
}
try (InputStream is = splitFileIs;InputStream is1 = splitFileIs) {