|
@@ -5,14 +5,14 @@ import cn.hutool.core.util.StrUtil;
|
|
|
import cn.hutool.json.JSONArray;
|
|
|
import cn.hutool.json.JSONObject;
|
|
|
import cn.hutool.json.JSONUtil;
|
|
|
+import com.aliyuncs.dysmsapi.model.v20170525.SendSmsResponse;
|
|
|
import com.baomidou.mybatisplus.core.toolkit.IdWorker;
|
|
|
-import com.yc.ship.framework.common.pojo.CommonResult;
|
|
|
import com.yc.ship.module.infra.api.config.ConfigApi;
|
|
|
import com.yc.ship.module.system.api.user.AdminUserApi;
|
|
|
import com.yc.ship.module.system.api.user.dto.AdminUserRespDTO;
|
|
|
import com.yc.ship.module.trade.api.dto.sms.SmsBatchSendRespDTO;
|
|
|
import com.yc.ship.module.trade.api.sms.dto.SmsSendLogDTO;
|
|
|
-import com.yc.ship.module.trade.controller.admin.smsSendconfig.vo.SmsSendconfigQueryRespVO;
|
|
|
+import com.yc.ship.module.trade.controller.admin.smsSendconfig.vo.SmsSendconfigQueryRespVO;
|
|
|
import com.yc.ship.module.trade.dal.dataobject.order.TradeOrderDO;
|
|
|
import com.yc.ship.module.trade.service.order.TradeOrderRepositoryService;
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
@@ -31,10 +31,9 @@ import javax.net.ssl.SSLSession;
|
|
|
import java.io.*;
|
|
|
import java.net.HttpURLConnection;
|
|
|
import java.net.URL;
|
|
|
-import java.util.HashMap;
|
|
|
-import java.util.List;
|
|
|
-import java.util.Map;
|
|
|
-import java.util.Random;
|
|
|
+import java.util.*;
|
|
|
+import java.util.regex.Matcher;
|
|
|
+import java.util.regex.Pattern;
|
|
|
|
|
|
|
|
|
/**
|
|
@@ -45,7 +44,7 @@ import java.util.Random;
|
|
|
@Component
|
|
|
@Order(TradeOrderHandler.SMS_ORDER)
|
|
|
@Slf4j
|
|
|
-public class SmsHandler implements TradeOrderHandler{
|
|
|
+public class SmsHandler implements TradeOrderHandler {
|
|
|
|
|
|
|
|
|
@Resource
|
|
@@ -58,93 +57,116 @@ public class SmsHandler implements TradeOrderHandler{
|
|
|
@Override
|
|
|
public void afterProcessSuccess(TradeOrderDO tradeOrderDO) {
|
|
|
try {
|
|
|
- List<SmsSendconfigQueryRespVO> list = tradeOrderRepositoryService.getOrderSmsInfo(tradeOrderDO.getId(),3);
|
|
|
- if(list.isEmpty()){
|
|
|
+ List<SmsSendconfigQueryRespVO> list = tradeOrderRepositoryService.getOrderSmsInfo(tradeOrderDO.getId(), 3);
|
|
|
+ if (list.isEmpty()) {
|
|
|
return;
|
|
|
}
|
|
|
for (SmsSendconfigQueryRespVO smsSendconfigQueryRespVO : list) {
|
|
|
- if(smsSendconfigQueryRespVO.getMobile()!=null) {
|
|
|
+ if (smsSendconfigQueryRespVO.getMobile() != null) {
|
|
|
sendMsg(smsSendconfigQueryRespVO);
|
|
|
}
|
|
|
}
|
|
|
- }catch (Exception e){
|
|
|
- log.error("短信发送异常",e);
|
|
|
+ } catch (Exception e) {
|
|
|
+ log.error("短信发送异常", e);
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
|
public String sendMsg(SmsSendconfigQueryRespVO smsSendconfigQueryRespVO) {
|
|
|
try {
|
|
|
String telphone = "0717-6910001";
|
|
|
- if(StringUtils.isNotEmpty(smsSendconfigQueryRespVO.getSellerId())){
|
|
|
+ if (StringUtils.isNotEmpty(smsSendconfigQueryRespVO.getSellerId())) {
|
|
|
try {
|
|
|
AdminUserRespDTO user = adminUserApi.getUserIgnoreTenant(Long.parseLong(smsSendconfigQueryRespVO.getSellerId()));
|
|
|
- if(StringUtils.isNotEmpty(user.getMobile())) {
|
|
|
+ if (StringUtils.isNotEmpty(user.getMobile())) {
|
|
|
//如果有售票员的电话则发送售票员的电话作为咨询电话
|
|
|
telphone = user.getMobile();
|
|
|
- }else{
|
|
|
+ } else {
|
|
|
//读取配置文件默认参数
|
|
|
String mtelphone = configApi.getPlatformConfigValueByKey("telphone");
|
|
|
- if(mtelphone!=null){
|
|
|
+ if (mtelphone != null) {
|
|
|
telphone = mtelphone;
|
|
|
}
|
|
|
}
|
|
|
- }catch (Exception e){
|
|
|
- log.error("用户信息获取异常"+smsSendconfigQueryRespVO.getSellerId(),e);
|
|
|
+ } catch (Exception e) {
|
|
|
+ log.error("用户信息获取异常" + smsSendconfigQueryRespVO.getSellerId(), e);
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- //sxly
|
|
|
String appId = smsSendconfigQueryRespVO.getApiKey();
|
|
|
- //Sx@202305
|
|
|
- String secretKey =smsSendconfigQueryRespVO.getApiSecret();
|
|
|
- //https://112.35.10.201:58888/sms/tmpsubmit
|
|
|
- String url = smsSendconfigQueryRespVO.getApiUrl();
|
|
|
- //jFKNw6Cis
|
|
|
+ String secretKey = smsSendconfigQueryRespVO.getApiSecret();
|
|
|
String signName = smsSendconfigQueryRespVO.getSignature();
|
|
|
String content = smsSendconfigQueryRespVO.getSmsParms();
|
|
|
- //【1】产品名称; 【2】订单号; 【3】游玩日期; 【4】联系人;【5】购买数量; 【6】团名称; 【7】旅行社联系人; 【8】联系电话;【9】时间方案名称;【10】产品简称; 【11】咨询电话;
|
|
|
- content = content.replaceAll("【1】", smsSendconfigQueryRespVO.getProductName().substring(0,10).replace("【","").replace("】","").replace("-",""));
|
|
|
+ String smsContent = smsSendconfigQueryRespVO.getSmsContent();
|
|
|
+ //【1】航次名称; 【2】订单号; 【3】游玩日期; 【4】联系人;【5】购买数量; 【6】团号; 【7】旅行社联系人; 【8】联系电话;【9】航线名称;【10】产品简称;【11】咨询电话;
|
|
|
+ content = content.replaceAll("【1】", smsSendconfigQueryRespVO.getVoyageName());
|
|
|
content = content.replaceAll("【2】", smsSendconfigQueryRespVO.getOrderNo());
|
|
|
- content = content.replaceAll("【3】", smsSendconfigQueryRespVO.getUseDate().substring(0,10));
|
|
|
+ content = content.replaceAll("【3】", smsSendconfigQueryRespVO.getUseDate().substring(0, 10));
|
|
|
content = content.replaceAll("【4】", smsSendconfigQueryRespVO.getContactName());
|
|
|
content = content.replaceAll("【5】", smsSendconfigQueryRespVO.getNum() + "");
|
|
|
- content = content.replaceAll("【6】", smsSendconfigQueryRespVO.getSourceName());
|
|
|
+ content = content.replaceAll("【6】", smsSendconfigQueryRespVO.getGroupNo());
|
|
|
content = content.replaceAll("【7】", smsSendconfigQueryRespVO.getContactName());
|
|
|
content = content.replaceAll("【8】", smsSendconfigQueryRespVO.getMobile());
|
|
|
- content = content.replaceAll("【9】", smsSendconfigQueryRespVO.getRouteName());
|
|
|
+ content = content.replaceAll("【9】", smsSendconfigQueryRespVO.getShipName());
|
|
|
content = content.replaceAll("【10】", smsSendconfigQueryRespVO.getShortName());
|
|
|
content = content.replaceAll("【11】", telphone);
|
|
|
|
|
|
+ Pattern pattern = Pattern.compile("\\【(.*?)\\】");
|
|
|
+ Matcher matcher = pattern.matcher(smsContent);
|
|
|
+ List<String> list = new ArrayList<>();
|
|
|
+ while (matcher.find()) {
|
|
|
+ String result = smsContent.substring(matcher.start() + 1, matcher.end() - 1); // 获取第一个匹配的括号内的内容
|
|
|
+ list.add(result);
|
|
|
+ }
|
|
|
+ JSONObject jsonObject = new JSONObject();
|
|
|
+ List<String> parmlist = JSONUtil.toList(content, String.class);
|
|
|
+ for (int i = 0; i < list.size(); i++) {
|
|
|
+ jsonObject.put(list.get(i), parmlist.get(i));
|
|
|
+ }
|
|
|
String mobile = smsSendconfigQueryRespVO.getMobile();
|
|
|
- log.error("[下单成功短信发送参数]:" + content+";手机号:"+mobile);
|
|
|
- String params = SmsUtil.generateParams(String.join(",", mobile), content, smsSendconfigQueryRespVO.getApiTemplateId()+"", appId, signName, secretKey);
|
|
|
- log.error("[下单成功短信发送参数]:" +url+";"+ params);
|
|
|
- String result = sendPost(url,params,null);
|
|
|
- log.error("[下单成功短信返回参数]:" +result);
|
|
|
- JSONObject resultObject = JSONUtil.parseObj(result);
|
|
|
-
|
|
|
- if (resultObject != null && "true".equals(resultObject.getStr("success"))) {
|
|
|
+ log.error("[下单成功短信发送参数]:" + smsSendconfigQueryRespVO.getApiTemplateId() + ";" + mobile + ";" + jsonObject.toString());
|
|
|
+ SendSmsResponse result = MoblieMessageAliyunUtil.sendSms(appId, secretKey, signName, mobile, jsonObject.toString(), smsSendconfigQueryRespVO.getApiTemplateId() + "");
|
|
|
+ log.error("[下单成功短信返回参数]:" + JSONUtil.toJsonStr(result));
|
|
|
+ if (result != null && result.getCode().equals("OK")) {
|
|
|
log.error("[下单成功短信发送成功]:" + mobile);
|
|
|
SmsSendLogDTO reqDTO = new SmsSendLogDTO();
|
|
|
reqDTO.setId(IdWorker.getId());
|
|
|
reqDTO.setTenantId(smsSendconfigQueryRespVO.getTenantId());
|
|
|
reqDTO.setMobile(mobile);
|
|
|
- reqDTO.setSmsConfigId(mobile);
|
|
|
- reqDTO.setOrderNo(smsSendconfigQueryRespVO.getOrderNo());
|
|
|
reqDTO.setSmsConfigId(smsSendconfigQueryRespVO.getId()+"");
|
|
|
- reqDTO.setResult(result);
|
|
|
- if (result != null && result.indexOf("成功") != -1) {
|
|
|
- reqDTO.setStatus(1);
|
|
|
- } else {
|
|
|
- reqDTO.setStatus(0);
|
|
|
- }
|
|
|
+ reqDTO.setOrderNo(smsSendconfigQueryRespVO.getOrderNo());
|
|
|
+ reqDTO.setSmsConfigId(smsSendconfigQueryRespVO.getId() + "");
|
|
|
+ reqDTO.setResult(JSONUtil.toJsonStr(result));
|
|
|
+ reqDTO.setStatus(1);
|
|
|
reqDTO.setSmsContent(content);
|
|
|
tradeOrderRepositoryService.insertSmsLog(reqDTO);
|
|
|
return "发送成功";
|
|
|
- } else {
|
|
|
- return "短信发送失败: " + resultObject.getStr("rspcod");
|
|
|
+ }else{
|
|
|
+ SmsSendLogDTO reqDTO = new SmsSendLogDTO();
|
|
|
+ reqDTO.setId(IdWorker.getId());
|
|
|
+ reqDTO.setTenantId(smsSendconfigQueryRespVO.getTenantId());
|
|
|
+ reqDTO.setMobile(mobile);
|
|
|
+ reqDTO.setSmsConfigId(smsSendconfigQueryRespVO.getId()+"");
|
|
|
+ reqDTO.setOrderNo(smsSendconfigQueryRespVO.getOrderNo());
|
|
|
+ reqDTO.setSmsConfigId(smsSendconfigQueryRespVO.getId() + "");
|
|
|
+ reqDTO.setResult(JSONUtil.toJsonStr(result));
|
|
|
+ reqDTO.setStatus(0);
|
|
|
+ reqDTO.setSmsContent(content);
|
|
|
+ tradeOrderRepositoryService.insertSmsLog(reqDTO);
|
|
|
+ return "短信发送失败";
|
|
|
}
|
|
|
} catch (Exception e) {
|
|
|
+ SmsSendLogDTO reqDTO = new SmsSendLogDTO();
|
|
|
+ reqDTO.setId(IdWorker.getId());
|
|
|
+ reqDTO.setTenantId(smsSendconfigQueryRespVO.getTenantId());
|
|
|
+ reqDTO.setMobile(smsSendconfigQueryRespVO.getMobile());
|
|
|
+ reqDTO.setSmsConfigId(smsSendconfigQueryRespVO.getId()+"");
|
|
|
+ reqDTO.setOrderNo(smsSendconfigQueryRespVO.getOrderNo());
|
|
|
+ reqDTO.setSmsConfigId(smsSendconfigQueryRespVO.getId() + "");
|
|
|
+ reqDTO.setResult("异常"+e.getMessage());
|
|
|
+ reqDTO.setStatus(0);
|
|
|
+ reqDTO.setSmsContent(smsSendconfigQueryRespVO.getSmsContent());
|
|
|
+ tradeOrderRepositoryService.insertSmsLog(reqDTO);
|
|
|
log.error("[下单成功短信发送失败]:" + e.getMessage());
|
|
|
return "短信发送失败: " + e.getMessage();
|
|
|
}
|
|
@@ -154,37 +176,37 @@ public class SmsHandler implements TradeOrderHandler{
|
|
|
public String sendMsg3(SmsSendconfigQueryRespVO smsSendconfigQueryRespVO) {
|
|
|
try {
|
|
|
String telphone = "0717-6910001";
|
|
|
- if(StringUtils.isNotEmpty(smsSendconfigQueryRespVO.getSellerId())){
|
|
|
+ if (StringUtils.isNotEmpty(smsSendconfigQueryRespVO.getSellerId())) {
|
|
|
try {
|
|
|
AdminUserRespDTO user = adminUserApi.getUserIgnoreTenant(Long.parseLong(smsSendconfigQueryRespVO.getSellerId()));
|
|
|
- if(StringUtils.isNotEmpty(user.getMobile())) {
|
|
|
+ if (StringUtils.isNotEmpty(user.getMobile())) {
|
|
|
//如果有售票员的电话则发送售票员的电话作为咨询电话
|
|
|
telphone = user.getMobile();
|
|
|
- }else{
|
|
|
+ } else {
|
|
|
//读取配置文件默认参数
|
|
|
String mtelphone = configApi.getPlatformConfigValueByKey("telphone");
|
|
|
- if(mtelphone!=null){
|
|
|
+ if (mtelphone != null) {
|
|
|
telphone = mtelphone;
|
|
|
}
|
|
|
}
|
|
|
- }catch (Exception e){
|
|
|
- log.error("用户信息获取异常"+smsSendconfigQueryRespVO.getSellerId(),e);
|
|
|
+ } catch (Exception e) {
|
|
|
+ log.error("用户信息获取异常" + smsSendconfigQueryRespVO.getSellerId(), e);
|
|
|
}
|
|
|
}
|
|
|
|
|
|
//sxly
|
|
|
String appId = smsSendconfigQueryRespVO.getApiKey();
|
|
|
//Sx@202305
|
|
|
- String secretKey =smsSendconfigQueryRespVO.getApiSecret();
|
|
|
+ String secretKey = smsSendconfigQueryRespVO.getApiSecret();
|
|
|
//https://112.35.10.201:58888/sms/tmpsubmit
|
|
|
String url = smsSendconfigQueryRespVO.getApiUrl();
|
|
|
//jFKNw6Cis
|
|
|
String signName = smsSendconfigQueryRespVO.getSignature();
|
|
|
String content = smsSendconfigQueryRespVO.getSmsParms();
|
|
|
//【1】产品名称; 【2】订单号; 【3】游玩日期; 【4】联系人;【5】购买数量; 【6】团名称; 【7】旅行社联系人; 【8】联系电话;【9】时间方案名称;【10】产品简称; 【11】咨询电话;
|
|
|
- content = content.replaceAll("【1】", smsSendconfigQueryRespVO.getProductName().substring(0,10).replace("【","").replace("】","").replace("-",""));
|
|
|
+ content = content.replaceAll("【1】", smsSendconfigQueryRespVO.getProductName().substring(0, 10).replace("【", "").replace("】", "").replace("-", ""));
|
|
|
content = content.replaceAll("【2】", smsSendconfigQueryRespVO.getOrderNo());
|
|
|
- content = content.replaceAll("【3】", smsSendconfigQueryRespVO.getUseDate().substring(0,10));
|
|
|
+ content = content.replaceAll("【3】", smsSendconfigQueryRespVO.getUseDate().substring(0, 10));
|
|
|
content = content.replaceAll("【4】", smsSendconfigQueryRespVO.getContactName());
|
|
|
content = content.replaceAll("【5】", smsSendconfigQueryRespVO.getNum() + "");
|
|
|
content = content.replaceAll("【6】", smsSendconfigQueryRespVO.getSourceName());
|
|
@@ -197,15 +219,15 @@ public class SmsHandler implements TradeOrderHandler{
|
|
|
JSONArray templates = JSONUtil.parseArray(smsSendconfigQueryRespVO.getTemplateParams());
|
|
|
Map map = new HashMap<>();
|
|
|
for (int i = 0; i < templates.size(); i++) {
|
|
|
- String key = templates.getStr(i);
|
|
|
- String value = parts.getStr(i);
|
|
|
- map.put(key,value);
|
|
|
+ String key = templates.getStr(i);
|
|
|
+ String value = parts.getStr(i);
|
|
|
+ map.put(key, value);
|
|
|
}
|
|
|
String content1 = "【三峡旅游】" + StrUtil.format(smsSendconfigQueryRespVO.getSmsContent(), map);
|
|
|
String mobile = smsSendconfigQueryRespVO.getMobile();
|
|
|
- log.error("[下单成功短信发送参数]:" + content1+";手机号:"+mobile);
|
|
|
+ log.error("[下单成功短信发送参数]:" + content1 + ";手机号:" + mobile);
|
|
|
String params = SmsUtil.generateParams2(
|
|
|
- String.join(",",mobile),content1,null,null,null
|
|
|
+ String.join(",", mobile), content1, null, null, null
|
|
|
);
|
|
|
// 生成时间戳和token
|
|
|
String timeStamp = String.valueOf(System.currentTimeMillis());
|
|
@@ -216,10 +238,10 @@ public class SmsHandler implements TradeOrderHandler{
|
|
|
headers.put("userId", appId);
|
|
|
headers.put("timeStamp", timeStamp);
|
|
|
headers.put("token", token);
|
|
|
- log.error("[下单成功短信发送参数]:" +url+";"+ params);
|
|
|
- String result = sendPost(url,params,headers);
|
|
|
- log.error("[下单成功短信返回参数]:" +result);
|
|
|
-
|
|
|
+ log.error("[下单成功短信发送参数]:" + url + ";" + params);
|
|
|
+ String result = sendPost(url, params, headers);
|
|
|
+ log.error("[下单成功短信返回参数]:" + result);
|
|
|
+
|
|
|
// 检查返回结果是否为有效的JSON格式
|
|
|
SmsBatchSendRespDTO response = null;
|
|
|
if (result != null && result.trim().startsWith("{")) {
|
|
@@ -240,7 +262,7 @@ public class SmsHandler implements TradeOrderHandler{
|
|
|
reqDTO.setMobile(mobile);
|
|
|
reqDTO.setSmsConfigId(mobile);
|
|
|
reqDTO.setOrderNo(smsSendconfigQueryRespVO.getOrderNo());
|
|
|
- reqDTO.setSmsConfigId(smsSendconfigQueryRespVO.getId()+"");
|
|
|
+ reqDTO.setSmsConfigId(smsSendconfigQueryRespVO.getId() + "");
|
|
|
reqDTO.setResult(result);
|
|
|
if (result != null && result.indexOf("success") != -1) {
|
|
|
reqDTO.setStatus(1);
|
|
@@ -283,37 +305,37 @@ public class SmsHandler implements TradeOrderHandler{
|
|
|
public String sendMsg2(SmsSendconfigQueryRespVO smsSendconfigQueryRespVO) {
|
|
|
try {
|
|
|
String telphone = "0717-6910001";
|
|
|
- if(StringUtils.isNotEmpty(smsSendconfigQueryRespVO.getSellerId())){
|
|
|
+ if (StringUtils.isNotEmpty(smsSendconfigQueryRespVO.getSellerId())) {
|
|
|
try {
|
|
|
AdminUserRespDTO user = adminUserApi.getUserIgnoreTenant(Long.parseLong(smsSendconfigQueryRespVO.getSellerId()));
|
|
|
- if(StringUtils.isNotEmpty(user.getMobile())) {
|
|
|
+ if (StringUtils.isNotEmpty(user.getMobile())) {
|
|
|
//如果有售票员的电话则发送售票员的电话作为咨询电话
|
|
|
telphone = user.getMobile();
|
|
|
- }else{
|
|
|
+ } else {
|
|
|
//读取配置文件默认参数
|
|
|
String mtelphone = configApi.getPlatformConfigValueByKey("telphone");
|
|
|
- if(mtelphone!=null){
|
|
|
+ if (mtelphone != null) {
|
|
|
telphone = mtelphone;
|
|
|
}
|
|
|
}
|
|
|
- }catch (Exception e){
|
|
|
- log.error("用户信息获取异常"+smsSendconfigQueryRespVO.getSellerId(),e);
|
|
|
+ } catch (Exception e) {
|
|
|
+ log.error("用户信息获取异常" + smsSendconfigQueryRespVO.getSellerId(), e);
|
|
|
}
|
|
|
}
|
|
|
|
|
|
//sxly
|
|
|
String appId = smsSendconfigQueryRespVO.getApiKey();
|
|
|
//Sx@202305
|
|
|
- String secretKey =smsSendconfigQueryRespVO.getApiSecret();
|
|
|
+ String secretKey = smsSendconfigQueryRespVO.getApiSecret();
|
|
|
//https://112.35.10.201:58888/sms/tmpsubmit
|
|
|
String url = smsSendconfigQueryRespVO.getApiUrl();
|
|
|
//jFKNw6Cis
|
|
|
String signName = smsSendconfigQueryRespVO.getSignature();
|
|
|
String input = smsSendconfigQueryRespVO.getSmsParms();
|
|
|
//【1】产品名称; 【2】订单号; 【3】游玩日期; 【4】联系人;【5】购买数量; 【6】团名称; 【7】旅行社联系人; 【8】联系电话;【9】时间方案名称;【10】产品简称; 【11】咨询电话;
|
|
|
- input = input.replaceAll("【1】", smsSendconfigQueryRespVO.getProductName().substring(0,10).replace("【","").replace("】","").replace("-",""));
|
|
|
+ input = input.replaceAll("【1】", smsSendconfigQueryRespVO.getProductName().substring(0, 10).replace("【", "").replace("】", "").replace("-", ""));
|
|
|
input = input.replaceAll("【2】", smsSendconfigQueryRespVO.getOrderNo());
|
|
|
- input = input.replaceAll("【3】", smsSendconfigQueryRespVO.getUseDate().substring(0,10));
|
|
|
+ input = input.replaceAll("【3】", smsSendconfigQueryRespVO.getUseDate().substring(0, 10));
|
|
|
input = input.replaceAll("【4】", smsSendconfigQueryRespVO.getContactName());
|
|
|
input = input.replaceAll("【5】", smsSendconfigQueryRespVO.getNum() + "");
|
|
|
input = input.replaceAll("【6】", smsSendconfigQueryRespVO.getSourceName());
|
|
@@ -326,16 +348,16 @@ public class SmsHandler implements TradeOrderHandler{
|
|
|
JSONArray templates = JSONUtil.parseArray(smsSendconfigQueryRespVO.getTemplateParams());
|
|
|
Map map = new HashMap<>();
|
|
|
for (int i = 0; i < templates.size(); i++) {
|
|
|
- String key = templates.getStr(i);
|
|
|
- String value = parts.getStr(i);
|
|
|
- map.put(key,value);
|
|
|
+ String key = templates.getStr(i);
|
|
|
+ String value = parts.getStr(i);
|
|
|
+ map.put(key, value);
|
|
|
}
|
|
|
String content = StrUtil.format(smsSendconfigQueryRespVO.getSmsContent(), map);
|
|
|
String mobile = smsSendconfigQueryRespVO.getMobile();
|
|
|
- log.error("[下单成功短信发送参数]:" + content+";手机号:"+mobile);
|
|
|
+ log.error("[下单成功短信发送参数]:" + content + ";手机号:" + mobile);
|
|
|
HttpClient httpclient = new HttpClient();
|
|
|
PostMethod post = new PostMethod(url);
|
|
|
- post.getParams().setParameter(HttpMethodParams.HTTP_CONTENT_CHARSET,"gbk");
|
|
|
+ post.getParams().setParameter(HttpMethodParams.HTTP_CONTENT_CHARSET, "gbk");
|
|
|
post.addParameter("SpCode", signName);
|
|
|
post.addParameter("LoginName", appId);
|
|
|
post.addParameter("Password", secretKey);
|
|
@@ -344,7 +366,7 @@ public class SmsHandler implements TradeOrderHandler{
|
|
|
Random random = new Random();
|
|
|
int ranNum = random.nextInt(9);
|
|
|
String serialNumber = SmsUtil.createOrderNo(ranNum + "");
|
|
|
- if(serialNumber.length()>20) {
|
|
|
+ if (serialNumber.length() > 20) {
|
|
|
serialNumber = serialNumber.substring(0, 19);
|
|
|
}
|
|
|
post.addParameter("SerialNumber", serialNumber);
|
|
@@ -352,8 +374,8 @@ public class SmsHandler implements TradeOrderHandler{
|
|
|
post.addParameter("templateId", smsSendconfigQueryRespVO.getApiTemplateId());
|
|
|
post.addParameter("f", "1");
|
|
|
httpclient.executeMethod(post);
|
|
|
- String result = new String(post.getResponseBody(),"gbk");
|
|
|
- log.error("[下单成功短信返回参数]:" +result);
|
|
|
+ String result = new String(post.getResponseBody(), "gbk");
|
|
|
+ log.error("[下单成功短信返回参数]:" + result);
|
|
|
if (result.contains("result=0")) {
|
|
|
log.error("[下单成功短信发送成功]:" + mobile);
|
|
|
SmsSendLogDTO reqDTO = new SmsSendLogDTO();
|
|
@@ -362,7 +384,7 @@ public class SmsHandler implements TradeOrderHandler{
|
|
|
reqDTO.setMobile(mobile);
|
|
|
reqDTO.setSmsConfigId(mobile);
|
|
|
reqDTO.setOrderNo(smsSendconfigQueryRespVO.getOrderNo());
|
|
|
- reqDTO.setSmsConfigId(smsSendconfigQueryRespVO.getId()+"");
|
|
|
+ reqDTO.setSmsConfigId(smsSendconfigQueryRespVO.getId() + "");
|
|
|
reqDTO.setResult(result);
|
|
|
reqDTO.setStatus(1);
|
|
|
reqDTO.setSmsContent(content);
|
|
@@ -375,7 +397,7 @@ public class SmsHandler implements TradeOrderHandler{
|
|
|
reqDTO.setMobile(mobile);
|
|
|
reqDTO.setSmsConfigId(mobile);
|
|
|
reqDTO.setOrderNo(smsSendconfigQueryRespVO.getOrderNo());
|
|
|
- reqDTO.setSmsConfigId(smsSendconfigQueryRespVO.getId()+"");
|
|
|
+ reqDTO.setSmsConfigId(smsSendconfigQueryRespVO.getId() + "");
|
|
|
reqDTO.setResult(result);
|
|
|
reqDTO.setStatus(0);
|
|
|
reqDTO.setSmsContent(content);
|
|
@@ -412,13 +434,13 @@ public class SmsHandler implements TradeOrderHandler{
|
|
|
} else {
|
|
|
conn = (HttpURLConnection) realUrl.openConnection();
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
// 设置通用的请求属性
|
|
|
conn.setRequestProperty("accept", "*/*");
|
|
|
conn.setRequestMethod("POST");
|
|
|
conn.setRequestProperty("Accept-Charset", "UTF-8");
|
|
|
conn.setRequestProperty("Content-Type", "application/json");
|
|
|
- conn.setRequestProperty("charset","UTF-8");
|
|
|
+ conn.setRequestProperty("charset", "UTF-8");
|
|
|
if (headParam != null) {
|
|
|
for (Map.Entry<String, String> entry : headParam.entrySet()) {
|
|
|
conn.setRequestProperty(entry.getKey(), entry.getValue());
|
|
@@ -434,8 +456,8 @@ public class SmsHandler implements TradeOrderHandler{
|
|
|
// System.setProperty("sun.net.client.defaultConnectTimeout", "1000000");
|
|
|
// System.setProperty("sun.net.client.defaultReadTimeout", "1000000");
|
|
|
// 获取URLConnection对象对应的输出流
|
|
|
- if(StringUtils.isNotBlank(param)){
|
|
|
- out = new PrintWriter(new OutputStreamWriter(conn.getOutputStream(),"utf-8"));
|
|
|
+ if (StringUtils.isNotBlank(param)) {
|
|
|
+ out = new PrintWriter(new OutputStreamWriter(conn.getOutputStream(), "utf-8"));
|
|
|
out.write(param);
|
|
|
// flush输出流的缓冲
|
|
|
out.flush();
|