From 586a386b2d779e94002c8099ff62271b0e684d88 Mon Sep 17 00:00:00 2001
From: 陈昶聿 <chychen@nbjetron.com>
Date: 星期三, 06 五月 2026 11:35:19 +0800
Subject: [PATCH] Merge branch 'master' into master-手术随访

---
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/common/SmsController.java |  153 +++++++++++++++++++++++++++++---------------------
 1 files changed, 88 insertions(+), 65 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 5c0afd1..115081f 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,35 +1,36 @@
 package com.ruoyi.web.controller.common;
 
-import com.ruoyi.common.config.RuoYiConfig;
+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.file.FileUtils;
-import com.ruoyi.common.utils.http.HttpUtils;
 import com.ruoyi.common.utils.sms.smsUtils;
-import com.ruoyi.framework.config.ServerConfig;
-import com.smartor.domain.HtmlContentVO;
+import com.smartor.common.MtSubmitSmUtil;
 import com.smartor.domain.ServiceOutPath;
-import com.smartor.domain.ServiceTask;
 import com.smartor.domain.smsVO;
-import com.smartor.mapper.ServiceTaskMapper;
+import com.smartor.mapper.UtilsMapper;
 import com.smartor.service.IServiceOutPathService;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.lang3.ObjectUtils;
-import org.apache.commons.lang3.ObjectUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Value;
-import org.springframework.http.MediaType;
-import org.springframework.web.bind.annotation.*;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
 
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
 import java.io.UnsupportedEncodingException;
-import java.net.URLEncoder;
-import java.nio.charset.StandardCharsets;
+import java.time.LocalDateTime;
+import java.time.format.DateTimeFormatter;
 import java.util.Date;
+import java.util.HashMap;
+import java.util.Map;
 
 @RestController
 @Api(description = "鐭ヤ俊鎺ュ彛")
@@ -38,6 +39,9 @@
 public class SmsController {
     @Value("${xhsmsPath}")
     private String xhsmsPath;
+
+    @Autowired
+    private MtSubmitSmUtil mtSubmitSmUtil;
 
     @Value("${xhsmsAccount}")
     private String xhsmsAccount;
@@ -57,9 +61,8 @@
     @Autowired
     private IServiceOutPathService iServiceOutPathService;
 
-    @Autowired
-    private ServiceTaskMapper serviceTaskMapper;
-
+    @Value("${spring.profiles.active}")
+    private String active;
 
     /**
      * @param
@@ -68,9 +71,10 @@
     @ApiOperation("鐭俊鍙戦��")
     @PostMapping("/sendTest")
     public AjaxResult send(@RequestBody smsVO vo) {
-        String sendMsg=smsUtils.sendSms(xhsmsPath,xhsmsAccount,xhsmsPwd,vo.getPhone(),vo.getContent());
+        String sendMsg = smsUtils.sendSms(xhsmsPath, xhsmsAccount, xhsmsPwd, vo.getPhone(), vo.getContent());
         return AjaxResult.success(sendMsg);
     }
+
     /**
      * @param
      * @return
@@ -78,40 +82,58 @@
     @ApiOperation("鐭俊鍙戦��")
     @PostMapping("/send")
     public AjaxResult sendAsk(@RequestBody smsVO vo) throws UnsupportedEncodingException {
-        RSAPublicKeyExample rsaPublicKeyExample = new RSAPublicKeyExample();
-        String taskId = rsaPublicKeyExample.encryptedData(vo.getTaskId().toString(), pub_key);
-        String patid = rsaPublicKeyExample.encryptedData(vo.getPatId().toString(), pub_key);
-        String subId = rsaPublicKeyExample.encryptedData(vo.getSubId().toString(), pub_key);
-        ServiceOutPath serviceOutPath = new ServiceOutPath();
-        serviceOutPath.setParam1(taskId);
-        serviceOutPath.setParam2(patid);
-        serviceOutPath.setParam3(vo.getTaskName());
-        serviceOutPath.setParam6(subId);
-        serviceOutPath.setCreateTime(new Date());
-        String format ="";
-        if(ObjectUtils.isNotEmpty(vo.getSubId())) {
-            format = String.format("%03X", Integer.parseInt(vo.getSubId()));
+        String content = "";
+        if (StringUtils.isNotEmpty(vo.getTaskId()) && StringUtils.isNotEmpty(vo.getPatId()) && StringUtils.isNotEmpty(vo.getSubId())) {
+            RSAPublicKeyExample rsaPublicKeyExample = new RSAPublicKeyExample();
+            String taskId = rsaPublicKeyExample.encryptedData(vo.getTaskId().toString(), pub_key);
+            String patid = rsaPublicKeyExample.encryptedData(vo.getPatId().toString(), pub_key);
+            String subId = rsaPublicKeyExample.encryptedData(vo.getSubId().toString(), pub_key);
+            Integer radix = iServiceOutPathService.selectAutoId();
+            String format = String.format("%03X", radix);
+            ServiceOutPath serviceOutPath = new ServiceOutPath();
+            serviceOutPath.setParam1(taskId);
+            serviceOutPath.setParam2(patid);
+            serviceOutPath.setParam3(vo.getTaskName());
+            serviceOutPath.setParam6(subId);
             serviceOutPath.setRadix(format);
-        }
-        iServiceOutPathService.insertServiceOutPath(serviceOutPath);
-
-        String url = ip + ":" + req_path + "/wt?p=" + format;
-        ServiceTask serviceTask = serviceTaskMapper.selectServiceTaskByTaskid(Long.valueOf(taskId));
-        //濡傛灉type鏄闊抽殢璁跨殑璇濓紙璇存槑琛ュ伩鍙戦�佹柟寮忎腑鏈夌數璇濋殢璁跨殑鏂瑰紡锛岃繖閲岀殑澶栭摼灏卞湴鍧�鍙兘鐢�/sf锛�
-        if (serviceTask.getType().equals("1")) {
-            url = ip + ":" + req_path + "/sf?p=" + format;
+            serviceOutPath.setCreateTime(new Date());
+            iServiceOutPathService.insertServiceOutPath(serviceOutPath);
+            String url = ip + ":" + req_path + "/wt?p=" + format;
+            content = "鎮ㄥソ锛岄個璇锋偍濉啓鍑洪櫌璋冩煡琛紝璇风偣鍑�" + url + "濉啓銆傛劅璋㈡偍閰嶅悎锛�";
         }
 
-        String content="鎮ㄥソ锛岄個璇锋偍濉啓鍑洪櫌璋冩煡琛紝璇风偣鍑�" + url + "濉啓銆傛劅璋㈡偍閰嶅悎锛�";
-        if(ObjectUtils.isNotEmpty(vo.getContent()))
-            content=vo.getContent();
-        else
-            sendChat(vo);
-        String sendMsg="";
-        try{
-            sendMsg=smsUtils.sendSms(xhsmsPath,xhsmsAccount,xhsmsPwd,vo.getPhone(),content);
+        if (ObjectUtils.isNotEmpty(vo.getContent())) content = vo.getContent();
+
+        String sendMsg = "false";
+        try {
+            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());
+                sendMsg = HttpUtil.postJsonRequest(xhsmsPath, new Gson().toJson(req));
+            } else if (active.equals("ls")) {
+                //涓芥按13瀹跺尰闄紝鏈夌偣涓嶆柟渚匡紝鏈夌┖鍐嶆帴
+                return AjaxResult.error("璇ョ煭淇″姛鑳借繕鏈紑閫�");
+            }
             log.info(sendMsg);
-        }catch (Exception ex){
+        } catch (Exception ex) {
             log.error(ex.getMessage());
         }
         return AjaxResult.success(sendMsg);
@@ -124,23 +146,24 @@
     @ApiOperation("寰俊鍙戦��")
     @PostMapping("/sendChat")
     public AjaxResult sendChat(@RequestBody smsVO vo) throws UnsupportedEncodingException {
-        RSAPublicKeyExample rsaPublicKeyExample = new RSAPublicKeyExample();
-        String taskId = rsaPublicKeyExample.encryptedData(vo.getTaskId().toString(), pub_key);
-        String patid = rsaPublicKeyExample.encryptedData(vo.getPatId().toString(), pub_key);
-        String url = ip + ":" + req_path + "/outsideChainwt?param1=" + taskId + "&param2=" + patid
-                + "&param3=" + URLEncoder.encode(vo.getTaskName(), StandardCharsets.UTF_8.toString()) + "&param5=false";
-
-        String content="鎮ㄥソ锛岄個璇锋偍濉啓鍑洪櫌璋冩煡琛紝璇风偣鍑�" + url + "濉啓銆傛劅璋㈡偍閰嶅悎锛�";
-
-        String urlTemp="http://192.200.54.14:5003/sfjk/SendMessage?sfzh="+vo.getIdCard()
-                +"&title=鎮ㄥソ锛岄個璇锋偍濉啓鍑洪櫌璋冩煡琛紝璇风偣鍑诲~鍐欍��&content="+content+"&phone="+vo.getPhone()
-                +"&url="+url+"&key=ff76f8904f5f32b5ee1739e8ea46e60g";
-        String sendMsg= "";
-        try{
-            sendMsg= HttpUtils.sendGet(urlTemp);
-            log.info(sendMsg);
-        }catch (Exception ex){
-            log.error(ex.getMessage());
+        String sendMsg = "";
+        if (StringUtils.isNotEmpty(vo.getTaskId()) && StringUtils.isNotEmpty(vo.getPatId()) && StringUtils.isNotEmpty(vo.getSubId())) {
+            RSAPublicKeyExample rsaPublicKeyExample = new RSAPublicKeyExample();
+            String taskId = rsaPublicKeyExample.encryptedData(vo.getTaskId().toString(), pub_key);
+            String patid = rsaPublicKeyExample.encryptedData(vo.getPatId().toString(), pub_key);
+            String subId = rsaPublicKeyExample.encryptedData(vo.getSubId().toString(), pub_key);
+            Integer radix = iServiceOutPathService.selectAutoId();
+            String format = String.format("%03X", radix);
+            ServiceOutPath serviceOutPath = new ServiceOutPath();
+            serviceOutPath.setParam1(taskId);
+            serviceOutPath.setParam2(patid);
+            serviceOutPath.setParam3(vo.getTaskName());
+            serviceOutPath.setParam6(subId);
+            serviceOutPath.setRadix(format);
+            serviceOutPath.setCreateTime(new Date());
+            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