From 91f58ac34a01db7bb4e30a57af4454e0c36fd1c9 Mon Sep 17 00:00:00 2001
From: java110 <928255095@qq.com>
Date: 星期日, 14 六月 2020 13:06:21 +0800
Subject: [PATCH] 处理服务启动失败问题

---
 java110-core/src/main/java/com/java110/core/factory/TencentSendMessageFactory.java |   56 +++++++++++++++++++++++++++++++++++++++++++-------------
 1 files changed, 43 insertions(+), 13 deletions(-)

diff --git a/java110-core/src/main/java/com/java110/core/factory/TencentSendMessageFactory.java b/java110-core/src/main/java/com/java110/core/factory/TencentSendMessageFactory.java
index b411ead..1e9e1ee 100644
--- a/java110-core/src/main/java/com/java110/core/factory/TencentSendMessageFactory.java
+++ b/java110-core/src/main/java/com/java110/core/factory/TencentSendMessageFactory.java
@@ -11,6 +11,12 @@
 import com.aliyuncs.profile.DefaultProfile;
 import com.java110.utils.cache.MappingCache;
 import com.java110.utils.factory.ApplicationContextFactory;
+import com.tencentcloudapi.common.Credential;
+import com.tencentcloudapi.common.exception.TencentCloudSDKException;
+import com.tencentcloudapi.common.profile.ClientProfile;
+import com.tencentcloudapi.sms.v20190711.SmsClient;
+import com.tencentcloudapi.sms.v20190711.models.SendSmsRequest;
+import com.tencentcloudapi.sms.v20190711.models.SendSmsResponse;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.http.HttpStatus;
@@ -40,7 +46,7 @@
 
     public final static int DEFAULT_MESSAGE_CODE_LENGTH = 6;
 
-    private RestTemplate restTemplate;
+    // private RestTemplate restTemplateNoLoadBalanced;
 
 
     /**
@@ -71,19 +77,43 @@
 
         //寮�濮嬪彂閫侀獙璇佺爜
         logger.debug("鍙戦�佸彿鐮佷负{}锛岀煭淇$爜涓簕}", tel, code);
-        String url = "https://sms.tencentcloudapi.com/?Action=SendSms" +
-                "&PhoneNumberSet.0=+86" + tel +
-                "&TemplateID=" + MappingCache.getValue(TENCENT_SMS_DOMAIN, "TemplateID") +
-                "&Sign=" + MappingCache.getValue(TENCENT_SMS_DOMAIN, "Sign") +
-                "&TemplateParamSet.0=" + code +
-                "&SmsSdkAppid=" + MappingCache.getValue(TENCENT_SMS_DOMAIN, "SmsSdkAppid") +
-                "&Version=2019-07-11";
-        ResponseEntity<String> responseEntity = getRestTemplate().getForEntity(url, String.class);
+//        String url = "https://sms.tencentcloudapi.com/?Action=SendSms" +
+//                "&PhoneNumberSet.0=+86" + tel +
+//                "&TemplateID=" + MappingCache.getValue(TENCENT_SMS_DOMAIN, "TemplateID") +
+//                "&Sign=" + MappingCache.getValue(TENCENT_SMS_DOMAIN, "Sign") +
+//                "&TemplateParamSet.0=" + code +
+//                "&SmsSdkAppid=" + MappingCache.getValue(TENCENT_SMS_DOMAIN, "SmsSdkAppid") +
+//                "&Version=2019-07-11";
+//        ResponseEntity<String> responseEntity = getRestTemplate().getForEntity(url, String.class);
 
-        logger.debug("鑵捐鐭俊楠岃瘉鐮佸彂閫侊紝璇锋眰鎶ユ枃" + url + ",杩斿洖鏃ュ織" + responseEntity);
+        // 瀹炰緥鍖栦竴涓璇佸璞★紝鍏ュ弬闇�瑕佷紶鍏ヨ吘璁簯璐︽埛secretId锛宻ecretKey锛岃銆婂垱寤簊ecretId鍜宻ecretKey銆嬪皬鑺�
+        Credential cred = new Credential(MappingCache.getValue(TENCENT_SMS_DOMAIN, "secretId"),
+                MappingCache.getValue(TENCENT_SMS_DOMAIN, "secretKey"));
+        // 瀹炰緥鍖栬璇锋眰浜у搧(浠vm涓轰緥)鐨刢lient瀵硅薄
+        ClientProfile clientProfile = new ClientProfile();
+        clientProfile.setSignMethod(ClientProfile.SIGN_TC3_256);
+        SmsClient smsClient = new SmsClient(cred, MappingCache.getValue(TENCENT_SMS_DOMAIN, "region"));//绗簩涓猘p-chongqing 濉骇鍝佹墍鍦ㄧ殑鍖�
+        SendSmsRequest sendSmsRequest = new SendSmsRequest();
+        sendSmsRequest.setSmsSdkAppid(MappingCache.getValue(TENCENT_SMS_DOMAIN, "SmsSdkAppid"));//appId ,瑙併�婂垱寤哄簲鐢ㄣ�嬪皬鑺�
+        String[] phones = {"+86" + tel};  //鍙戦�佺煭淇$殑鐩爣鎵嬫満鍙凤紝鍙~澶氫釜銆�
+        sendSmsRequest.setPhoneNumberSet(phones);
+        sendSmsRequest.setTemplateID(MappingCache.getValue(TENCENT_SMS_DOMAIN, "TemplateID"));  //妯$増id,瑙併�婂垱寤虹煭淇$鍚嶅拰妯$増銆嬪皬鑺�
+        String[] templateParam = {code};//妯$増鍙傛暟锛屼粠鍓嶅線鍚庡搴旂殑鏄ā鐗堢殑{1}銆亄2}绛�,瑙併�婂垱寤虹煭淇$鍚嶅拰妯$増銆嬪皬鑺�
+        sendSmsRequest.setTemplateParamSet(templateParam);
+        sendSmsRequest.setSign(MappingCache.getValue(TENCENT_SMS_DOMAIN, "Sign")); //绛惧悕鍐呭锛屼笉鏄~绛惧悕id,瑙併�婂垱寤虹煭淇$鍚嶅拰妯$増銆嬪皬鑺�
+        SendSmsResponse sendSmsResponse = null;
+        try {
+            sendSmsResponse = smsClient.SendSms(sendSmsRequest); //鍙戦�佺煭淇�
+        } catch (TencentCloudSDKException e) {
+            logger.error("鍙戦�佺煭淇″け璐�", e);
+        }
+
+        logger.debug("鑵捐鐭俊楠岃瘉鐮佸彂閫侊紝璇锋眰鎶ユ枃" + JSONObject.toJSONString(sendSmsRequest) + ",杩斿洖鏃ュ織" + (sendSmsResponse != null ? sendSmsResponse.toString() : ""));
+
+
     }
 
-    private static RestTemplate getRestTemplate() {
-        return ApplicationContextFactory.getBean("restTemplate", RestTemplate.class);
-    }
+//    private static RestTemplate getRestTemplate() {
+//        return ApplicationContextFactory.getBean("restTemplateNoLoadBalanced", RestTemplate.class);
+//    }
 }

--
Gitblit v1.8.0