From e32414ce775fefdd0602ac96c218c4f0758f7033 Mon Sep 17 00:00:00 2001
From: 陈昶聿 <chychen@nbjetron.com>
Date: 星期二, 21 七月 2026 15:54:21 +0800
Subject: [PATCH] 【丽水】同步经管医生

---
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/common/SmsController.java |   96 ++++++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 92 insertions(+), 4 deletions(-)

diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/common/SmsController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/common/SmsController.java
index eb55162..9b3667f 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/common/SmsController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/common/SmsController.java
@@ -1,10 +1,20 @@
 package com.ruoyi.web.controller.common;
 
+import com.fasterxml.jackson.databind.JsonNode;
+import com.fasterxml.jackson.databind.ObjectMapper;
+import com.google.gson.Gson;
 import com.ruoyi.common.core.domain.AjaxResult;
+import com.ruoyi.common.dx.MessageSend;
+import com.ruoyi.common.utils.HttpUtil;
 import com.ruoyi.common.utils.RSAPublicKeyExample;
 import com.ruoyi.common.utils.StringUtils;
+import com.ruoyi.common.utils.http.HttpUtils;
 import com.ruoyi.common.utils.sms.smsUtils;
+import com.smartor.common.MtSubmitSmUtil;
+import com.smartor.common.ShiyiSmsUtil;
 import com.smartor.domain.ServiceOutPath;
+import com.smartor.domain.ShiyiSmsRequest;
+import com.smartor.domain.ShiyiSmsResponse;
 import com.smartor.domain.smsVO;
 import com.smartor.mapper.UtilsMapper;
 import com.smartor.service.IServiceOutPathService;
@@ -20,7 +30,12 @@
 import org.springframework.web.bind.annotation.RestController;
 
 import java.io.UnsupportedEncodingException;
+import java.net.URLEncoder;
+import java.time.LocalDateTime;
+import java.time.format.DateTimeFormatter;
 import java.util.Date;
+import java.util.HashMap;
+import java.util.Map;
 
 @RestController
 @Api(description = "鐭ヤ俊鎺ュ彛")
@@ -30,11 +45,20 @@
     @Value("${xhsmsPath}")
     private String xhsmsPath;
 
+    @Autowired
+    private MtSubmitSmUtil mtSubmitSmUtil;
+
+    @Autowired
+    private ShiyiSmsUtil shiyiSmsUtil;
+
     @Value("${xhsmsAccount}")
     private String xhsmsAccount;
 
     @Value("${xhsmsPwd}")
     private String xhsmsPwd;
+    // 铏氭嫙鎺ュ叆鐮�
+    @Value("${xhsmsjrm}")
+    private String xhsmsjrm;
 
     @Value("${localIP}")
     private String ip;
@@ -48,8 +72,8 @@
     @Autowired
     private IServiceOutPathService iServiceOutPathService;
 
-    @Autowired
-    private UtilsMapper utilsMapper;
+    @Value("${spring.profiles.active}")
+    private String active;
 
     /**
      * @param
@@ -60,6 +84,18 @@
     public AjaxResult send(@RequestBody smsVO vo) {
         String sendMsg = smsUtils.sendSms(xhsmsPath, xhsmsAccount, xhsmsPwd, vo.getPhone(), vo.getContent());
         return AjaxResult.success(sendMsg);
+    }
+
+    @ApiOperation("甯備竴HIS鐭俊XML娴嬭瘯")
+    @PostMapping("/sendShiyiTest")
+    public AjaxResult sendShiyiTest(@RequestBody ShiyiSmsRequest request) {
+        try {
+            ShiyiSmsResponse response = shiyiSmsUtil.sendSms(request);
+            return AjaxResult.success(response);
+        } catch (Exception e) {
+            log.error("甯備竴HIS鐭俊XML娴嬭瘯澶辫触", e);
+            return AjaxResult.error("甯備竴HIS鐭俊XML娴嬭瘯澶辫触: " + e.getMessage());
+        }
     }
 
     /**
@@ -84,6 +120,7 @@
             serviceOutPath.setParam6(subId);
             serviceOutPath.setRadix(format);
             serviceOutPath.setCreateTime(new Date());
+            serviceOutPath.setOrgid(vo.getOrgid());
             iServiceOutPathService.insertServiceOutPath(serviceOutPath);
             String url = ip + ":" + req_path + "/wt?p=" + format;
             content = "鎮ㄥソ锛岄個璇锋偍濉啓鍑洪櫌璋冩煡琛紝璇风偣鍑�" + url + "濉啓銆傛劅璋㈡偍閰嶅悎锛�";
@@ -91,9 +128,57 @@
 
         if (ObjectUtils.isNotEmpty(vo.getContent())) content = vo.getContent();
 
-        String sendMsg = "";
+        String sendMsg = "false";
         try {
-            sendMsg = smsUtils.sendSms(xhsmsPath, xhsmsAccount, xhsmsPwd, vo.getPhone(), content);
+            if (active.equals("hzszlyy")) {
+                sendMsg = smsUtils.sendSms(xhsmsPath, xhsmsAccount, xhsmsPwd, vo.getPhone(), content);
+            } else if (active.equals("nhfy")) {
+                Map<String, Object> smsResult = mtSubmitSmUtil.submitSm(vo.getPhone(), content);
+                if (smsResult != null && smsResult.get("result") != null && smsResult.get("result").toString().equals("0")) {
+                    sendMsg = "true";
+                }
+            } else if (active.equals("sltd")) {
+                String data = MessageSend.sendMsg(content, "6", vo.getPhone(), LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyyMMddHHmmss")));
+                if (StringUtils.isNotEmpty(data)) {
+                    ObjectMapper mapper = new ObjectMapper();
+                    JsonNode root = mapper.readTree(data);
+                    String status = root.get("result").get(0).get("status").asText();
+                    if (status.equals("00000")) {
+                        sendMsg = "true";
+                    }
+                }
+            } else if (active.equals("xh")) {
+//                Map<String, String> req = new HashMap<>();
+//                req.put("phone", vo.getPhone());
+//                req.put("content", vo.getContent());
+//                Boolean result = HttpUtil.postJsonRequest(xhsmsPath, new Gson().toJson(req));
+                Map<String, String> map2 = new HashMap<String, String>();
+                map2.put("action", "send");
+                map2.put("account", xhsmsAccount);
+                map2.put("password", xhsmsPwd);
+                map2.put("mobile", vo.getPhone());
+                map2.put("content", vo.getContent());
+                map2.put("extno", xhsmsjrm);
+                map2.put("rt", "json");
+                StringBuilder encodedParams = new StringBuilder();
+
+                for (Map.Entry<String, String> entry : map2.entrySet()) {
+                    if (encodedParams.length() > 0) {
+                        encodedParams.append("&");
+                    }
+                    // 瀵归敭鍜屽�艰繘琛孶RL缂栫爜
+                    String encodedKey = URLEncoder.encode(entry.getKey(), "UTF-8");
+                    String encodedValue = URLEncoder.encode(entry.getValue(), "UTF-8");
+                    encodedParams.append(encodedKey).append("=").append(encodedValue);
+                }
+                Boolean result = HttpUtils.sendPost(xhsmsPath, encodedParams.toString());
+                if (result) {
+                    sendMsg = "true";
+                }
+            } else if (active.equals("ls")) {
+                //涓芥按13瀹跺尰闄紝鏈夌偣涓嶆柟渚匡紝鏈夌┖鍐嶆帴
+                return AjaxResult.error("璇ョ煭淇″姛鑳借繕鏈紑閫�");
+            }
             log.info(sendMsg);
         } catch (Exception ex) {
             log.error(ex.getMessage());
@@ -123,10 +208,13 @@
             serviceOutPath.setParam6(subId);
             serviceOutPath.setRadix(format);
             serviceOutPath.setCreateTime(new Date());
+            serviceOutPath.setOrgid(vo.getOrgid());
             iServiceOutPathService.insertServiceOutPath(serviceOutPath);
             String url = ip + ":" + req_path + "/wt?p=" + format;
             sendMsg = smsUtils.sendChat(url, vo.getPhone(), vo.getIdCard());
         }
         return AjaxResult.success(sendMsg);
     }
+
+
 }

--
Gitblit v1.9.3