From ba8b51763d81a089a9c560a578f7b68441446494 Mon Sep 17 00:00:00 2001
From: liusheng <337615773@qq.com>
Date: 星期四, 30 四月 2026 20:47:53 +0800
Subject: [PATCH] 南华附一 和 登陆优化
---
ruoyi-admin/src/main/java/com/ruoyi/web/controller/common/SmsController.java | 145 ++++++++++++++++++++++++++++++++++-------------
1 files changed, 104 insertions(+), 41 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 8c3a964..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,38 +1,47 @@
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.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.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 = "鐭ヤ俊鎺ュ彛")
@RequestMapping("/sms")
+@Slf4j
public class SmsController {
@Value("${xhsmsPath}")
private String xhsmsPath;
+
+ @Autowired
+ private MtSubmitSmUtil mtSubmitSmUtil;
@Value("${xhsmsAccount}")
private String xhsmsAccount;
@@ -52,16 +61,15 @@
@Autowired
private IServiceOutPathService iServiceOutPathService;
- @Autowired
- private ServiceTaskMapper serviceTaskMapper;
-
+ @Value("${spring.profiles.active}")
+ private String active;
/**
* @param
* @return
*/
@ApiOperation("鐭俊鍙戦��")
- @PostMapping("/send")
+ @PostMapping("/sendTest")
public AjaxResult send(@RequestBody smsVO vo) {
String sendMsg = smsUtils.sendSms(xhsmsPath, xhsmsAccount, xhsmsPwd, vo.getPhone(), vo.getContent());
return AjaxResult.success(sendMsg);
@@ -72,36 +80,91 @@
* @return
*/
@ApiOperation("鐭俊鍙戦��")
- @PostMapping("/sendAsk")
+ @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());
- iServiceOutPathService.insertServiceOutPath(serviceOutPath);
- String format = String.format("%03X", serviceOutPath.getId());
- serviceOutPath.setRadix(format);
- serviceOutPath.setUpdateTime(new Date());
- iServiceOutPathService.updateServiceOutPath(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;
+ 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);
+ serviceOutPath.setCreateTime(new Date());
+ iServiceOutPathService.insertServiceOutPath(serviceOutPath);
+ String url = ip + ":" + req_path + "/wt?p=" + format;
+ content = "鎮ㄥソ锛岄個璇锋偍濉啓鍑洪櫌璋冩煡琛紝璇风偣鍑�" + url + "濉啓銆傛劅璋㈡偍閰嶅悎锛�";
}
+ if (ObjectUtils.isNotEmpty(vo.getContent())) content = vo.getContent();
- //String url = = ip + ":" + req_path + "/outsideChainwt?param1=" + taskId + "¶m2=" + patid + "¶m3=" + URLEncoder.encode(vo.getTaskName(), StandardCharsets.UTF_8.toString()) + "¶m5=false";
+ 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) {
+ log.error(ex.getMessage());
+ }
+ return AjaxResult.success(sendMsg);
+ }
- String content = "鎮ㄥソ锛岄個璇锋偍濉啓鍑洪櫌璋冩煡琛紝璇风偣鍑�" + url + "濉啓銆傛劅璋㈡偍閰嶅悎锛�";
-
- String sendMsg = smsUtils.sendSms(xhsmsPath, xhsmsAccount, xhsmsPwd, vo.getPhone(), content);
+ /**
+ * @param
+ * @return
+ */
+ @ApiOperation("寰俊鍙戦��")
+ @PostMapping("/sendChat")
+ public AjaxResult sendChat(@RequestBody smsVO vo) throws UnsupportedEncodingException {
+ 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