From a921593922676f4ed90bd1aad99b84779e2d576d Mon Sep 17 00:00:00 2001
From: wyb <1977763549@qq.com>
Date: Tue, 18 Jul 2023 11:52:48 +0800
Subject: [PATCH] =?UTF-8?q?xml=20get=20Node=20=E6=8F=90=E5=8F=96=E5=88=A4?=
=?UTF-8?q?=E7=A9=BA=E6=96=B9=E6=B3=95?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../report/converter/XmlMessageConverter.java | 51 +++++++++++
.../HIP1264ReceiveMessageConverter.java | 23 ++---
...1264MaternalInfantRelationshipHandler.java | 85 +++----------------
3 files changed, 74 insertions(+), 85 deletions(-)
create mode 100644 src/main/java/com/docus/server/report/converter/XmlMessageConverter.java
rename src/main/java/com/docus/server/report/converter/{ => impl}/HIP1264ReceiveMessageConverter.java (86%)
diff --git a/src/main/java/com/docus/server/report/converter/XmlMessageConverter.java b/src/main/java/com/docus/server/report/converter/XmlMessageConverter.java
new file mode 100644
index 0000000..eb05bb0
--- /dev/null
+++ b/src/main/java/com/docus/server/report/converter/XmlMessageConverter.java
@@ -0,0 +1,51 @@
+package com.docus.server.report.converter;
+
+import org.w3c.dom.Node;
+
+/**
+ * @author wyb
+ */
+public interface XmlMessageConverter {
+
+ /**
+ * 从node获取值,node为空返回 null
+ *
+ * @param node 节点
+ * @return 值
+ */
+ default String getNodeValue(Node node) {
+ return getTextContentOrDefault(node, null);
+ }
+
+ /**
+ * 从node获取值,node为空返回默认值
+ *
+ * @param node 节点
+ * @param defaultVal 默认值
+ * @return 值
+ */
+ default String getNodeValueOrDefault(Node node, String defaultVal) {
+ return node == null ? defaultVal : node.getNodeValue();
+ }
+
+ /**
+ * 从node获取内容,node为空返回null
+ *
+ * @param node 节点
+ * @return 值
+ */
+ default String getTextContent(Node node) {
+ return getTextContentOrDefault(node, null);
+ }
+
+ /**
+ * 从node获取内容,node为空返回默认值
+ *
+ * @param node 节点
+ * @param defaultVal 默认值
+ * @return 值
+ */
+ default String getTextContentOrDefault(Node node, String defaultVal) {
+ return node == null ? defaultVal : node.getTextContent();
+ }
+}
diff --git a/src/main/java/com/docus/server/report/converter/HIP1264ReceiveMessageConverter.java b/src/main/java/com/docus/server/report/converter/impl/HIP1264ReceiveMessageConverter.java
similarity index 86%
rename from src/main/java/com/docus/server/report/converter/HIP1264ReceiveMessageConverter.java
rename to src/main/java/com/docus/server/report/converter/impl/HIP1264ReceiveMessageConverter.java
index 681cedb..0016a98 100644
--- a/src/main/java/com/docus/server/report/converter/HIP1264ReceiveMessageConverter.java
+++ b/src/main/java/com/docus/server/report/converter/impl/HIP1264ReceiveMessageConverter.java
@@ -1,5 +1,6 @@
-package com.docus.server.report.converter;
+package com.docus.server.report.converter.impl;
+import com.docus.server.report.converter.XmlMessageConverter;
import com.docus.server.report.dto.MaternalInfantRelationshipDTO;
import com.docus.server.report.util.XmlUtil;
import org.w3c.dom.Node;
@@ -9,7 +10,7 @@ import org.w3c.dom.Node;
*
* @author wyb
*/
-public class HIP1264ReceiveMessageConverter {
+public class HIP1264ReceiveMessageConverter implements XmlMessageConverter {
private final String message;
public HIP1264ReceiveMessageConverter(String message) {
@@ -28,15 +29,15 @@ public class HIP1264ReceiveMessageConverter {
Node parentHisIdNode = xmlUtil.getNode("/PRPA_HIP1264/controlActProcess/parentHisId/@value");
Node hospCodeNode = xmlUtil.getNode("/PRPA_HIP1264/controlActProcess/hospInfo/@code");
- String messageId = messageIdNode == null ? "" : messageIdNode.getNodeValue();
- String sender = senderNode == null ? "" : senderNode.getNodeValue();
- String receiver = receiverNode == null ? "" : receiverNode.getNodeValue();
- String babyId = babyIdNode == null ? "" : babyIdNode.getNodeValue();
- String babyHisId = babyHisIdNode == null ? "" : babyHisIdNode.getNodeValue();
- String momId = momIdNode == null ? "" : momIdNode.getNodeValue();
- String parentTimes = parentTimesNode == null ? "" : parentTimesNode.getNodeValue();
- String parentHisId = parentHisIdNode == null ? "" : parentHisIdNode.getNodeValue();
- String hospCode = hospCodeNode == null ? "" : hospCodeNode.getNodeValue();
+ String messageId = getNodeValueOrDefault(messageIdNode, "");
+ String sender = getNodeValueOrDefault(senderNode, "");
+ String receiver = getNodeValueOrDefault(receiverNode, "");
+ String babyId = getNodeValueOrDefault(babyIdNode, "");
+ String babyHisId = getNodeValueOrDefault(babyHisIdNode, "");
+ String momId = getNodeValueOrDefault(momIdNode, "");
+ String parentTimes = getNodeValueOrDefault(parentTimesNode, "");
+ String parentHisId = getNodeValueOrDefault(parentHisIdNode, "");
+ String hospCode = getNodeValueOrDefault(hospCodeNode, "");
MaternalInfantRelationshipDTO dto = new MaternalInfantRelationshipDTO();
dto.setMsgId(messageId);
diff --git a/src/main/java/com/docus/server/report/webservice/impl/HIP1264MaternalInfantRelationshipHandler.java b/src/main/java/com/docus/server/report/webservice/impl/HIP1264MaternalInfantRelationshipHandler.java
index fcad850..8727eef 100644
--- a/src/main/java/com/docus/server/report/webservice/impl/HIP1264MaternalInfantRelationshipHandler.java
+++ b/src/main/java/com/docus/server/report/webservice/impl/HIP1264MaternalInfantRelationshipHandler.java
@@ -3,7 +3,7 @@ package com.docus.server.report.webservice.impl;
import com.docus.core.util.DateUtil;
import com.docus.core.util.Func;
import com.docus.infrastructure.core.exception.BaseException;
-import com.docus.server.report.converter.HIP1264ReceiveMessageConverter;
+import com.docus.server.report.converter.impl.HIP1264ReceiveMessageConverter;
import com.docus.server.report.converter.MaternalInfantRelationshipConverter;
import com.docus.server.report.dto.MaternalInfantRelationshipDTO;
import com.docus.server.report.entity.MaternalInfantRelationship;
@@ -40,13 +40,13 @@ public class HIP1264MaternalInfantRelationshipHandler implements WebserviceRecei
MaternalInfantRelationshipConverter maternalInfantRelationshipConverter = new MaternalInfantRelationshipConverter(dto);
MaternalInfantRelationship maternalInfantRelationship = maternalInfantRelationshipConverter.dto2po();
maternalInfantRelationshipMapper.saveOrUpdate(maternalInfantRelationship);
- return insertSuccess(dto.getMsgId(), dto.getSender(), dto.getReceiver());
+ return insertSuccess(dto.getMsgId());
} catch (BaseException baseException) {
log.error(baseException.getMessage(), baseException);
- return insertFailed(dto.getMsgId(), dto.getSender(), dto.getReceiver(), baseException.getMessage());
+ return insertFailed(dto.getMsgId(), baseException.getMessage());
} catch (Exception ex) {
log.error(ex.getMessage(), ex);
- return insertFailed(dto.getMsgId(), dto.getSender(), dto.getReceiver(), "系统错误!");
+ return insertFailed(dto.getMsgId(), "系统错误!");
}
}
@@ -62,83 +62,20 @@ public class HIP1264MaternalInfantRelationshipHandler implements WebserviceRecei
/**
* 返回母婴关系保存成功响应消息
*
- * @param msgId 消息id
- * @param sender 发送路由
- * @param receiver 接收路由
+ * @param msgId 消息id
*/
- public String insertSuccess(String msgId, String sender, String receiver) {
- String createTime = Func.format(new Date(), DateUtil.PATTERN_DATETIME_MINI);
- return "" +
- "" +
- "" +
- "" +
- "" +
- "" +
- "" +
- "" +
- "" +
- "" +
- "- " +
- "
" +
- "" +
- "" +
- "" +
- "" +
- "" +
- "- " +
- "
" +
- "" +
- "" +
- "" +
- "" +
- "" +
- "" +
- "" +
- "" +
- "" +
- "" +
- "";
+ public String insertSuccess(String msgId) {
+
+ return "" + "" + "" + "" + "" + "" + "" + "" + "" + "" + "- " + "
" + "" + "" + "" + "" + "" + "- " + "
" + "" + "" + "" + "" + "" + "" + "" + "" + "" + "" + "";
}
/**
* 返回母婴关系保存失败响应消息
*
- * @param msgId 消息id
- * @param sender 发送路由
- * @param receiver 接收路由
+ * @param msgId 消息id
*/
- public String insertFailed(String msgId, String sender, String receiver, String failedMessage) {
- String createTime = Func.format(new Date(), DateUtil.PATTERN_DATETIME_MINI);
- return "" +
- "" +
- "" +
- "" +
- "" +
- "" +
- "" +
- "" +
- "" +
- "" +
- "- " +
- "
" +
- "" +
- "" +
- "" +
- "" +
- "" +
- "- " +
- "
" +
- "" +
- "" +
- "" +
- "" +
- "" +
- "" +
- "" +
- "" +
- "" +
- "" +
- "";
+ public String insertFailed(String msgId, String failedMessage) {
+ return "" + "" + "" + "" + "" + "" + "" + "" + "" + "" + "- " + "
" + "" + "" + "" + "" + "" + "- " + "
" + "" + "" + "" + "" + "" + "" + "" + "" + "" + "" + "";
}
}