From 0afac42fb2e9d6e5291304dd0044ce3042b45d2b Mon Sep 17 00:00:00 2001
From: liusheng <337615773@qq.com>
Date: 星期六, 10 十月 2026 15:09:14 +0800
Subject: [PATCH] 短信模块提交
---
ruoyi-message/src/main/java/com/ruoyi/message/sms/provider/shiyi/ShiyiSmsUtil.java | 69 +++++++++++++++++-----------------
1 files changed, 34 insertions(+), 35 deletions(-)
diff --git a/smartor/src/main/java/com/smartor/common/ShiyiSmsUtil.java b/ruoyi-message/src/main/java/com/ruoyi/message/sms/provider/shiyi/ShiyiSmsUtil.java
similarity index 87%
rename from smartor/src/main/java/com/smartor/common/ShiyiSmsUtil.java
rename to ruoyi-message/src/main/java/com/ruoyi/message/sms/provider/shiyi/ShiyiSmsUtil.java
index e726987..d67417f 100644
--- a/smartor/src/main/java/com/smartor/common/ShiyiSmsUtil.java
+++ b/ruoyi-message/src/main/java/com/ruoyi/message/sms/provider/shiyi/ShiyiSmsUtil.java
@@ -1,66 +1,64 @@
-package com.smartor.common;
+package com.ruoyi.message.sms.provider.shiyi;
-import com.smartor.domain.ShiyiSmsRequest;
-import com.smartor.domain.ShiyiSmsResponse;
+import com.ruoyi.message.config.MessageProperties;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
-import org.springframework.beans.factory.annotation.Value;
import org.springframework.http.HttpEntity;
import org.springframework.http.HttpHeaders;
import org.springframework.http.MediaType;
import org.springframework.http.ResponseEntity;
import org.springframework.stereotype.Component;
import org.springframework.web.client.RestTemplate;
-
-import javax.xml.parsers.DocumentBuilder;
-import javax.xml.parsers.DocumentBuilderFactory;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;
import org.xml.sax.InputSource;
+import javax.xml.parsers.DocumentBuilder;
+import javax.xml.parsers.DocumentBuilderFactory;
import java.io.StringReader;
import java.nio.charset.StandardCharsets;
import java.text.SimpleDateFormat;
import java.util.Date;
/**
- * 鏉窞甯備竴 HIS 鏈嶅姟骞冲彴瀵规帴宸ュ叿绫汇��
+ * 鏉窞甯備竴 HIS 鏈嶅姟骞冲彴瀵规帴宸ュ叿绫伙紙鐭俊锛夈��
* <p>
* 鎸夈�奌IS 鏈嶅姟骞冲彴鎺ュ彛璇存槑鏂囨。 V1.1銆�3.1 鑺傜害瀹氾紝HIS 瀵瑰浠� WCF Web Service 褰㈠紡鍙戝竷锛�
* 缁熶竴鍏ュ彛锛歿@code int RunService(string TradeType, string TradeMsg, ref string TradeOut)}锛�
* 鍏朵腑 {@code TradeType} 鏍囪瘑涓氬姟缂栫爜锛寋@code TradeMsg} 涓� UTF-8 缂栫爜鐨� XML 鎶ユ枃銆�
- * 鏈伐鍏风被鐩墠瀹炵幇 5.2 鐭俊涓氬姟 (TradeType=FASONGDX)銆�
+ * 鏈被瀹炵幇 5.2 鐭俊涓氬姟 (TradeType=FASONGDX)銆�
+ * <p>
+ * 杩佺Щ璇存槑锛氬師绫讳负 {@code com.smartor.common.ShiyiSmsUtil}銆傚樊寮傜偣锛�
+ * <ul>
+ * <li>閰嶇疆鐢� {@code @Value("${his.service.defaultCaozuoydm:}")} 鏀逛负浠� {@link MessageProperties} 璇诲彇
+ * 锛堝墠缂� {@code message.sms.shiyi.*}锛夛紝鍘� key 涓嶅啀闇�瑕侊紱</li>
+ * <li>鎺ュ彛鍦板潃鐢辩‖缂栫爜鏀逛负 {@code message.sms.shiyi.ws-url}锛岄粯璁ゅ�间笌鍘熺‖缂栫爜涓�鑷�
+ * 锛坽@code http://192.178.0.104:7790/MediInfoHis.svc}锛夈��</li>
+ * </ul>
*/
@Slf4j
@Component
public class ShiyiSmsUtil {
- /** 5.2 鐭俊涓氬姟 TradeType */
+ /**
+ * 5.2 鐭俊涓氬姟 TradeType
+ */
public static final String TRADE_TYPE_FASONGDX = "FASONGDX";
- /** WCF 鍛藉悕绌洪棿锛岄粯璁ら殢鏂囨。绀轰緥 */
- private String namespace = "http://tempuri.org/";
+ /**
+ * WCF 鍛藉悕绌洪棿锛岄粯璁ら殢鏂囨。绀轰緥
+ */
+ private final String namespace = "http://tempuri.org/";
- /** 榛樿鎿嶄綔鍛樹唬鐮� */
- @Value("${his.service.defaultCaozuoydm:}")
- private String defaultCaozuoydm;
-
- /** 榛樿鎿嶄綔鍛樺鍚� */
- @Value("${his.service.defaultCaozuoyxm:}")
- private String defaultCaozuoyxm;
-
- /** 榛樿绯荤粺鏍囪瘑 */
- private String defaultXitongbs = "0";
-
- /** 榛樿鍒嗛櫌浠g爜 */
- private String defaultFenyuandm = "1";
-
- /** 榛樿鏈烘瀯浠g爜 */
- private String defaultJigoudm = "1";
+ private final MessageProperties properties;
private final RestTemplate restTemplate = new RestTemplate();
+
+ public ShiyiSmsUtil(MessageProperties properties) {
+ this.properties = properties;
+ }
/**
* 鍙戦�佺煭淇� (FASONGDX)
@@ -88,13 +86,13 @@
}
/**
- * 璋冪敤 甯備竴 WCF RunService 鎺ュ彛銆係OAP 1.1 鍩虹閴存潈鎸夋枃妗d笉瑕佹眰銆�
+ * 璋冪敤甯備竴 WCF RunService 鎺ュ彛銆係OAP 1.1 鍩虹閴存潈鎸夋枃妗d笉瑕佹眰銆�
*
* @return TradeOut 鎶ユ枃锛堟湇鍔$ ref 鍙傛暟锛�
*/
public String invokeRunService(String tradeType, String tradeMsg) {
String soapEnvelope = buildSoapEnvelope(tradeType, tradeMsg);
- String hisServiceUrl = "http://192.178.0.104:7790/MediInfoHis.svc";
+ String hisServiceUrl = properties.getSms().getShiyi().getWsUrl();
HttpHeaders headers = new HttpHeaders();
headers.setContentType(new MediaType("text", "xml", StandardCharsets.UTF_8));
@@ -115,23 +113,24 @@
}
private void applyDefaults(ShiyiSmsRequest request) {
+ MessageProperties.ShiyiSms shiyi = properties.getSms().getShiyi();
if (StringUtils.isBlank(request.getCaozuoydm())) {
- request.setCaozuoydm(defaultCaozuoydm);
+ request.setCaozuoydm(shiyi.getDefaultCaozuoydm());
}
if (StringUtils.isBlank(request.getCaozuoyxm())) {
- request.setCaozuoyxm(defaultCaozuoyxm);
+ request.setCaozuoyxm(shiyi.getDefaultCaozuoyxm());
}
if (StringUtils.isBlank(request.getCaozuorq())) {
request.setCaozuorq(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()));
}
if (StringUtils.isBlank(request.getXitongbs())) {
- request.setXitongbs(defaultXitongbs);
+ request.setXitongbs("0");
}
if (StringUtils.isBlank(request.getFenyuandm())) {
- request.setFenyuandm(defaultFenyuandm);
+ request.setFenyuandm("1");
}
if (StringUtils.isBlank(request.getJigoudm())) {
- request.setJigoudm(defaultJigoudm);
+ request.setJigoudm("1");
}
if (StringUtils.isBlank(request.getDuanxinlx())) {
request.setDuanxinlx("0");
--
Gitblit v1.9.3