Browse Source

修改短信

humuyu 3 years ago
parent
commit
80c289ed35

+ 2 - 2
eladmin-system/src/main/java/me/zhengjie/application/admin/controller/SmsTemplateController.java

@@ -5,7 +5,7 @@ import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 
-import me.zhengjie.application.admin.service.SmsService;
+import me.zhengjie.application.admin.service.SmsTemplateService;
 import me.zhengjie.base.AppBaseResponse;
 import me.zhengjie.base.sms.SmsTemplateVo;
 
@@ -19,7 +19,7 @@ import me.zhengjie.base.sms.SmsTemplateVo;
 @RequestMapping("/api/smsTemplate")
 public class SmsTemplateController {
 	@Autowired
-	SmsService smsTemplateService;
+	SmsTemplateService smsTemplateService;
 
 	/**
 	 * 查询短信

+ 3 - 10
eladmin-system/src/main/java/me/zhengjie/application/admin/service/SmsService.java

@@ -2,8 +2,6 @@ package me.zhengjie.application.admin.service;
 
 import java.util.List;
 
-
-
 import me.zhengjie.base.AppBaseResponse;
 import me.zhengjie.base.plus.AbstractService;
 import me.zhengjie.base.sms.SmsTemplateVo;
@@ -17,10 +15,10 @@ import me.zhengjie.dao.mybatis.entity.SmsTemplateEntity;
  * @author
  * @since 2022-09-09
  */
-public interface SmsService extends AbstractService<SmsTemplateEntity> {
+public interface SmsTemplateService extends AbstractService<SmsTemplateEntity> {
 	/**
 	 * 
-	 * @param sms 
+	 * @param sms
 	 * @return
 	 */
 	public AppBaseResponse<List<SmsTemplateEntity>> query(SmsTemplateVo sms);
@@ -30,10 +28,5 @@ public interface SmsService extends AbstractService<SmsTemplateEntity> {
 	public AppBaseResponse<?> delete(SmsTemplateVo sms);
 
 	public void add(SmsTemplateVo sms);
-	/**
-	  *  发送短信
-	 * @param sms
-	 */
-	public void sendMsg(SmsTemplateVo sms);
-	
+
 }

+ 14 - 13
eladmin-system/src/main/java/me/zhengjie/application/admin/service/impl/SmsServiceImpl.java

@@ -9,14 +9,22 @@ import org.springframework.stereotype.Service;
 
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.tencentcloudapi.common.Credential;
+import com.tencentcloudapi.common.exception.TencentCloudSDKException;
+import com.tencentcloudapi.common.profile.ClientProfile;
+import com.tencentcloudapi.common.profile.HttpProfile;
+import com.tencentcloudapi.sms.v20210111.SmsClient;
+import com.tencentcloudapi.sms.v20210111.models.SendSmsRequest;
+import com.tencentcloudapi.sms.v20210111.models.SendSmsResponse;
 
 import lombok.extern.slf4j.Slf4j;
-import me.zhengjie.application.admin.service.SmsService;
+import me.zhengjie.application.admin.service.SmsTemplateService;
 import me.zhengjie.base.AppBaseResponse;
 import me.zhengjie.base.AppResultData;
 import me.zhengjie.base.ResultCode;
 import me.zhengjie.base.plus.AbstractServiceImpl;
-import me.zhengjie.base.sms.SmsTemplateRequest;
+import me.zhengjie.base.sms.SmsRequest;
+
 import me.zhengjie.base.sms.SmsTemplateVo;
 import me.zhengjie.base.util.BeanCopyUtils;
 import me.zhengjie.dao.mybatis.entity.SmsTemplateEntity;
@@ -32,11 +40,11 @@ import me.zhengjie.dao.mybatis.mapper.ISmsTemplateDao;
  */
 @Service
 @Slf4j
-public class SmsServiceImpl extends AbstractServiceImpl<ISmsTemplateDao, SmsTemplateEntity>
-		implements SmsService {
+public class SmsTemplateServiceImpl extends AbstractServiceImpl<ISmsTemplateDao, SmsTemplateEntity>
+		implements SmsTemplateService {
 
 	@Autowired
-	SmsTemplateRequest smsTemplate;
+	SmsRequest smsTemplate;
 
 	@Override
 	public AppBaseResponse<List<SmsTemplateEntity>> query(SmsTemplateVo req) {
@@ -99,13 +107,6 @@ public class SmsServiceImpl extends AbstractServiceImpl<ISmsTemplateDao, SmsTemp
 			log.error("新增模板失败  {}  ", e.getMessage());
 		}
 	}
-	/**
-	 * SmsTemplateVo sms
-	 */
-	@Override
-	public void sendMsg(SmsTemplateVo sms) {
-		
-		
-	}
+	
 
 }

+ 2 - 1
eladmin-system/src/main/java/me/zhengjie/application/user/service/impl/SmsServiceImpl.java

@@ -67,12 +67,13 @@ public class SmsServiceImpl implements SmsService {
 			return ResponseDTO.error(ResultCode.MSG_SEND_FREQUENT);
 		}
 
-		String returnContent = TencentServiceUtil.sendMsg(phone, code, String.valueOf(time));
+//		String returnContent = TencentServiceUtil.sendMsg(phone, code, String.valueOf(time));
 		// String returnContent =
 		// "{\"SendStatusSet\":[{\"SerialNo\":\"2433:356830619416427570703644735\",\"PhoneNumber\":\"+8613813947352\",\"Fee\":1,\"SessionContext\":\"xxx\",\"Code\":\"Ok\",\"Message\":\"send
 		// success\",\"IsoCode\":\"CN\"}],\"RequestId\":\"b760dfe4-2f21-4be2-a5ed-53c7e06105ca\"}";
 
 		// 获取验证记录信息
+		String returnContent="";
 		SmsLog smsLog = new SmsLog();
 		smsLog.setTemplate(template);
 		smsLog.setCode(code);

+ 3 - 1
eladmin-system/src/main/java/me/zhengjie/base/sms/SmsTemplateRequest.java

@@ -10,7 +10,7 @@ import me.zhengjie.dao.mybatis.entity.SmsTemplateEntity;
  * @author auas
  *
  */
-public interface SmsTemplateRequest {
+public interface SmsRequest {
 	public boolean query(SmsTemplateVo sms, List<SmsTemplateEntity> entity) throws Exception;
 
 	public void modify(SmsTemplateVo sms) throws Exception;
@@ -18,4 +18,6 @@ public interface SmsTemplateRequest {
 	public void delete(SmsTemplateVo sms) throws Exception;
 
 	public void add(SmsTemplateVo sms) throws Exception;
+	
+	
 }

+ 247 - 0
eladmin-system/src/main/java/me/zhengjie/base/sms/TxSmsRequest.java

@@ -0,0 +1,247 @@
+package me.zhengjie.base.sms;
+
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+import org.apache.commons.lang3.StringUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+import com.tencentcloudapi.common.Credential;
+import com.tencentcloudapi.common.exception.TencentCloudSDKException;
+import com.tencentcloudapi.common.profile.ClientProfile;
+import com.tencentcloudapi.common.profile.HttpProfile;
+import com.tencentcloudapi.sms.v20210111.SmsClient;
+import com.tencentcloudapi.sms.v20210111.models.*;
+import me.zhengjie.application.admin.service.DictDetailService;
+import me.zhengjie.application.admin.service.dto.DictDetailDto;
+import me.zhengjie.dao.mybatis.entity.SmsTemplateEntity;
+
+@Component
+public class TxSmsRequest implements SmsRequest {
+	@Autowired
+	private DictDetailService dictDetailService;
+
+	// 短信模板状态查询,判断是否需要更新数据
+	public boolean query(SmsTemplateVo sms, List<SmsTemplateEntity> entitys) throws Exception {
+
+		boolean result = false;
+		SmsClient client = getClient();
+		// 实例化一个请求对象,每个接口都会对应一个request对象
+		DescribeSmsTemplateListRequest req = new DescribeSmsTemplateListRequest();
+		// 查询多个短信模板id
+		req.setTemplateIdSet(sms.getTemplateIdSet());
+		req.setInternational(sms.getInternational());
+		// 返回的resp是一个DescribeSmsTemplateListResponse的实例,与请求对象对应
+		DescribeSmsTemplateListResponse resp = client.DescribeSmsTemplateList(req);
+		DescribeTemplateListStatus[] describes = resp.getDescribeTemplateStatusSet();
+		Map<Long, DescribeTemplateListStatus> map = new HashMap<>();
+		for (DescribeTemplateListStatus status : describes) {
+			map.put(status.getTemplateId(), status);
+		}
+		for (SmsTemplateEntity entity : entitys) {
+			Long templateId = entity.getTemplateId();
+			DescribeTemplateListStatus status = map.get(templateId);
+			if (status.getStatusCode().intValue() != entity.getStatusCode().intValue()) {
+				entity.setReason(status.getReviewReply());
+				entity.setStatusCode(status.getStatusCode().intValue());
+				result = true;
+			}
+		}
+		return result;
+
+	}
+
+	// 修改短信模板
+	public void modify(SmsTemplateVo sms) throws Exception {
+
+		SmsClient client = getClient();
+		// 实例化一个请求对象,每个接口都会对应一个request对象
+		ModifySmsTemplateRequest req = new ModifySmsTemplateRequest();
+		req.setTemplateId(sms.getTemplateId());
+		req.setTemplateName(sms.getTemplateName());
+		req.setTemplateContent(sms.getTemplateContent());
+		req.setSmsType(sms.getSmsType());
+		req.setInternational(sms.getInternational());
+		req.setRemark(sms.getRemark());
+		// 返回的resp是一个ModifySmsTemplateResponse的实例,与请求对象对应
+		ModifySmsTemplateResponse resp = client.ModifySmsTemplate(req);
+		// 输出json格式的字符串回包
+		ModifySmsTemplateResponse.toJsonString(resp);
+
+	}
+
+	// 删除短信模板
+	public void delete(SmsTemplateVo sms) throws Exception {
+
+		SmsClient client = getClient();
+		// 实例化一个请求对象,每个接口都会对应一个request对象
+		DeleteSmsTemplateRequest req = new DeleteSmsTemplateRequest();
+		req.setTemplateId(sms.getTemplateId());
+		// 返回的resp是一个DeleteSmsTemplateResponse的实例,与请求对象对应
+		DeleteSmsTemplateResponse resp = client.DeleteSmsTemplate(req);
+		// 输出json格式的字符串回包
+		DeleteSmsTemplateResponse.toJsonString(resp);
+
+	}
+
+	// 添加短信模板
+	public void add(SmsTemplateVo sms) throws Exception {
+
+		SmsClient client = getClient();
+		// 实例化一个请求对象,每个接口都会对应一个request对象
+		AddSmsTemplateRequest req = new AddSmsTemplateRequest();
+		req.setTemplateName(sms.getTemplateName());
+		req.setTemplateContent(sms.getTemplateContent());
+		req.setSmsType(sms.getSmsType());
+		req.setInternational(sms.getInternational());
+		req.setRemark(sms.getRemark());
+		// 返回的resp是一个AddSmsTemplateResponse的实例,与请求对象对应
+		AddSmsTemplateResponse resp = client.AddSmsTemplate(req);
+		// 输出json格式的字符串回包
+		AddTemplateStatus templateStatus = resp.getAddTemplateStatus();
+		String templateId = templateStatus.getTemplateId();
+		sms.setStatusCode(2);
+		if (StringUtils.isNotBlank(templateId)) {
+			sms.setTemplateId(Long.valueOf(templateId));
+			sms.setStatusCode(1);
+		}
+
+	}
+
+	/**
+	 * 短信发送客户端
+	 * 
+	 * @return
+	 */
+	private SmsClient getClient() {
+		List<DictDetailDto> dicts = dictDetailService.getDictByName("sms_msg");
+		Map<String, String> map = new HashMap<>();
+		for (DictDetailDto dict : dicts) {
+			map.put(dict.getLabel(), dict.getValue());
+		}
+		String secretId = map.get("secretId");
+		String secretKey = map.get("secretKey");
+		String endpoint = map.get("endpoint");
+		String region = map.get("region");
+		// 实例化一个认证对象,入参需要传入腾讯云账户secretId,secretKey,此处还需注意密钥对的保密
+		// 密钥可前往https://console.cloud.tencent.com/cam/capi网站进行获取
+		Credential cred = new Credential(secretId, secretKey);
+		// 实例化一个http选项,可选的,没有特殊需求可以跳过
+		HttpProfile httpProfile = new HttpProfile();
+		httpProfile.setEndpoint(endpoint);
+		// 实例化一个client选项,可选的,没有特殊需求可以跳过
+		ClientProfile clientProfile = new ClientProfile();
+		clientProfile.setHttpProfile(httpProfile);
+		// 实例化要请求产品的client对象,clientProfile是可选的
+		SmsClient client = new SmsClient(cred, region, clientProfile);
+		return client;
+	}
+	 /**
+     * 发送短信
+     * @param phone
+     * @param code
+     * @param time
+     * @return
+     */
+    public static String sendMsg(String phone, String code, String time) {
+        try {
+            /*
+             * 必要步骤: 实例化一个认证对象,入参需要传入腾讯云账户密钥对secretId,secretKey。
+             * 这里采用的是从环境变量读取的方式,需要在环境变量中先设置这两个值。 你也可以直接在代码中写死密钥对,但是小心不要将代码复制、上传或者分享给他人,
+             * 以免泄露密钥对危及你的财产安全。 CAM密匙查询: https://console.cloud.tencent.com/cam/capi
+             */
+            Credential cred = new Credential("", "");
+            // 实例化一个http选项,可选,没有特殊需求可以跳过
+            HttpProfile httpProfile = new HttpProfile();
+            // 设置代理
+            // httpProfile.setProxyHost("真实代理ip");
+            // httpProfile.setProxyPort(真实代理端口);
+            /*
+             * SDK默认使用POST方法。 如果你一定要使用GET方法,可以在这里设置。GET方法无法处理一些较大的请求
+             */
+            httpProfile.setReqMethod("POST");
+            /*
+             * SDK有默认的超时时间,非必要请不要进行调整 如有需要请在代码中查阅以获取最新的默认值
+             */
+            httpProfile.setConnTimeout(60);
+            /*
+             * SDK会自动指定域名。通常是不需要特地指定域名的,但是如果你访问的是金融区的服务 则必须手动指定域名,例如sms的上海金融区域名:
+             * sms.ap-shanghai-fsi.tencentcloudapi.com
+             */
+            httpProfile.setEndpoint("sms.tencentcloudapi.com");
+
+            /*
+             * 非必要步骤: 实例化一个客户端配置对象,可以指定超时时间等配置
+             */
+            ClientProfile clientProfile = new ClientProfile();
+            /*
+             * SDK默认用TC3-HMAC-SHA256进行签名 非必要请不要修改这个字段
+             */
+            clientProfile.setSignMethod("HmacSHA256");
+            clientProfile.setHttpProfile(httpProfile);
+            /*
+             * 实例化要请求产品(以sms为例)的client对象 第二个参数是地域信息,可以直接填写字符串ap-guangzhou,或者引用预设的常量
+             */
+            SmsClient client = new SmsClient(cred, "ap-guangzhou", clientProfile);
+            /*
+             * 实例化一个请求对象,根据调用的接口和实际情况,可以进一步设置请求参数 你可以直接查询SDK源码确定接口有哪些属性可以设置
+             * 属性可能是基本类型,也可能引用了另一个数据结构 推荐使用IDE进行开发,可以方便的跳转查阅各个接口和数据结构的文档说明
+             */
+            SendSmsRequest req = new SendSmsRequest();
+            /*
+             * 填充请求参数,这里request对象的成员变量即对应接口的入参 你可以通过官网接口文档或跳转到request对象的定义处查看请求参数的定义
+             * 基本类型的设置: 帮助链接: 短信控制台: https://console.cloud.tencent.com/smsv2 sms helper:
+             * https://cloud.tencent.com/document/product/382/3773
+             */
+            /* 短信应用ID: 短信SdkAppId在 [短信控制台] 添加应用后生成的实际SdkAppId,示例如1400006666 */
+            String sdkAppId = "1400625259";
+            req.setSmsSdkAppId(sdkAppId);
+
+            /* 短信签名内容: 使用 UTF-8 编码,必须填写已审核通过的签名,签名信息可登录 [短信控制台] 查看 */
+            String signName = "苏州展翼天创数字科技有限";
+            req.setSignName(signName);
+
+            /* 国际/港澳台短信 SenderId: 国内短信填空,默认未开通,如需开通请联系 [sms helper] */
+            String senderid = "";
+            req.setSenderId(senderid);
+
+            /* 用户的 session 内容: 可以携带用户侧 ID 等上下文信息,server 会原样返回 */
+            String sessionContext = "xxx";
+            req.setSessionContext(sessionContext);
+
+            /* 短信号码扩展号: 默认未开通,如需开通请联系 [sms helper] */
+            String extendCode = "";
+            req.setExtendCode(extendCode);
+
+            /* 模板 ID: 必须填写已审核通过的模板 ID。模板ID可登录 [短信控制台] 查看 */
+            String templateId = "1281636";
+            req.setTemplateId(templateId);
+
+            /*
+             * 下发手机号码,采用 E.164 标准,+[国家或地区码][手机号] 示例如:+8613711112222, 其中前面有一个+号
+             * ,86为国家码,13711112222为手机号,最多不要超过200个手机号
+             */
+            String[] phoneNumberSet = { phone };
+            req.setPhoneNumberSet(phoneNumberSet);
+
+            /* 模板参数: 若无模板参数,则设置为空 */
+            String[] templateParamSet = { code, time };
+            req.setTemplateParamSet(templateParamSet);
+
+            /*
+             * 通过 client 对象调用 SendSms 方法发起请求。注意请求方法名与请求对象是对应的 返回的 res 是一个 SendSmsResponse
+             * 类的实例,与请求对象对应
+             */
+            SendSmsResponse res = client.SendSms(req);
+            return SendSmsResponse.toJsonString(res);
+            // 输出json格式的字符串回包
+            // System.out.println();
+            // 也可以取出单个值,你可以通过官网接口文档或跳转到response对象的定义处查看返回字段的定义
+            // System.out.println(res.getRequestId());
+        } catch (TencentCloudSDKException e) {
+            e.printStackTrace();
+            return null;
+        }
+    }
+}

+ 0 - 139
eladmin-system/src/main/java/me/zhengjie/base/sms/TxSmsTemplateRequest.java

@@ -1,139 +0,0 @@
-package me.zhengjie.base.sms;
-
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-import org.apache.commons.lang3.StringUtils;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Component;
-import com.tencentcloudapi.common.Credential;
-import com.tencentcloudapi.common.profile.ClientProfile;
-import com.tencentcloudapi.common.profile.HttpProfile;
-import com.tencentcloudapi.sms.v20210111.SmsClient;
-import com.tencentcloudapi.sms.v20210111.models.*;
-import me.zhengjie.application.admin.service.DictDetailService;
-import me.zhengjie.application.admin.service.dto.DictDetailDto;
-import me.zhengjie.dao.mybatis.entity.SmsTemplateEntity;
-
-@Component
-public class TxSmsTemplateRequest implements SmsTemplateRequest {
-	@Autowired
-	private DictDetailService dictDetailService;
-
-	// 短信模板状态查询,判断是否需要更新数据
-	public boolean query(SmsTemplateVo sms, List<SmsTemplateEntity> entitys) throws Exception {
-
-		boolean result = false;
-		SmsClient client = getClient();
-		// 实例化一个请求对象,每个接口都会对应一个request对象
-		DescribeSmsTemplateListRequest req = new DescribeSmsTemplateListRequest();
-		// 查询多个短信模板id
-		req.setTemplateIdSet(sms.getTemplateIdSet());
-		req.setInternational(sms.getInternational());
-		// 返回的resp是一个DescribeSmsTemplateListResponse的实例,与请求对象对应
-		DescribeSmsTemplateListResponse resp = client.DescribeSmsTemplateList(req);
-		DescribeTemplateListStatus[] describes = resp.getDescribeTemplateStatusSet();
-		Map<Long, DescribeTemplateListStatus> map = new HashMap<>();
-		for (DescribeTemplateListStatus status : describes) {
-			map.put(status.getTemplateId(), status);
-		}
-		for (SmsTemplateEntity entity : entitys) {
-			Long templateId = entity.getTemplateId();
-			DescribeTemplateListStatus status = map.get(templateId);
-			if (status.getStatusCode().intValue() != entity.getStatusCode().intValue()) {
-				entity.setReason(status.getReviewReply());
-				entity.setStatusCode(status.getStatusCode().intValue());
-				result = true;
-			}
-		}
-		return result;
-
-	}
-
-	// 修改短信模板
-	public void modify(SmsTemplateVo sms) throws Exception {
-
-		SmsClient client = getClient();
-		// 实例化一个请求对象,每个接口都会对应一个request对象
-		ModifySmsTemplateRequest req = new ModifySmsTemplateRequest();
-		req.setTemplateId(sms.getTemplateId());
-		req.setTemplateName(sms.getTemplateName());
-		req.setTemplateContent(sms.getTemplateContent());
-		req.setSmsType(sms.getSmsType());
-		req.setInternational(sms.getInternational());
-		req.setRemark(sms.getRemark());
-		// 返回的resp是一个ModifySmsTemplateResponse的实例,与请求对象对应
-		ModifySmsTemplateResponse resp = client.ModifySmsTemplate(req);
-		// 输出json格式的字符串回包
-		ModifySmsTemplateResponse.toJsonString(resp);
-
-	}
-
-	// 删除短信模板
-	public void delete(SmsTemplateVo sms) throws Exception {
-
-		SmsClient client = getClient();
-		// 实例化一个请求对象,每个接口都会对应一个request对象
-		DeleteSmsTemplateRequest req = new DeleteSmsTemplateRequest();
-		req.setTemplateId(sms.getTemplateId());
-		// 返回的resp是一个DeleteSmsTemplateResponse的实例,与请求对象对应
-		DeleteSmsTemplateResponse resp = client.DeleteSmsTemplate(req);
-		// 输出json格式的字符串回包
-		DeleteSmsTemplateResponse.toJsonString(resp);
-
-	}
-
-	// 添加短信模板
-	public void add(SmsTemplateVo sms) throws Exception {
-
-		SmsClient client = getClient();
-		// 实例化一个请求对象,每个接口都会对应一个request对象
-		AddSmsTemplateRequest req = new AddSmsTemplateRequest();
-		req.setTemplateName(sms.getTemplateName());
-		req.setTemplateContent(sms.getTemplateContent());
-		req.setSmsType(sms.getSmsType());
-		req.setInternational(sms.getInternational());
-		req.setRemark(sms.getRemark());
-		// 返回的resp是一个AddSmsTemplateResponse的实例,与请求对象对应
-		AddSmsTemplateResponse resp = client.AddSmsTemplate(req);
-		// 输出json格式的字符串回包
-		AddTemplateStatus templateStatus = resp.getAddTemplateStatus();
-		String templateId = templateStatus.getTemplateId();
-		sms.setStatusCode(2);
-		if (StringUtils.isNotBlank(templateId)) {
-			sms.setTemplateId(Long.valueOf(templateId));
-			sms.setStatusCode(1);
-		}
-
-	}
-
-	/**
-	 * 短信发送客户端
-	 * 
-	 * @return
-	 */
-	private SmsClient getClient() {
-		List<DictDetailDto> dicts = dictDetailService.getDictByName("sms_msg");
-		Map<String, String> map = new HashMap<>();
-		for (DictDetailDto dict : dicts) {
-			map.put(dict.getLabel(), dict.getValue());
-		}
-		String secretId = map.get("secretId");
-		String secretKey = map.get("secretKey");
-		String endpoint = map.get("endpoint");
-		String region = map.get("region");
-		// 实例化一个认证对象,入参需要传入腾讯云账户secretId,secretKey,此处还需注意密钥对的保密
-		// 密钥可前往https://console.cloud.tencent.com/cam/capi网站进行获取
-		Credential cred = new Credential(secretId, secretKey);
-		// 实例化一个http选项,可选的,没有特殊需求可以跳过
-		HttpProfile httpProfile = new HttpProfile();
-		httpProfile.setEndpoint(endpoint);
-		// 实例化一个client选项,可选的,没有特殊需求可以跳过
-		ClientProfile clientProfile = new ClientProfile();
-		clientProfile.setHttpProfile(httpProfile);
-		// 实例化要请求产品的client对象,clientProfile是可选的
-		SmsClient client = new SmsClient(cred, region, clientProfile);
-		return client;
-	}
-}

+ 1 - 107
eladmin-system/src/main/java/me/zhengjie/base/util/TencentServiceUtil.java

@@ -309,113 +309,7 @@ public class TencentServiceUtil {
         }
     }
 
-    /**
-     * 发送短信
-     * @param phone
-     * @param code
-     * @param time
-     * @return
-     */
-    public static String sendMsg(String phone, String code, String time) {
-        try {
-            /*
-             * 必要步骤: 实例化一个认证对象,入参需要传入腾讯云账户密钥对secretId,secretKey。
-             * 这里采用的是从环境变量读取的方式,需要在环境变量中先设置这两个值。 你也可以直接在代码中写死密钥对,但是小心不要将代码复制、上传或者分享给他人,
-             * 以免泄露密钥对危及你的财产安全。 CAM密匙查询: https://console.cloud.tencent.com/cam/capi
-             */
-            Credential cred = new Credential(SECRET_ID, SECRET_KEY);
-            // 实例化一个http选项,可选,没有特殊需求可以跳过
-            HttpProfile httpProfile = new HttpProfile();
-            // 设置代理
-            // httpProfile.setProxyHost("真实代理ip");
-            // httpProfile.setProxyPort(真实代理端口);
-            /*
-             * SDK默认使用POST方法。 如果你一定要使用GET方法,可以在这里设置。GET方法无法处理一些较大的请求
-             */
-            httpProfile.setReqMethod("POST");
-            /*
-             * SDK有默认的超时时间,非必要请不要进行调整 如有需要请在代码中查阅以获取最新的默认值
-             */
-            httpProfile.setConnTimeout(60);
-            /*
-             * SDK会自动指定域名。通常是不需要特地指定域名的,但是如果你访问的是金融区的服务 则必须手动指定域名,例如sms的上海金融区域名:
-             * sms.ap-shanghai-fsi.tencentcloudapi.com
-             */
-            httpProfile.setEndpoint("sms.tencentcloudapi.com");
-
-            /*
-             * 非必要步骤: 实例化一个客户端配置对象,可以指定超时时间等配置
-             */
-            ClientProfile clientProfile = new ClientProfile();
-            /*
-             * SDK默认用TC3-HMAC-SHA256进行签名 非必要请不要修改这个字段
-             */
-            clientProfile.setSignMethod("HmacSHA256");
-            clientProfile.setHttpProfile(httpProfile);
-            /*
-             * 实例化要请求产品(以sms为例)的client对象 第二个参数是地域信息,可以直接填写字符串ap-guangzhou,或者引用预设的常量
-             */
-            SmsClient client = new SmsClient(cred, "ap-guangzhou", clientProfile);
-            /*
-             * 实例化一个请求对象,根据调用的接口和实际情况,可以进一步设置请求参数 你可以直接查询SDK源码确定接口有哪些属性可以设置
-             * 属性可能是基本类型,也可能引用了另一个数据结构 推荐使用IDE进行开发,可以方便的跳转查阅各个接口和数据结构的文档说明
-             */
-            SendSmsRequest req = new SendSmsRequest();
-            /*
-             * 填充请求参数,这里request对象的成员变量即对应接口的入参 你可以通过官网接口文档或跳转到request对象的定义处查看请求参数的定义
-             * 基本类型的设置: 帮助链接: 短信控制台: https://console.cloud.tencent.com/smsv2 sms helper:
-             * https://cloud.tencent.com/document/product/382/3773
-             */
-            /* 短信应用ID: 短信SdkAppId在 [短信控制台] 添加应用后生成的实际SdkAppId,示例如1400006666 */
-            String sdkAppId = "1400625259";
-            req.setSmsSdkAppId(sdkAppId);
-
-            /* 短信签名内容: 使用 UTF-8 编码,必须填写已审核通过的签名,签名信息可登录 [短信控制台] 查看 */
-            String signName = "苏州展翼天创数字科技有限";
-            req.setSignName(signName);
-
-            /* 国际/港澳台短信 SenderId: 国内短信填空,默认未开通,如需开通请联系 [sms helper] */
-            String senderid = "";
-            req.setSenderId(senderid);
-
-            /* 用户的 session 内容: 可以携带用户侧 ID 等上下文信息,server 会原样返回 */
-            String sessionContext = "xxx";
-            req.setSessionContext(sessionContext);
-
-            /* 短信号码扩展号: 默认未开通,如需开通请联系 [sms helper] */
-            String extendCode = "";
-            req.setExtendCode(extendCode);
-
-            /* 模板 ID: 必须填写已审核通过的模板 ID。模板ID可登录 [短信控制台] 查看 */
-            String templateId = "1281636";
-            req.setTemplateId(templateId);
-
-            /*
-             * 下发手机号码,采用 E.164 标准,+[国家或地区码][手机号] 示例如:+8613711112222, 其中前面有一个+号
-             * ,86为国家码,13711112222为手机号,最多不要超过200个手机号
-             */
-            String[] phoneNumberSet = { phone };
-            req.setPhoneNumberSet(phoneNumberSet);
-
-            /* 模板参数: 若无模板参数,则设置为空 */
-            String[] templateParamSet = { code, time };
-            req.setTemplateParamSet(templateParamSet);
-
-            /*
-             * 通过 client 对象调用 SendSms 方法发起请求。注意请求方法名与请求对象是对应的 返回的 res 是一个 SendSmsResponse
-             * 类的实例,与请求对象对应
-             */
-            SendSmsResponse res = client.SendSms(req);
-            return SendSmsResponse.toJsonString(res);
-            // 输出json格式的字符串回包
-            // System.out.println();
-            // 也可以取出单个值,你可以通过官网接口文档或跳转到response对象的定义处查看返回字段的定义
-            // System.out.println(res.getRequestId());
-        } catch (TencentCloudSDKException e) {
-            e.printStackTrace();
-            return null;
-        }
-    }
+   
 
     /**
      * 输出文件