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 "" + "" + "" + "" + "" + "" + "" + "" + "" + "" + "" + "" + "" + "" + "" + "" + "" + "" + "" + "" + "" + "" + "" + "" + "" + "" + "" + "" + "" + ""; } }