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