From 15ea9064ecdfbb9c90a1e5123f2f60e0e94c5b9f Mon Sep 17 00:00:00 2001 From: tj <1378534974@qq.com> Date: 星期四, 17 四月 2025 15:50:37 +0800 Subject: [PATCH] 1.对接火山云短信 --- src/main/java/com/mzl/flower/service/impl/sms/TosSmsServiceImpl.java | 67 +++++++++++ src/main/java/com/mzl/flower/web/v2/sms/TosSmsController.java | 55 +++++++++ src/main/java/com/mzl/flower/config/sms/TosSmsProperties.java | 18 +++ src/main/java/com/mzl/flower/config/oss/TosOssProperties.java | 4 src/main/java/com/mzl/flower/service/sms/TosSmsService.java | 31 +++++ pom.xml | 26 ++- src/main/java/com/mzl/flower/config/oss/TosClientConfig.java | 5 src/main/java/com/mzl/flower/service/oss/TosOssService.java | 17 +- src/main/java/com/mzl/flower/config/ResourceServerConfig.java | 3 src/main/java/com/mzl/flower/utils/SmsUtil.java | 34 +++++ src/main/java/com/mzl/flower/config/sms/TosSmsServiceConfig.java | 23 +++ src/main/java/com/mzl/flower/web/supplier/SupplierController.java | 11 - src/main/java/com/mzl/flower/service/impl/sms/SmsTaskServiceImpl.java | 17 +- src/main/java/com/mzl/flower/service/register/SmsService.java | 26 ++- src/main/resources/application.yml | 10 + 15 files changed, 293 insertions(+), 54 deletions(-) diff --git a/pom.xml b/pom.xml index 2aa773d..e458d3d 100644 --- a/pom.xml +++ b/pom.xml @@ -241,16 +241,16 @@ <artifactId>wx-java-mp-spring-boot-starter</artifactId> <version>4.1.0</version> </dependency> -<!-- <dependency>--> -<!-- <groupId>com.aliyuncs</groupId>--> -<!-- <artifactId>core</artifactId>--> -<!-- <version>1</version>--> -<!-- </dependency>--> -<!-- <dependency>--> -<!-- <groupId>com.aliyuncs</groupId>--> -<!-- <artifactId>dysmsapi</artifactId>--> -<!-- <version>1</version>--> -<!-- </dependency>--> + <dependency> + <groupId>com.aliyuncs</groupId> + <artifactId>core</artifactId> + <version>1</version> + </dependency> + <dependency> + <groupId>com.aliyuncs</groupId> + <artifactId>dysmsapi</artifactId> + <version>1</version> + </dependency> <dependency> <groupId>com.github.wechatpay-apiv3</groupId> @@ -310,6 +310,12 @@ <version>2.8.8</version> </dependency> + <dependency> + <groupId>com.volcengine</groupId> + <artifactId>volc-sdk-java</artifactId> + <version>1.0.105</version> + </dependency> + diff --git a/src/main/java/com/mzl/flower/config/ResourceServerConfig.java b/src/main/java/com/mzl/flower/config/ResourceServerConfig.java index 9dc9ce7..6869517 100644 --- a/src/main/java/com/mzl/flower/config/ResourceServerConfig.java +++ b/src/main/java/com/mzl/flower/config/ResourceServerConfig.java @@ -70,6 +70,9 @@ // 微信支付暂时测试 .antMatchers("/v2/wechat/**").permitAll() +// 短信 + .antMatchers("/v2/tos/sms/**").permitAll() + .antMatchers("/api/**").authenticated();//配置访问控制,必须认证过后才可以访问 } diff --git a/src/main/java/com/mzl/flower/config/TosClientConfig.java b/src/main/java/com/mzl/flower/config/oss/TosClientConfig.java similarity index 78% rename from src/main/java/com/mzl/flower/config/TosClientConfig.java rename to src/main/java/com/mzl/flower/config/oss/TosClientConfig.java index 557b5d5..ba00bb2 100644 --- a/src/main/java/com/mzl/flower/config/TosClientConfig.java +++ b/src/main/java/com/mzl/flower/config/oss/TosClientConfig.java @@ -1,8 +1,7 @@ -package com.mzl.flower.config; +package com.mzl.flower.config.oss; import com.volcengine.tos.TOSV2; import com.volcengine.tos.TOSV2ClientBuilder; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; @@ -12,7 +11,7 @@ public class TosClientConfig { @Resource - private TosProperties properties; + private TosOssProperties properties; @Bean public TOSV2 tosClient() { diff --git a/src/main/java/com/mzl/flower/config/TosProperties.java b/src/main/java/com/mzl/flower/config/oss/TosOssProperties.java similarity index 83% rename from src/main/java/com/mzl/flower/config/TosProperties.java rename to src/main/java/com/mzl/flower/config/oss/TosOssProperties.java index 6d966cd..fed7f5c 100644 --- a/src/main/java/com/mzl/flower/config/TosProperties.java +++ b/src/main/java/com/mzl/flower/config/oss/TosOssProperties.java @@ -1,4 +1,4 @@ -package com.mzl.flower.config; +package com.mzl.flower.config.oss; import lombok.Data; import org.springframework.boot.context.properties.ConfigurationProperties; @@ -7,7 +7,7 @@ @Data @Component @ConfigurationProperties(prefix = "tos-oss") -public class TosProperties { +public class TosOssProperties { private String endpoint; private String region; diff --git a/src/main/java/com/mzl/flower/config/sms/TosSmsProperties.java b/src/main/java/com/mzl/flower/config/sms/TosSmsProperties.java new file mode 100644 index 0000000..ad7b849 --- /dev/null +++ b/src/main/java/com/mzl/flower/config/sms/TosSmsProperties.java @@ -0,0 +1,18 @@ +package com.mzl.flower.config.sms; + +import lombok.Data; +import org.springframework.boot.context.properties.ConfigurationProperties; +import org.springframework.stereotype.Component; + +@Data +@Component +@ConfigurationProperties(prefix = "tos-sms") +public class TosSmsProperties { + + private String keyid; + private String keysecret; + private String smsAccount; + private String templateId; + private String sign; + +} diff --git a/src/main/java/com/mzl/flower/config/sms/TosSmsServiceConfig.java b/src/main/java/com/mzl/flower/config/sms/TosSmsServiceConfig.java new file mode 100644 index 0000000..d750e90 --- /dev/null +++ b/src/main/java/com/mzl/flower/config/sms/TosSmsServiceConfig.java @@ -0,0 +1,23 @@ +package com.mzl.flower.config.sms; + +import com.mzl.flower.service.sms.TosSmsService; +import com.volcengine.service.sms.SmsService; +import com.volcengine.service.sms.SmsServiceInfoConfig; +import com.volcengine.service.sms.impl.SmsServiceImpl; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; + +import javax.annotation.Resource; + +@Configuration +public class TosSmsServiceConfig { + + @Resource + private TosSmsProperties tosSmsProperties; + + @Bean(name = "volcSmsService") + public SmsService smsService() { + return SmsServiceImpl.getInstance(new SmsServiceInfoConfig(tosSmsProperties.getKeyid(), tosSmsProperties.getKeysecret())); + } + +} diff --git a/src/main/java/com/mzl/flower/service/impl/sms/SmsTaskServiceImpl.java b/src/main/java/com/mzl/flower/service/impl/sms/SmsTaskServiceImpl.java index 48ff656..1c05dcd 100644 --- a/src/main/java/com/mzl/flower/service/impl/sms/SmsTaskServiceImpl.java +++ b/src/main/java/com/mzl/flower/service/impl/sms/SmsTaskServiceImpl.java @@ -5,6 +5,7 @@ import com.aliyun.oss.OSSClientBuilder; import com.aliyun.oss.OSSException; import com.aliyun.oss.model.GetObjectRequest; +import com.aliyuncs.dysmsapi.model.v20170525.SendSmsResponse; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.fasterxml.jackson.databind.JsonNode; @@ -420,14 +421,14 @@ String templateCode = smsTemplateDO.getCode(); for (SmsTaskDetailDO detail : smsTaskDetailDOList) { try { -// SendSmsResponse sendSmsResponse = SmsUtil.sendSms(detail.getPhone(), templateCode, null); -// if("OK".equals(sendSmsResponse.getCode())){ -// detail.setResult(Constants.SMS_SEND_RESULT.success.name()); -// }else{ -// detail.setFailReason(sendSmsResponse.getMessage()); -// detail.setResult(Constants.SMS_SEND_RESULT.failure.name()); -// } -// detail.setResponseResult(sendSmsResponse.toString()); + SendSmsResponse sendSmsResponse = SmsUtil.sendSms(detail.getPhone(), templateCode, null); + if("OK".equals(sendSmsResponse.getCode())){ + detail.setResult(Constants.SMS_SEND_RESULT.success.name()); + }else{ + detail.setFailReason(sendSmsResponse.getMessage()); + detail.setResult(Constants.SMS_SEND_RESULT.failure.name()); + } + detail.setResponseResult(sendSmsResponse.toString()); } catch (Exception e) { detail.setResult(Constants.SMS_SEND_RESULT.failure.name()); System.err.println("Failed to send SMS to " + detail.getPhone() + ": " + e.getMessage()); diff --git a/src/main/java/com/mzl/flower/service/impl/sms/TosSmsServiceImpl.java b/src/main/java/com/mzl/flower/service/impl/sms/TosSmsServiceImpl.java new file mode 100644 index 0000000..3704216 --- /dev/null +++ b/src/main/java/com/mzl/flower/service/impl/sms/TosSmsServiceImpl.java @@ -0,0 +1,67 @@ +package com.mzl.flower.service.impl.sms; + +import com.mzl.flower.config.sms.TosSmsProperties; +import com.mzl.flower.service.sms.TosSmsService; +import com.volcengine.model.request.SmsSendRequest; +import com.volcengine.model.response.SmsSendResponse; +import com.volcengine.service.sms.SmsService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Qualifier; +import org.springframework.stereotype.Service; + +import java.util.HashMap; +import java.util.Map; + +@Service +public class TosSmsServiceImpl implements TosSmsService { + + @Autowired + private TosSmsProperties tosSmsProperties; + + @Autowired + @Qualifier("volcSmsService") + private SmsService smsService; + + @Override + public SmsSendResponse sendSms(SmsSendRequest request) { + SmsSendResponse response = null; + try { + response = smsService.sendV2(request); + } catch (Exception e) { + throw new RuntimeException(e); + } + return response; + } + + @Override + public SmsSendResponse sendSms(String phonenum, Map<String, String> params) { + SmsSendRequest req = new SmsSendRequest(); + req.setPhoneNumbers(phonenum); + req.setSmsAccount(tosSmsProperties.getSmsAccount()); + req.setTemplateId(tosSmsProperties.getTemplateId()); + req.setSign(tosSmsProperties.getSign()); + req.setTemplateParamByMap(params); + try { + SmsSendResponse smsSendResponse = smsService.sendV2(req); + return smsSendResponse; + } catch (Exception e) { + throw new RuntimeException(e); + } + } + + @Override + public SmsSendResponse sendSms(String phonenum, Map<String, String> params, String smsAccount, String templateId, String sign) { + SmsSendRequest req = new SmsSendRequest(); + req.setPhoneNumbers(phonenum); + req.setSmsAccount(smsAccount); + req.setTemplateId(templateId); + req.setSign(sign); + req.setTemplateParamByMap(params); + try { + SmsSendResponse smsSendResponse = smsService.sendV2(req); + return smsSendResponse; + } catch (Exception e) { + throw new RuntimeException(e); + } + } +} diff --git a/src/main/java/com/mzl/flower/service/TosService.java b/src/main/java/com/mzl/flower/service/oss/TosOssService.java similarity index 80% rename from src/main/java/com/mzl/flower/service/TosService.java rename to src/main/java/com/mzl/flower/service/oss/TosOssService.java index ad096ce..3e90ce7 100644 --- a/src/main/java/com/mzl/flower/service/TosService.java +++ b/src/main/java/com/mzl/flower/service/oss/TosOssService.java @@ -1,7 +1,7 @@ -package com.mzl.flower.service; +package com.mzl.flower.service.oss; -import com.mzl.flower.config.TosProperties; +import com.mzl.flower.config.oss.TosOssProperties; import com.mzl.flower.config.exception.ValidationException; import com.mzl.flower.utils.UUIDGenerator; import com.volcengine.tos.TOSV2; @@ -13,26 +13,25 @@ import com.volcengine.tos.model.object.PutObjectInput; import com.volcengine.tos.model.object.PutObjectOutput; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; import java.io.IOException; import java.io.InputStream; @Service -public class TosService { +public class TosOssService { @Autowired private TOSV2 tosClient; @Autowired - private TosProperties tosProperties; + private TosOssProperties tosOssProperties; private String upladPre="https://"; - public TosService(TOSV2 tosClient) { + public TosOssService(TOSV2 tosClient) { this.tosClient = tosClient; } @@ -40,7 +39,7 @@ public String uploadFile(String objectKey, String filePath) throws IOException { try { PutObjectFromFileInput input = new PutObjectFromFileInput() - .setBucket(tosProperties.getBucketname()).setKey(objectKey).setFilePath(filePath); + .setBucket(tosOssProperties.getBucketname()).setKey(objectKey).setFilePath(filePath); PutObjectFromFileOutput output = tosClient.putObjectFromFile(input); return "Upload success! ETag: " + output.getEtag(); @@ -58,12 +57,12 @@ filename = uuid + filename; String dir = uuid.substring(0, 2); filename = dir + "/" + filename; - PutObjectInput putObjectInput = new PutObjectInput().setBucket(tosProperties.getBucketname()).setKey(filename).setContent(inputStream); + PutObjectInput putObjectInput = new PutObjectInput().setBucket(tosOssProperties.getBucketname()).setKey(filename).setContent(inputStream); PutObjectOutput output = tosClient.putObject(putObjectInput); // System.out.println("putObject succeed, object's etag is " + output.getEtag()); // System.out.println("putObject succeed, object's crc64 is " + output.getHashCrc64ecma()); // https://edu-mys.oss-cn-chengdu.aliyuncs.com/yy.JPG - String url = upladPre+tosProperties.getBucketname() + "." + tosProperties.getEndpoint() + "/" + filename; + String url = upladPre+ tosOssProperties.getBucketname() + "." + tosOssProperties.getEndpoint() + "/" + filename; return url; } catch (TosClientException | TosServerException e) { throw new ValidationException("上传到云服务器发生异常"); diff --git a/src/main/java/com/mzl/flower/service/register/SmsService.java b/src/main/java/com/mzl/flower/service/register/SmsService.java index 61e3e75..3ac2b11 100644 --- a/src/main/java/com/mzl/flower/service/register/SmsService.java +++ b/src/main/java/com/mzl/flower/service/register/SmsService.java @@ -5,8 +5,10 @@ import com.mzl.flower.config.exception.ValidationException; import com.mzl.flower.constant.Constants; import com.mzl.flower.dto.request.SmsSendDTO; +import com.mzl.flower.service.sms.TosSmsService; import com.mzl.flower.utils.SmsUtil; import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -25,6 +27,10 @@ private final SmsProperties smsProperties; private final StringCacheClient stringCacheClient; + + @Autowired + private TosSmsService tosSmsService; + public SmsService(SmsProperties smsProperties, StringCacheClient stringCacheClient) { this.smsProperties = smsProperties; @@ -50,8 +56,8 @@ if(existsCode(dto.getTel())){ throw new ValidationException("短信验证码已发送,请勿频繁发送"); } -// String smsCode = generateSmsCode(); - String smsCode ="888888"; + String smsCode = generateSmsCode(); +// String smsCode ="888888"; String key; if(Constants.USER_TYPE.admin.name().equals(dto.getUserType())){ key = SMS_CODE_KEY + SEPARATOR + Constants.USER_TYPE.admin.name() + SEPARATOR + dto.getTel(); @@ -67,15 +73,15 @@ Map<String, String> paramMap = new HashMap<>(); paramMap.put("code", smsCode); -// try { -// //暂时不实际发送验证码 + try { + //暂时不实际发送验证码 // SmsUtil.sendSms(dto.getTel(),smsProperties.getVerificationCode(),paramMap); - stringCacheClient.set(SMS_CODE_KEY + SEPARATOR + SEPARATOR + dto.getTel(),smsCode,60); - stringCacheClient.set(key,smsCode,600); -// } catch (ClientException e) { -// throw new RuntimeException("短信发送失败"); -// } - //todo 发送短信 + tosSmsService.sendSms(dto.getTel(),paramMap); + stringCacheClient.set(SMS_CODE_KEY + SEPARATOR + SEPARATOR + dto.getTel(),smsCode,60); + stringCacheClient.set(key,smsCode,600); + } catch (Exception e) { + throw new RuntimeException("短信发送失败"); + } } private boolean existsCode(String tel) { diff --git a/src/main/java/com/mzl/flower/service/sms/TosSmsService.java b/src/main/java/com/mzl/flower/service/sms/TosSmsService.java new file mode 100644 index 0000000..8a6ed4e --- /dev/null +++ b/src/main/java/com/mzl/flower/service/sms/TosSmsService.java @@ -0,0 +1,31 @@ +package com.mzl.flower.service.sms; + +import com.volcengine.model.request.SmsSendRequest; +import com.volcengine.model.response.SmsSendResponse; + +import java.util.Map; + +public interface TosSmsService { + + /** + * 根据封装的request来发送请求 + * @param request + * @return + */ + public SmsSendResponse sendSms(SmsSendRequest request); + + /** + * 使用默认配置的账户,模板id,签名 + * @param phonenum + * @param params + * @return + */ + + public SmsSendResponse sendSms(String phonenum, Map<String,String> params); + + + + public SmsSendResponse sendSms(String phonenum, Map<String,String> params,String smsAccount,String templateId,String sign); + + +} diff --git a/src/main/java/com/mzl/flower/utils/SmsUtil.java b/src/main/java/com/mzl/flower/utils/SmsUtil.java index 4c6eebc..84923af 100644 --- a/src/main/java/com/mzl/flower/utils/SmsUtil.java +++ b/src/main/java/com/mzl/flower/utils/SmsUtil.java @@ -3,6 +3,8 @@ import com.alibaba.fastjson.JSON; import com.aliyuncs.DefaultAcsClient; import com.aliyuncs.IAcsClient; +import com.aliyuncs.dysmsapi.model.v20170525.SendSmsRequest; +import com.aliyuncs.dysmsapi.model.v20170525.SendSmsResponse; import com.aliyuncs.exceptions.ClientException; import com.aliyuncs.profile.DefaultProfile; import com.aliyuncs.profile.IClientProfile; @@ -18,9 +20,35 @@ static final String connectTime = "30000"; static final String readTime = "30000"; - static final String keyId = "LTAI5tFGHa9bwhuEDKH6YPnc"; + static final String keyId = "LTAI5tRr7uLjPPxzGMJPH6fz"; + static final String keySecret = "GiOamDfkVP4TWiNnuSptyGQLuMRBMG"; - static final String keySecret = "BrY0BM4pvDXhVKOMLsXzgzlhVe1keQ"; - static final String signName = "云南花满芫花卉"; + static final String signName = "苏州云游四方信息科技"; + + public static SendSmsResponse sendSms(final String tel, final String templateCode, Object paramMap) throws ClientException { + return sendSms(tel, templateCode, JSON.toJSONString(paramMap)); + } + + public static SendSmsResponse sendSms(final String tel, final String templateCode, final String templateParam) throws ClientException { + return sendSms(tel, templateCode, templateParam, null); + } + + public static SendSmsResponse sendSms(final String tel, final String templateCode, final String templateParam, final String outId) throws ClientException { + log.info("Send SMS [mobile no:" + tel + " templateCode:" + templateCode + " templateParam:" + templateParam + "]"); + System.setProperty("sun.net.client.defaultConnectTimeout", connectTime); + System.setProperty("sun.net.client.defaultReadTimeout", readTime); + IClientProfile profile = DefaultProfile.getProfile("cn-hangzhou", keyId, keySecret); + DefaultProfile.addEndpoint("cn-hangzhou", "cn-hangzhou", product, domain); + IAcsClient acsClient = new DefaultAcsClient(profile); + SendSmsRequest request = new SendSmsRequest(); + request.setPhoneNumbers(tel); + request.setSignName(signName); + request.setTemplateCode(templateCode); + request.setTemplateParam(templateParam); + request.setOutId(outId); + SendSmsResponse sendSmsResponse = acsClient.getAcsResponse(request); + log.info("Send SMS [mobile no:" + tel + " templateCode:" + templateCode + " templateParam:" + templateParam + "] result: " + sendSmsResponse.getCode() + " " + sendSmsResponse.getMessage()); + return sendSmsResponse; + } } diff --git a/src/main/java/com/mzl/flower/web/supplier/SupplierController.java b/src/main/java/com/mzl/flower/web/supplier/SupplierController.java index a0fdd16..f411b57 100644 --- a/src/main/java/com/mzl/flower/web/supplier/SupplierController.java +++ b/src/main/java/com/mzl/flower/web/supplier/SupplierController.java @@ -6,17 +6,15 @@ import com.mzl.flower.base.ReturnDataDTO; import com.mzl.flower.config.exception.ValidationException; import com.mzl.flower.config.security.SecurityUtils; -import com.mzl.flower.constant.Constants; import com.mzl.flower.dto.request.supplier.*; import com.mzl.flower.dto.response.supplier.SupplierDTO; import com.mzl.flower.entity.customer.Customer; -import com.mzl.flower.service.TosService; +import com.mzl.flower.service.oss.TosOssService; import com.mzl.flower.service.customer.CustomerService; import com.mzl.flower.service.supplier.SupplierService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; -import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.ResponseEntity; import org.springframework.validation.annotation.Validated; @@ -25,9 +23,6 @@ import javax.validation.constraints.NotNull; -import java.util.UUID; - -import static com.google.common.io.Files.getFileExtension; import static sun.font.CreatedFontTracker.MAX_FILE_SIZE; @RestController @@ -44,7 +39,7 @@ private CustomerService customerService; @Autowired - private TosService tosService; + private TosOssService tosOssService; public SupplierController(SupplierService supplierService) { this.supplierService = supplierService; @@ -96,7 +91,7 @@ String newFileName = originalFilename + (extension != null ? extension : ""); // 4. 上传到 OSS - avatarUrl = tosService.uploadFile( avatar.getInputStream(),newFileName); + avatarUrl = tosOssService.uploadFile( avatar.getInputStream(),newFileName); } // 5. 更新用户信息 diff --git a/src/main/java/com/mzl/flower/web/v2/sms/TosSmsController.java b/src/main/java/com/mzl/flower/web/v2/sms/TosSmsController.java new file mode 100644 index 0000000..2369f52 --- /dev/null +++ b/src/main/java/com/mzl/flower/web/v2/sms/TosSmsController.java @@ -0,0 +1,55 @@ +package com.mzl.flower.web.v2.sms; + +import com.mzl.flower.base.BaseController; +import com.mzl.flower.base.R; +import com.mzl.flower.base.ReturnDataDTO; +import com.mzl.flower.config.sms.TosSmsProperties; +import com.mzl.flower.dto.request.sms.SmsTaskDTO; +import com.mzl.flower.service.sms.TosSmsService; +import com.volcengine.model.request.SmsSendRequest; +import com.volcengine.model.response.SmsSendResponse; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.RequiredArgsConstructor; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.http.ResponseEntity; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import java.io.IOException; +import java.util.HashMap; +import java.util.Map; + +@Api(value = "火山短信", tags = "火山短信") +@RestController +@RequestMapping("/v2/tos/sms") +public class TosSmsController extends BaseController { + + @Autowired + private TosSmsService tosSmsService; + + @Autowired + private TosSmsProperties tosSmsProperties; + + private String template=""; + + @PostMapping(value = "/send") + @ApiOperation(value = "发送短信任务", httpMethod = "POST") + public ResponseEntity<ReturnDataDTO> send() throws IOException { + SmsSendRequest req = new SmsSendRequest(); + req.setPhoneNumbers("17768997336"); + req.setSmsAccount(tosSmsProperties.getSmsAccount()); + req.setTemplateId(tosSmsProperties.getTemplateId()); + req.setSign(tosSmsProperties.getSign()); + + Map<String,String> param = new HashMap<>(); + param.put("code","123456"); + req.setTemplateParamByMap(param); + SmsSendResponse smsSendResponse = tosSmsService.sendSms(req); + return returnData(R.SUCCESS.getCode(), smsSendResponse); + } + + +} diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml index ba93892..b7a9bb2 100644 --- a/src/main/resources/application.yml +++ b/src/main/resources/application.yml @@ -74,6 +74,14 @@ bucketname: smart-manager-new # bucketname: zhixinguanjia +tos-sms: + keyid: AKLTNTFmOTFkMDg3ZDRmNGZkMmFkOTBmMTcyZmM4N2MyMmY + keysecret: TW1FelpUY3lOalkxWWpjMk5HWTNOV0ZtWVdWa1lURTNNRE13WVdJMVkySQ== + smsAccount: 834e37c1 + templateId: ST_83652388 + sign: 智信管家 + + wx: miniapp: appid: wx1441324401626290 #小程序appId 花店端 @@ -97,7 +105,7 @@ sms: - verificationCode: SMS_301300012 #验证码通用模版 + verificationCode: SMS_317055406 #验证码通用模版 map: tengxun: -- Gitblit v1.9.3