diff --git a/micro-modules/micro-msg/src/main/java/com/sinosoft/msg/core/smsSend/factory/SmsSend.java b/micro-modules/micro-msg/src/main/java/com/sinosoft/msg/core/smsSend/factory/SmsSend.java index 67b0247..3869fdf 100644 --- a/micro-modules/micro-msg/src/main/java/com/sinosoft/msg/core/smsSend/factory/SmsSend.java +++ b/micro-modules/micro-msg/src/main/java/com/sinosoft/msg/core/smsSend/factory/SmsSend.java @@ -40,6 +40,13 @@ import org.springframework.http.ResponseEntity; import org.springframework.stereotype.Component; import org.springframework.web.client.RestTemplate; +import java.io.BufferedReader; +import java.io.InputStreamReader; +import java.io.OutputStream; +import java.io.OutputStreamWriter; +import java.net.HttpURLConnection; +import java.net.URL; +import java.nio.charset.StandardCharsets; import java.util.*; import java.util.concurrent.*; import java.util.stream.Collectors; @@ -67,7 +74,7 @@ public class SmsSend { private RedisProcessService redisProcessService; @Autowired - private RestTemplate restTemplate; + private static RestTemplate restTemplate; @Value("${sms.send.enabled}") private String smsSendEnabled; //挡板 @@ -171,10 +178,11 @@ public class SmsSend { mobileNums.setMobileNum(phoneList); message.setMobileNums(mobileNums); message.setMessTopic(configVo.getTemplateName()); - String paramsStr = parms.entrySet().stream() - .map(entry -> entry.getKey() + "=" + entry.getValue()) - .collect(Collectors.joining(";")); - message.setSendData(paramsStr); +// String paramsStr = parms.entrySet().stream() +// .map(entry -> entry.getKey() + "=" + entry.getValue()) +// .collect(Collectors.joining(";")); +// message.setSendData(paramsStr); + message.setSendData("测试短信"); message.setDataType(0); message.setSendWay(0); message.setUnitCode(bo.getSystem()); @@ -206,6 +214,7 @@ public class SmsSend { log.info("SmsSend-send,response={},是否成功={}",response,response.isSuccess()); }else{ + log.info("短信发送开关未开启-------------"); response.setSuccess(Boolean.TRUE); } @@ -289,6 +298,82 @@ public class SmsSend { smsReturn.setData(messageTotal); return smsReturn; } + + + public static void main(String[] args) { + + // 示例代码仅供参考,实际使用需要通过依赖注入获取实例 + SmsDto smsDto = new SmsDto(); + PublicInfo publicInfo = new PublicInfo(); + Message message = new Message(); + smsDto.setPublicInfo(publicInfo); + smsDto.setMessage(message); + + publicInfo.setServiceCode("**"); + publicInfo.setSystemCode("**"); + + message.setMessageId(""); + MobileNums mobileNums = new MobileNums(); + List phoneList = Arrays.asList("152323723"); + mobileNums.setMobileNum(phoneList); + message.setMobileNums(mobileNums); + message.setMessTopic("短信主题"); + message.setSendData("测试短信"); + message.setDataType(0); + message.setSendWay(0); + message.setUnitCode("单位代码"); + message.setDealOrder(0); + message.setAnswerMatch(0); + System.out.println(message); + + HttpURLConnection connection = null; + try { + // 1. 创建URL对象并打开连接 + URL url = new URL("http://10.8.1.27:8080/sms/interface/SysSendMsg.jsp?userName=***&password=***"); + connection = (HttpURLConnection) url.openConnection(); + + // 2. 配置连接 + connection.setRequestMethod("POST"); + connection.setDoOutput(true); // 允许写入请求体 + connection.setDoInput(true); // 允许读取响应体 + connection.setRequestProperty("Content-Type", "application/xml; charset=UTF-8"); + connection.setRequestProperty("Accept", "application/xml"); + + System.out.println("开始发送数据"); + // 3. 发送XML数据 + try (OutputStream outputStream = connection.getOutputStream(); + OutputStreamWriter writer = new OutputStreamWriter(outputStream, StandardCharsets.UTF_8)) { + writer.write(String.valueOf(message)); + writer.flush(); + } + + // 4. 获取响应 + int responseCode = connection.getResponseCode(); + System.out.println("响应状态码: " + responseCode); + + // 根据状态码选择正确的输入流来读取响应 + try (BufferedReader reader = new BufferedReader( + new InputStreamReader( + responseCode >= 400 ? connection.getErrorStream() : connection.getInputStream(), + StandardCharsets.UTF_8))) { + StringBuilder response = new StringBuilder(); + String line; + while ((line = reader.readLine()) != null) { + response.append(line); + } + System.out.println("响应内容: " + response.toString()); + } + + } catch (Exception e) { + e.printStackTrace(); + } finally { + if (connection != null) { + connection.disconnect(); + } + } + } + + @Deprecated public SmsReturn send(String tempId, MsgTemplateConfigVo configVo,