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