diff --git a/pom.xml b/pom.xml index 87e5c46..eeff88c 100644 --- a/pom.xml +++ b/pom.xml @@ -134,6 +134,15 @@ org.springframework.boot spring-boot-maven-plugin + + org.apache.maven.plugins + maven-compiler-plugin + 3.8.1 + + 1.8 + 1.8 + + LISInterface diff --git a/src/main/java/com/ann/demo/controller/TestController.java b/src/main/java/com/ann/demo/controller/TestController.java index d81cbe6..cf03542 100644 --- a/src/main/java/com/ann/demo/controller/TestController.java +++ b/src/main/java/com/ann/demo/controller/TestController.java @@ -60,7 +60,6 @@ public class TestController { objects = client.invoke(interfaceForm.getInterfaceName(), interfaceForm.getParameter(), interfaceForm.getContent()); } - System.out.println(objects[0]); } catch (Exception e) { e.printStackTrace(); } diff --git a/src/main/java/com/ann/demo/service/AnalysisService.java b/src/main/java/com/ann/demo/service/AnalysisService.java index 8a85fe6..ff67bc2 100644 --- a/src/main/java/com/ann/demo/service/AnalysisService.java +++ b/src/main/java/com/ann/demo/service/AnalysisService.java @@ -61,6 +61,8 @@ public class AnalysisService { public String getHIPMessageServerResult(String message, Class tClass, String parameter,String webserviceId) throws Exception{ String outContent = "失败", typeCodeValue = "AE"; ArchiveDetail archiveDetail = null; + //是否走掉接口 + boolean interfaceFlag = false; try { long startTime = System.currentTimeMillis(); long endTime = 0; @@ -81,7 +83,6 @@ public class AnalysisService { if((!ObjectUtils.isEmpty(messageDto.getDeliveryFlag()) )&& Objects.equals(messageDto.getDeliveryFlag(),"广州金域")){ // 直接下载并生成文件到detail - //System.out.println(messageDto.getReportAddress()); UUID uuid = UUID.randomUUID(); File pdfFile = FileUtils.createFile("pdfs", messageDto.getInpNo(), messageDto.getVisitId(), uuid.toString(), null); if(Base64Utils.isBase64(messageDto.getReportAddress())) { @@ -90,27 +91,29 @@ public class AnalysisService { textContentTemp = "加密字节流转换pdf失败"; } }else{ + interfaceFlag = true; //不是base64 2023-09-05新增,根据接口下载pdf boolean downFileFlag = collectCheckService.downFileWithCheck(archiveMasterId,messageDto.getBarCode(),messageDto.getCheckReportId(), messageDto.getReportAddress()); if(!downFileFlag){ textContentTemp = "金域外送base64下载失败"; } } - // 查询库中是否存在 如果存在就更新 - archiveDetail = archiveDetailService.isExit(archiveMasterId, messageDto.getType(), messageDto.getSource(), messageDto.getApplyId(),messageDto.getCheckReportId()); - if (archiveDetail == null) { - archiveDetail = new ArchiveDetail(uuid.toString(),archiveMasterId, new Date(), messageDto.getType(), messageDto.getSource(), messageDto.getApplyId(), - messageDto.getDetailType(),messageDto.getCheckReportId()); - archiveDetail.setPdfPath(pdfFile.getAbsolutePath()); - archiveDetailService.save(archiveDetail); - }else{ - archiveDetail.setPdfPath(pdfFile.getAbsolutePath()); - archiveDetailService.save(archiveDetail); + if(!interfaceFlag) { + // 查询库中是否存在 如果存在就更新 + archiveDetail = archiveDetailService.isExit(archiveMasterId, messageDto.getType(), messageDto.getSource(), messageDto.getApplyId(), messageDto.getCheckReportId()); + if (archiveDetail == null) { + archiveDetail = new ArchiveDetail(uuid.toString(), archiveMasterId, new Date(), messageDto.getType(), messageDto.getSource(), messageDto.getApplyId(), + messageDto.getDetailType(), messageDto.getCheckReportId()); + archiveDetail.setPdfPath(pdfFile.getAbsolutePath()); + archiveDetailService.save(archiveDetail); + } else { + archiveDetail.setPdfPath(pdfFile.getAbsolutePath()); + archiveDetailService.save(archiveDetail); + } } // 替换消息的pdf节点 String tempMessage = XMLUtils.replaceXpath(message, pdfFile.getAbsolutePath()); if(!ObjectUtils.isEmpty(tempMessage)){ - //System.out.println(tempMessage); message = tempMessage; messageLog.setInputContent(message); outContent = XMLUtils.generateV3XmlStr("AA", "成功啦~"); @@ -148,8 +151,9 @@ public class AnalysisService { } } }catch (Exception e){ + e.printStackTrace(); // 报错删掉患者报告详情信息 - if (archiveDetail != null) { + if (archiveDetail != null && !interfaceFlag) { if (archiveDetail.getId() != null) { archiveDetailService.delete(archiveDetail.getId()); } diff --git a/src/main/java/com/ann/demo/service/CollectCheckService.java b/src/main/java/com/ann/demo/service/CollectCheckService.java index 661e194..a4a3bd4 100644 --- a/src/main/java/com/ann/demo/service/CollectCheckService.java +++ b/src/main/java/com/ann/demo/service/CollectCheckService.java @@ -58,6 +58,7 @@ public class CollectCheckService { public boolean downFileWithCheck(String masterId,String hospBarcode,String reportOdd,String fileUrl) { //登录 String token = getTokenByCheckKey(siteCode, customerCode, collectionLocation); + System.out.println("获取token:"+token); //下载 return downFileWithCheck(masterId,hospBarcode,reportOdd,fileUrl,token); } diff --git a/src/main/java/com/ann/demo/service/impl/MessageServiceImpl.java b/src/main/java/com/ann/demo/service/impl/MessageServiceImpl.java index 878cab5..f96a18c 100644 --- a/src/main/java/com/ann/demo/service/impl/MessageServiceImpl.java +++ b/src/main/java/com/ann/demo/service/impl/MessageServiceImpl.java @@ -42,7 +42,6 @@ public class MessageServiceImpl implements MessageService { @Override public List findAllMessage() { List allHaha = messageRepository.findAllHaha(); - System.out.println(allHaha.size()); return allHaha; } diff --git a/src/main/java/com/ann/demo/utils/Base64Utils.java b/src/main/java/com/ann/demo/utils/Base64Utils.java index 6658c04..7c2d2db 100644 --- a/src/main/java/com/ann/demo/utils/Base64Utils.java +++ b/src/main/java/com/ann/demo/utils/Base64Utils.java @@ -1,25 +1,44 @@ package com.ann.demo.utils; -import org.apache.axis.encoding.Base64; -public class Base64Utils { - public static String jdkBase64Decode(String src) { - try { - src = src.replaceAll("\r\n",""); - byte[] decode = Base64.decode(src); - return new String(decode); - } catch (Exception e) { - e.printStackTrace(); - } - return null; - } +import java.nio.charset.StandardCharsets; +import java.util.Base64; +public class Base64Utils { + /** + * 判断字符串是否为base64编码 + * @param str + * @return + * Ascii码说明:共95个可读字符 + * 0~31及127(共33个)是控制字符或通信专用字符(其余为可显示字符) + * 32~126(共95个)是字符(32是空格),其中48~57为0到9十个阿拉伯数字。 + * 65~90为26个大写英文字母,97~122号为26个小写英文字母,其余为一些标点符号、运算符号等。 + */ public static boolean isBase64(String str) { - try { - Base64.decode(str); - return true; - } catch (IllegalArgumentException e) { + //使用正则来判断是否符合base64编码的特征(但是无法排除类似于root这种特殊情况) + String base64Pattern = "^([A-Za-z0-9+/]{4})*([A-Za-z0-9+/]{4}|[A-Za-z0-9+/]{3}=|[A-Za-z0-9+/]{2}==)$"; + Boolean isLegal = str.matches(base64Pattern); + if (isLegal) { + //对于某些字符可能符合base64编码特征,但是却不是base64编码格式,进行进一步判断,如果解码后含有乱码(即Ascii码不在32~126), + //说明虽然符合base64编码特征,但是不是base64编码,如:root + try { + String decStr = new String(Base64.getDecoder().decode(str.getBytes()), StandardCharsets.UTF_8); + char[] passArr = decStr.toCharArray(); + for (int i = 0; i < passArr.length; i++) { + if (charToByteAscii2(passArr[i]) < 32 || charToByteAscii2(passArr[i]) > 126) { + return false; + } + } + } catch (Exception e) { + return false; + } + }else { return false; } + return true; + } + private static byte charToByteAscii2(char ch){ + byte byteAscii = (byte)ch; + return byteAscii; } } diff --git a/src/main/java/com/ann/demo/utils/DateUtils.java b/src/main/java/com/ann/demo/utils/DateUtils.java index 1a87a0a..3d4a057 100644 --- a/src/main/java/com/ann/demo/utils/DateUtils.java +++ b/src/main/java/com/ann/demo/utils/DateUtils.java @@ -69,7 +69,6 @@ public class DateUtils { File[] files = file.listFiles(); for (File file1 : files) { - System.out.println(file1.getName()); } } diff --git a/src/main/java/com/ann/demo/utils/FileUtils.java b/src/main/java/com/ann/demo/utils/FileUtils.java index e148ac9..42c6ec7 100644 --- a/src/main/java/com/ann/demo/utils/FileUtils.java +++ b/src/main/java/com/ann/demo/utils/FileUtils.java @@ -137,7 +137,6 @@ public class FileUtils { String a = address.substring(0, address.indexOf(".pdf")); String emrPath = a.substring(a.lastIndexOf("_") + 1, a.length()); - System.out.println(emrPath); } diff --git a/src/main/java/com/ann/demo/utils/HttpClientUtils.java b/src/main/java/com/ann/demo/utils/HttpClientUtils.java index c5969c7..6c49b13 100644 --- a/src/main/java/com/ann/demo/utils/HttpClientUtils.java +++ b/src/main/java/com/ann/demo/utils/HttpClientUtils.java @@ -220,7 +220,6 @@ public class HttpClientUtils { HttpResponse response = httpClient.execute(httpPost); HttpEntity responseEntity = response.getEntity(); String responseBody = EntityUtils.toString(responseEntity); - System.out.println(responseBody); return responseBody; } catch (IOException e) { e.printStackTrace(); diff --git a/src/main/java/com/ann/demo/utils/JsonUtils.java b/src/main/java/com/ann/demo/utils/JsonUtils.java index d014649..047728f 100644 --- a/src/main/java/com/ann/demo/utils/JsonUtils.java +++ b/src/main/java/com/ann/demo/utils/JsonUtils.java @@ -25,8 +25,5 @@ public class JsonUtils { String name = getValueByKey(jsonString, "name"); int age = Integer.parseInt(getValueByKey(jsonString, "age")); - - System.out.println("Name: " + name); - System.out.println("Age: " + age); } } diff --git a/src/main/java/com/ann/demo/utils/XMLUtils.java b/src/main/java/com/ann/demo/utils/XMLUtils.java index 0e2926d..5ee09c7 100644 --- a/src/main/java/com/ann/demo/utils/XMLUtils.java +++ b/src/main/java/com/ann/demo/utils/XMLUtils.java @@ -274,7 +274,6 @@ public class XMLUtils { Node node = x.selectSingleNode(doc); if (node != null) { node.setText(replaceContent); - System.out.println(node.getText()); } }catch (Exception e){ return null; diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml index baf6d9b..6bbc02d 100644 --- a/src/main/resources/application.yml +++ b/src/main/resources/application.yml @@ -12,8 +12,8 @@ spring: # ddl-auto: update # show-sql: true # database-platform: org.hibernate.dialect.MySQL5InnoDBDialect - #url: jdbc:sqlserver://10.6.1.127:1433;DatabaseName=DB_PrivilegeManagement_GYFY - url: jdbc:sqlserver://localhost:1433;DatabaseName=zj_record_new + url: jdbc:sqlserver://10.6.1.127:1433;DatabaseName=DB_PrivilegeManagement_GYFY + #url: jdbc:sqlserver://localhost:1433;DatabaseName=zj_record_new username: sa password: docus702 driver-class-name: com.microsoft.sqlserver.jdbc.SQLServerDriver @@ -62,16 +62,16 @@ file: # 真正部署的时候 这个要改成Z盘 pdfPath: D:/project_js server: - port: 8080 + port: 8885 ################################################# #登录接口 #子公司代码 siteCode: K0101 #客户代码 -customerCode: 44000259-001 +customerCode: 44000259 #收样点代码 -collectionLocation: 44000259-001|001 +collectionLocation: 44000259|003 #loginUrl loginUrl: https://kmcs.kingmed.com.cn/km-op/cxf/v0.1.0.0/syncInfo2?wsdl #namespaceURI @@ -84,4 +84,4 @@ webServiceMethod: login webServiceDownMethod: downloadPictureInfo #调下载接口 -downfileUrl: http://192.168.16.85:9292/api/downplatform/report +downfileUrl: http://10.6.1.127:9291/api/downplatform/report diff --git a/src/test/java/com/ann/demo/DemoApplicationTests.java b/src/test/java/com/ann/demo/DemoApplicationTests.java index 30dd2dd..65e7ae8 100644 --- a/src/test/java/com/ann/demo/DemoApplicationTests.java +++ b/src/test/java/com/ann/demo/DemoApplicationTests.java @@ -12,7 +12,6 @@ public class DemoApplicationTests { @Test public void contextLoads() { int i = (int)Math.pow(2,3); - System.out.println(i); } }