| | |
| | | package com.smartor.common; |
| | | |
| | | import com.alibaba.fastjson2.JSON; |
| | | import com.alibaba.fastjson2.JSONObject; |
| | | import com.aliyun.dysmsapi20170525.models.SendSmsResponseBody; |
| | | import com.fasterxml.jackson.core.JsonProcessingException; |
| | | import com.fasterxml.jackson.core.type.TypeReference; |
| | | import com.fasterxml.jackson.databind.ObjectMapper; |
| | | import com.ruoyi.common.utils.http.HttpUtils; |
| | | import com.smartor.domain.*; |
| | |
| | | import com.smartor.service.WeChatService; |
| | | import com.smartor.service.impl.BaseSmsaccountServiceImpl; |
| | | 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.stereotype.Component; |
| | | |
| | | import java.io.UnsupportedEncodingException; |
| | | import java.lang.reflect.Field; |
| | | import java.net.URLEncoder; |
| | | import java.util.HashMap; |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | import java.util.UUID; |
| | | |
| | | /** |
| | | * 发送服务工具类 |
| | |
| | | @Autowired |
| | | ISmsParamService iSmsParamService; |
| | | |
| | | public Boolean sendMsg(SendMagParam sendMagParam) { |
| | | @Value("${xhsmsPath}") |
| | | private String xhsmsPath; |
| | | // 帐号 |
| | | @Value("${xhsmsAccount}") |
| | | private String xhsmsAccount; |
| | | // 接口密码 |
| | | @Value("${xhsmsPwd}") |
| | | private String xhsmsPwd; |
| | | // 虚拟接入码 |
| | | @Value("${xhsmsjrm}") |
| | | private String xhsmsjrm; |
| | | |
| | | public Boolean sendMsg(SendMagParam sendMagParam) throws UnsupportedEncodingException, JsonProcessingException { |
| | | // 1,多媒体 2,纸质 3,电话 4,短信 5.微信公众号 6.微信小程序 7.支付宝 8.智能小程序 9.钉钉 |
| | | switch (sendMagParam.getType()) { |
| | | case ("1"): |
| | |
| | | |
| | | case ("4"): |
| | | //短信 |
| | | int i = iSmsParamService.sendSmsInfo(sendMagParam.getUrl(), sendMagParam.getPhone()); |
| | | if (i == 1) { |
| | | return true; |
| | | Map<String, String> map2 = new HashMap<>(); |
| | | map2.put("action", "send"); |
| | | map2.put("account", xhsmsAccount); |
| | | map2.put("password", xhsmsPwd); |
| | | map2.put("mobile", sendMagParam.getPhone()); |
| | | map2.put("content", sendMagParam.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("&"); |
| | | } |
| | | // 对键和值进行URL编码 |
| | | String encodedKey = URLEncoder.encode(entry.getKey(), "UTF-8"); |
| | | String encodedValue = URLEncoder.encode(entry.getValue(), "UTF-8"); |
| | | encodedParams.append(encodedKey).append("=").append(encodedValue); |
| | | } |
| | | |
| | | String result = HttpUtils.sendPost(xhsmsPath, encodedParams.toString()); |
| | | ObjectMapper objectMapper2 = new ObjectMapper(); |
| | | Map<String, Object> map3 = objectMapper2.readValue(result, new TypeReference<Map<String, Object>>() { |
| | | }); |
| | | if (ObjectUtils.isNotEmpty(map3)) { |
| | | String status = map3.get("status").toString(); |
| | | if (status.equals("0")) { |
| | | return true; |
| | | } |
| | | } |
| | | log.error("短信发送失败map:{}, 返回的信息为:{}", map2, result); |
| | | return false; |
| | | case ("5"): |
| | | //公众号 |